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) { |