Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 849 → Rev 850

/trunk/src/org/tela_botanica/client/vues/PersonneForm.java
19,6 → 19,7
import org.tela_botanica.client.modeles.Configuration;
 
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.MenuApplicationId;
import org.tela_botanica.client.modeles.Personne;
import org.tela_botanica.client.modeles.PersonneListe;
import org.tela_botanica.client.modeles.Projet;
65,6 → 66,7
import com.extjs.gxt.ui.client.widget.form.TextArea;
import com.extjs.gxt.ui.client.widget.form.TextField;
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
78,11 → 80,11
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.user.client.ui.Widget;
 
public class PersonneForm extends FormPanel implements Rafraichissable {
public class PersonneForm extends Formulaire implements Rafraichissable {
 
// VARIABLES
private TabItem tiIdentite, tiAdresses, tiInfosNat;
private Mediateur mediateur = Registry.get(RegistreId.MEDIATEUR);
private Mediateur mediateur;
private Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
private Personne personneSelectionnee, personneSauvegarde = null;
private String mode = "";
98,14 → 100,30
public static final String MODE_AJOUTER = "AJOUT";
public static final String MODE_MODIFIER = "MODIF";
 
private final String personneId;
private FormBinding binding = null;
// CONSTRUCTEUR
public PersonneForm(String mode) {
this.mode = mode;
public PersonneForm(Mediateur mediateur, String mode, String personneId) {
this.personneId = personneId;
this.mediateur = mediateur;
initialiserFormulaire(mediateur, mode, MenuApplicationId.PERSONNE);
initialiserComposants();
String titreFormulaire = "";
if (mode.equals(MODE_MODIFIER)) {
titreFormulaire = mediateur.i18nC.personneModeModifier() + " ID: " + personneId;
} else {
titreFormulaire = mediateur.i18nC.personneModeAjout();
}
panneauFormulaire.setHeading(titreFormulaire);
}
public void initialiserComposants() {
112,53 → 130,15
personneSelectionnee = new Personne();
personneSauvegarde = new Personne();
initialiserPanneau();
ButtonBar barreOutilsBas = new ButtonBar();
//barreOutilsBas.setButtonAlign(HorizontalAlignment.CENTER);
barreOutilsBas.setAlignment(HorizontalAlignment.CENTER);
ajouterBoutonEnregistrer(barreOutilsBas);
ajouterBoutonEnregistrerEtRevenir(barreOutilsBas);
ajouterBoutonAnnuler(barreOutilsBas);
gererEtatActivationBouton();
setBottomComponent(barreOutilsBas);
ToolBar barreOutilsHaut = new ToolBar();
ajouterBoutonReinitialiser(barreOutilsHaut);
setTopComponent(barreOutilsHaut);
initialiserOnglets();
creerComposantsIdentite();
creerComposantsAdresse();
creerComposantsInfosNat();
layout();
binderPersonne(personneSelectionnee);
}
// SOUS-METHODES
 
public void initialiserPanneau() {
setCollapsible(false);
if (this.mode.equals(MODE_AJOUTER)) {
setHeading(mediateur.i18nC.personneModeAjout());
setIcon(Images.ICONES.ajouter());
} else {
setHeading(mediateur.i18nC.personneModeModifier());
setIcon(Images.ICONES.formModifier());
}
setButtonAlign(HorizontalAlignment.CENTER);
setLayout(new FitLayout());
setBodyBorder(false);
setBorders(false);
setPadding(0);
setWidth("100%");
}
/**
* Crée les onglets identité, adresse et informations naturaliste
*
187,7 → 167,7
tiInfosNat.setScrollMode(Scroll.AUTO);
formulaireOnglets.add(tiInfosNat);
add(formulaireOnglets);
getFormulaire().add(formulaireOnglets);
}
/**
638,25 → 618,8
tiInfosNat.add(fsInfosNat);
}
/**
* Ajouter le bouton réinitialiser à la barre d'outils donnée
*
* @param barreOutils la barre d'outils à modifier
* */
public void ajouterBoutonReinitialiser(ToolBar barreOutils) {
//Le bouton réintialiser recharge la page sans sauvegarder les informations
Button reinitialiser = new Button("Réinitialiser le formulaire");
reinitialiser.setIcon(Images.ICONES.rafraichir());
reinitialiser.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
//((Mediateur) Registry.get(RegistreId.MEDIATEUR)).clicAjouterPersonne();
reinitialiser();
}
});
barreOutils.add(reinitialiser);
}
/**
* Ajouter le bouton Sauvegarder et revenir à la liste à la barre d'outils donnée
*
969,7 → 932,6
* -----------------------------------------------------*/
((ChampMultiValeurs) hmInfosNat.get("specialite")).peupler(personne.getString("ce_truk_specialite"));
System.out.println(personne.getString("truk_recolte"));
((ChampMultiValeursMultiTypes) hmInfosNat.get("recolte")).peupler(personne.getString("truk_recolte"));
gererEtatActivationBouton();
994,16 → 956,16
}
private void gererEtatActivationBouton() {
if (((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT)).isIdentifie() == false) {
/* if (((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT)).isIdentifie() == false) {
enregistrer.setEnabled(false);
enregistrerEtRevenir.setEnabled(false);
} else {
enregistrer.setEnabled(true);
enregistrerEtRevenir.setEnabled(true);
}
}*/
}
public void reinitialiser() {
public void reinitialiserFormulaire() {
mediateur.afficherPopinChargement();
mettreAJourPersonne(personneSauvegarde);
1013,7 → 975,7
}
public void binderPersonne(Personne personne) {
binding = new FormBinding(this);
binding = new FormBinding(getFormulaire());
personneSelectionnee = personne;
binding.autoBind();
1143,8 → 1105,6
success = false;
}
return success;
}
1171,4 → 1131,154
return strValeur;
}
 
