Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 455 → Rev 456

/trunk/src/org/tela_botanica/client/vues/PersonneForm.java
18,6 → 18,8
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.Personne;
import org.tela_botanica.client.modeles.PersonneListe;
import org.tela_botanica.client.modeles.Projet;
import org.tela_botanica.client.modeles.ProjetListe;
import org.tela_botanica.client.modeles.Valeur;
import org.tela_botanica.client.modeles.ValeurListe;
 
56,6 → 58,7
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
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.layout.ColumnData;
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
66,8 → 69,6
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.RadioButton;
import com.google.gwt.user.client.ui.Widget;
 
public class PersonneForm extends FormPanel implements Rafraichissable {
81,7 → 82,12
private Mediateur mediateur = Registry.get(RegistreId.MEDIATEUR);
private Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
private Personne personneSelectionnee, personneSauvegarde = null;
private String mode = "";
public static final String MODE_AJOUTER = "AJOUT";
public static final String MODE_MODIFIER = "MODIF";
private FormBinding binding = null;
/*--------------------------------------------------------------------------------------
96,7 → 102,9
* formulaire et annuler la saisie).
*
* */
public PersonneForm() {
public PersonneForm(String mode) {
this.mode = mode;
initialiserComposants();
}
198,6 → 206,7
public void creerComposantsIdentite() {
// Gestion de l'affichage en colonnes : 3 Layout container : principal, gauche & droite
LayoutContainer left = new LayoutContainer();
left.setLayout(new FormLayout());
208,17 → 217,39
LayoutContainer main = new LayoutContainer();
main.setLayout(new ColumnLayout());
main.add(left, new ColumnData(.49));
main.add(right, new ColumnData(.49));
main.add(left, new ColumnData(.5));
main.add(right, new ColumnData(.5));
// Création des champs
FormLayout formLayout = new FormLayout();
formLayout.setLabelAlign(LabelAlign.LEFT);
FieldSet fsProjet = new FieldSet();
fsProjet.setHeading("Projet");
fsProjet.setLayout(new FormLayout());
ListStore<Projet> storeProjets = new ListStore<Projet>();
ComboBox cbProjets = new ComboBox<Projet>();
cbProjets.setFieldLabel("Projet:");
cbProjets.setLabelSeparator("");
cbProjets.setDisplayField("nom");
cbProjets.setEditable(false);
cbProjets.setTriggerAction(TriggerAction.ALL);
cbProjets.setStore(storeProjets);
cbProjets.setAllowBlank(false);
fsProjet.add(cbProjets);
hmIdentite.put("cbProjets", cbProjets);
mediateur.selectionnerProjets(this);
left.add(fsProjet);
FieldSet fsNoms = new FieldSet();
fsNoms.setHeading("Noms");
fsNoms.setLayout(formLayout);
// Nom complet : Affiché que si valeurs saisies
LabelField nomComplet = new LabelField();
nomComplet.setFieldLabel("Nom complet:");
251,6 → 282,7
//Nom
TextField<String> tfNom = new TextField<String>();
tfNom.setFieldLabel("Nom");
tfNom.setAllowBlank(false);
tfNom.setName("nom");
fsNoms.add(tfNom);
338,13 → 370,11
((DateField) hmIdentite.get("dfDateDeces")).setVisible(false);
((TextField) hmIdentite.get("tfLieuDeces")).setVisible(false);
}
//afficherChampSupplementaire(((Radio) be.component));
}
}
});
hmIdentite.put("rbEstDecedee", rbEstDecedee);
Radio rbNestPasDecedee = new Radio();
rbNestPasDecedee.setBoxLabel("non");
rbNestPasDecedee.setValue(true);
810,7 → 840,7
*
* @param barreOutils la barre d'outils à modifier
* */
public static void ajouterBoutonEnregistrerEtRevenir(ButtonBar barreOutils) {
private void ajouterBoutonEnregistrerEtRevenir(ButtonBar barreOutils) {
//Le bouton réintialiser recharge la page sans sauvegarder les informations
Button enregistrer = new Button("Enregistrer et revenir à la liste");
820,7 → 850,11
// TODO : Enregistrer le formulaire
}
});
enregistrer.setEnabled(false);
hmIdentite.put("btnEnregistrerRevenir", enregistrer);
barreOutils.add(enregistrer);
}
/**
828,7 → 862,7
*
* @param barreOutils la barre d'outils à modifier
* */
public void ajouterBoutonEnregistrer(ButtonBar barreOutils) {
private void ajouterBoutonEnregistrer(ButtonBar barreOutils) {
//Le bouton réintialiser recharge la page sans sauvegarder les informations
Button enregistrer = new Button("Enregistrer");
837,10 → 871,11
enregistrer.addSelectionListener(new SelectionListener<ComponentEvent>() {
public void componentSelected(ComponentEvent ce) {
enregistrer();
}
});
enregistrer.setEnabled(false);
hmIdentite.put("btnEnregistrer", enregistrer);
barreOutils.add(enregistrer);
}
876,7 → 911,7
if (nouvellesDonnees instanceof ValeurListe){
if (nouvellesDonnees instanceof ValeurListe) {
ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
919,6 → 954,20
}
} else if (nouvellesDonnees instanceof ProjetListe) {
ProjetListe projets = (ProjetListe) nouvellesDonnees;
List<Projet> liste = new ArrayList<Projet>();
for (Iterator<String> it = projets.keySet().iterator(); it.hasNext();) {
liste.add(projets.get(it.next()));
}
ComboBox cbProjets = (ComboBox) hmIdentite.get("cbProjets");
ListStore<Projet> storeProjets= cbProjets.getStore();
storeProjets.removeAll();
storeProjets.add(liste);
cbProjets.setStore(storeProjets);
} else if (nouvellesDonnees instanceof Information) {
Information info = (Information) nouvellesDonnees;
952,8 → 1001,9
//Mise à jour de la personne
//Personne personne = (Personne) nouvellesDonnees;
ComboBox cbProjets = (ComboBox) hmIdentite.get("cbProjets");
cbProjets.setValue(cbProjets.getStore().findModel("id_projet", personne.get("ce_projet")));
//Prefixe
String prefixe = personne.get("ce_truk_prefix");
ComboBox<Valeur> cbPrefixe = (ComboBox<Valeur>) hmIdentite.get("cbPrefixe");
1117,6 → 1167,9
((TextField) hmAdresse.get("tfVille")).setValue(personne.get("ville"));
((Button) hmIdentite.get("btnEnregistrerRevenir")).setEnabled(true);
((Button) hmIdentite.get("btnEnregistrer")).setEnabled(true);
} else {
Info.display("messages", info.getMessages().toString());
}
1170,6 → 1223,11
}
mediateur.masquerPopinChargement();
if (mode.equals("AJOUT")) {
((Button) hmIdentite.get("btnEnregistrerRevenir")).setEnabled(true);
((Button) hmIdentite.get("btnEnregistrer")).setEnabled(true);
}
}
 