@Override
protected SelectionListener<ButtonEvent> creerEcouteurValidation() {
SelectionListener<ButtonEvent> ecouteur = new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
String code = ((Button) ce.getComponent()).getData("code");
if (code.equals(FormulaireBarreValidation.CODE_BOUTON_VALIDER)) {
soumettreFormulaire();
clicBoutonvalidation = true;
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_APPLIQUER)) {
soumettreFormulaire();
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_ANNULER)) {
mediateur.clicMenu(menuIdCourant);
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_REINITIALISER)) {
reinitialiserFormulaire();
}
}
};
return ecouteur;
}
 
protected boolean soumettreFormulaire() {
if (verifierFormulaire()) {
mediateur.enregistrerPersonne(this, personneSelectionnee);
}
return true;
}
 
protected boolean verifierFormulaire() {
boolean success = false;
LinkedList lstMessageErreur = new LinkedList<String>();
ComboBox<Projet> cbProjets = (ComboBox<Projet>) hmIdentite.get("cbProjets");
Projet projet = cbProjets.getValue();
if (projet == null) {
lstMessageErreur.add("Le projet n'a pas été renseigné");
} else {
personneSelectionnee.set("ce_projet", projet.getId());
}
String strTfNom = ((TextField<String>) hmIdentite.get("tfNom")).getValue();
if ((strTfNom == null)||(strTfNom.trim().equals(""))) {
lstMessageErreur.add("Le nom n'a pas été saisi");
} else {
strTfNom = UtilString.ucFirst(strTfNom);
personneSelectionnee.set("nom", strTfNom);
}
String strTfPrenom = ((TextField<String>) hmIdentite.get("tfPrenom")).getValue();
personneSelectionnee.set("prenom", UtilString.ucFirst(strTfPrenom));
//Préparer les données
ComboBox combo = (ComboBox) hmIdentite.get("cbSexe");
Valeur valeur;
String strValeur = "";
valeur = (Valeur) combo.getValue();
if (valeur!=null) {
personneSelectionnee.set("ce_sexe", valeur.getId());
}
strValeur = obtenirValeurCombo("cbPrefixe");
personneSelectionnee.set("ce_truk_prefix", strValeur);
strValeur = obtenirValeurCombo("cbSuffixe");
personneSelectionnee.set("ce_truk_suffix", strValeur);
String nomAutre = ((ChampMultiValeurs) hmIdentite.get("nomAutre")).getValeurs();
personneSelectionnee.set("truk_nom_autre", nomAutre);
String abreviationAutre = ((ChampMultiValeurs) hmIdentite.get("abreviationAutre")).getValeurs();
personneSelectionnee.set("truk_abreviation_autre", abreviationAutre);
personneSelectionnee.set("truk_courriel", ((ChampMultiValeurs) hmIdentite.get("courriels")).getValeurs());
//Pour le nom complet, on enregistre dans la bdd la valeur du prefixe/suffixe et non l'id
String strPrefixe = "";
combo = (ComboBox) hmIdentite.get("cbPrefixe");
valeur = (Valeur) combo.getValue();
if (valeur != null) {
strPrefixe = valeur.getNom();
} else {
strPrefixe = combo.getRawValue();
}
String strSuffixe = "";
combo = (ComboBox) hmIdentite.get("cbSuffixe");
valeur = (Valeur) combo.getValue();
if (valeur != null) {
strSuffixe = valeur.getNom() + " ";
} else {
strSuffixe = combo.getRawValue() +" ";
}
personneSelectionnee.setFmtNomComplet(strPrefixe, strSuffixe);
DateField dfDateNaissance = (DateField) hmIdentite.get("dfDateNaissance");
Date naissanceDate = dfDateNaissance.getValue();
personneSelectionnee.setNaissanceDate(naissanceDate);
Radio rbEstDecedee = (Radio) hmIdentite.get("rbEstDecedee");
if (rbEstDecedee.getValue() == true) {
DateField dfDecesDate = (DateField) hmIdentite.get("dfDateDeces");
String decesLieu = ((TextField<String>) hmIdentite.get("tfLieuDeces")).getValue();
personneSelectionnee.setDeces(dfDecesDate.getValue(), decesLieu);
} else {
personneSelectionnee.setNonDecedee();
}
strValeur = obtenirValeurCombo("cbPays");
personneSelectionnee.set("ce_truk_pays", strValeur);
strValeur = obtenirValeurCombo("cbRegion");
personneSelectionnee.set("ce_truk_region", strValeur);
personneSelectionnee.set("truk_telephone", ((ChampMultiValeursMultiTypes) hmIdentite.get("telephones")).getValeurs());
String logoUrls = ((ChampMultiValeursImage) hmIdentite.get("logos")).getValeurs();
personneSelectionnee.set("truk_logo", logoUrls);
personneSelectionnee.set("truk_url", ((ChampMultiValeurs) hmIdentite.get("sites")).getValeurs());
//Infos Naturalistes
String recolte = ((ChampMultiValeursMultiTypes) hmInfosNat.get("recolte")).getValeurs();
personneSelectionnee.set("truk_recolte", recolte);
String specialite = ((ChampMultiValeurs) hmInfosNat.get("specialite")).getValeurs();
personneSelectionnee.set("ce_truk_specialite", specialite);
if (lstMessageErreur.size() == 0) {
success = true;
} else {
String strMessagesErreur = "<span><br />";
Iterator<String> itMessagesErreur = lstMessageErreur.iterator();
while (itMessagesErreur.hasNext()) {
strMessagesErreur += "<br /> - " + itMessagesErreur.next();
}
strMessagesErreur += "</span>";
MessageBox.alert("Erreurs", "Les erreurs suivantes ont été commises : \n" + strMessagesErreur, null);
success = false;
}
return success;
}
}