private HashMap<String, Valeur> hmCbSelectionnee = new HashMap();
1471,6 → 1529,13
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é");
}
//Préparer les données
ComboBox combo = (ComboBox) hmIdentite.get("cbSexe");
Valeur valeur;
1510,20 → 1575,32
combo = (ComboBox) hmIdentite.get("cbSuffixe");
valeur = (Valeur) combo.getValue();
if (valeur != null) {
strSuffixe = valeur.getNom();
strSuffixe = valeur.getNom() + " ";
} else {
strSuffixe = combo.getRawValue();
strSuffixe = combo.getRawValue() +" ";
}
strValeur = strPrefixe
+ " " + personneSelectionnee.get("prenom")
+ " " + personneSelectionnee.get("nom")
+ " " + strSuffixe;
personneSelectionnee.set("fmt_nom_complet", strValeur);
personneSelectionnee.setFmtNomComplet(strPrefixe, strSuffixe);
personneSelectionnee.set("naissance_date", (Date) ((DateField) hmIdentite.get("dfDateNaissance")).getValue());
DateField dfDateNaissance = (DateField) hmIdentite.get("dfDateNaissance");
Date naissanceDate = dfDateNaissance.getValue();
personneSelectionnee.setNaissanceDate(naissanceDate);
Radio rbEstDecedee = (Radio) hmIdentite.get("rbEstDecedee");
if (rbEstDecedee.getValue().equals(true)) {
DateField dfDecesDate = (DateField) hmIdentite.get("dfDateDeces");
Date decesDate = dfDecesDate.getValue();
if (decesDate == null) {
decesDate = new Date();
}
personneSelectionnee.setDecesDate(decesDate);
personneSelectionnee.set("deces_lieu", ((TextField<String>) hmIdentite.get("tfLieuDeces")).getValue());
}
personneSelectionnee.setDecesDate(new Date());
strValeur = obtenirValeurCombo("cbPays");
personneSelectionnee.set("pays", strValeur);
1540,17 → 1617,18
personneSelectionnee.set("truk_url", ((HiddenField) hmIdentite.get("hfUrl")).getValue());
//if (lstMessageErreur.size() < 0) {
if (lstMessageErreur.size() < 0) {
mediateur.enregistrerPersonne(this, personneSelectionnee);
/*} else {
String strMessagesErreur = "";
} else {
String strMessagesErreur = "<span><br />";
Iterator<String> itMessagesErreur = lstMessageErreur.iterator();
while (itMessagesErreur.hasNext()) {
strMessagesErreur += " - " + itMessagesErreur.next() +" \n";
strMessagesErreur += "<br /> - " + itMessagesErreur.next();
}
strMessagesErreur += "</span>";
MessageBox.alert("Erreurs", "Les erreurs suivantes ont été commises : \n" + strMessagesErreur, null);
}*/
}
}
private String obtenirValeurCombo(String strComboName) {