219,520 → 219,518 |
|
public void creerComposantsIdentite() { |
|
// Gestion de l'affichage en colonnes : 3 Layout container : principal, gauche & droite |
LayoutContainer left = new LayoutContainer(); |
left.setLayout(new FormLayout()); |
LayoutContainer right = new LayoutContainer(); |
right.setLayout(new FormLayout()); |
|
// Gestion de l'affichage en colonnes : 3 Layout container : principal, gauche & droite |
LayoutContainer left = new LayoutContainer(); |
left.setLayout(new FormLayout()); |
LayoutContainer right = new LayoutContainer(); |
right.setLayout(new FormLayout()); |
|
LayoutContainer main = new LayoutContainer(); |
|
main.add(left, new ColumnData(.45)); |
main.add(right, new ColumnData(.45)); |
|
main.setLayout(new ColumnLayout()); |
main.setHeight("100%"); |
main.setScrollMode(Scroll.AUTO); |
|
// Création des champs |
FormLayout formLayout = new FormLayout(); |
formLayout.setLabelAlign(LabelAlign.LEFT); |
|
FieldSet fsProjet = new FieldSet(); |
fsProjet.setHeading(mediateur.i18nC.menuProjet()); |
fsProjet.setLayout(new FormLayout()); |
LayoutContainer main = new LayoutContainer(); |
|
main.add(left, new ColumnData(.45)); |
main.add(right, new ColumnData(.45)); |
|
main.setLayout(new ColumnLayout()); |
main.setHeight("100%"); |
main.setScrollMode(Scroll.AUTO); |
|
// Création des champs |
FormLayout formLayout = new FormLayout(); |
formLayout.setLabelAlign(LabelAlign.LEFT); |
|
FieldSet fsProjet = new FieldSet(); |
fsProjet.setHeading(mediateur.i18nC.menuProjet()); |
fsProjet.setLayout(new FormLayout()); |
|
ListStore<Projet> storeProjets = new ListStore<Projet>(); |
ComboBox cbProjets = new ComboBox<Projet>(); |
cbProjets.setFieldLabel(mediateur.i18nC.personneProjet()+ " :"); |
cbProjets.setEmptyText(mediateur.i18nC.txtListeProjetDefaut()); |
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); |
|
ListStore<Projet> storeProjets = new ListStore<Projet>(); |
ComboBox cbProjets = new ComboBox<Projet>(); |
cbProjets.setFieldLabel(mediateur.i18nC.personneProjet()+ " :"); |
cbProjets.setEmptyText(mediateur.i18nC.txtListeProjetDefaut()); |
cbProjets.setLabelSeparator(""); |
cbProjets.setDisplayField("nom"); |
cbProjets.setEditable(false); |
cbProjets.setTriggerAction(TriggerAction.ALL); |
cbProjets.setStore(storeProjets); |
cbProjets.setAllowBlank(false); |
fsProjet.add(cbProjets); |
left.add(fsProjet); |
|
hmIdentite.put("cbProjets", cbProjets); |
FieldSet fsNoms = new FieldSet(); |
fsNoms.setHeading("Noms"); |
fsNoms.setLayout(formLayout); |
|
mediateur.selectionnerProjets(this); |
// Nom complet : Affiché que si valeurs saisies |
LabelField nomComplet = new LabelField(); |
nomComplet.setFieldLabel(mediateur.i18nC.personneNomComplet() +" :"); |
nomComplet.hide(); |
|
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(mediateur.i18nC.personneNomComplet() +" :"); |
nomComplet.hide(); |
|
fsNoms.add(nomComplet); |
hmIdentite.put("nomComplet", nomComplet); |
fsNoms.add(nomComplet); |
hmIdentite.put("nomComplet", nomComplet); |
|
//Préfixe |
ListStore<Valeur> storePrefixe = new ListStore<Valeur>(); |
ComboBox<Valeur> cbPrefixe = new ComboBox<Valeur>(); |
cbPrefixe.setStore(storePrefixe); |
cbPrefixe.setDisplayField("nom"); |
cbPrefixe.setEmptyText("Choisissez le préfixe:"); |
cbPrefixe.setFieldLabel("Prefix"); |
|
fsNoms.add(cbPrefixe); |
hmIdentite.put("cbPrefixe", cbPrefixe); |
|
mediateur.obtenirListeValeurEtRafraichir(this, "prefixe"); |
|
//Prénom |
TextField<String> tfPrenom = new TextField<String>(); |
tfPrenom.setFieldLabel("Prénom"); |
tfPrenom.setName("prenom"); |
|
fsNoms.add(tfPrenom); |
hmIdentite.put("tfPrenom", tfPrenom); |
|
//Nom |
TextField<String> tfNom = new TextField<String>(); |
tfNom.setFieldLabel("Nom"); |
tfNom.setAllowBlank(false); |
tfNom.setName("nom"); |
|
fsNoms.add(tfNom); |
hmIdentite.put("tfNom", tfNom); |
|
//Suffixe |
ListStore<Valeur> storeSuffixe = new ListStore<Valeur>(); |
ComboBox<Valeur> cbSuffixe = new ComboBox<Valeur>(); |
cbSuffixe.setStore(storeSuffixe); |
cbSuffixe.setFieldLabel("Suffixe"); |
cbSuffixe.setDisplayField("nom"); |
cbSuffixe.setEmptyText("Choisissez un suffixe:"); |
|
fsNoms.add(cbSuffixe); |
hmIdentite.put("cbSuffixe", cbSuffixe); |
|
mediateur.obtenirListeValeurEtRafraichir(this, "suffixes"); |
|
TextField<String> tfNomAutre = new TextField(); |
tfNomAutre.setFieldLabel("Autres noms"); |
tfNomAutre.setName("truk_nom_autre"); |
|
fsNoms.add(tfNomAutre); |
hmIdentite.put("tfNomAutre", tfNomAutre); |
|
TextField<String> tfAbreviation = new TextField<String>(); |
tfAbreviation.setFieldLabel("Abréviation"); |
tfAbreviation.setName("abreviation"); |
|
fsNoms.add(tfAbreviation); |
hmIdentite.put("tfAbreviation", tfAbreviation); |
|
//Abréviation autres |
TextField<String> tfAbreviationAutre = new TextField<String>(); |
tfAbreviationAutre.setFieldLabel("Autres Abrév."); |
tfAbreviationAutre.setName("truk_abreviation_autre"); |
|
fsNoms.add(tfAbreviationAutre); |
hmIdentite.put("tfAbreviationAutre", tfAbreviationAutre); |
//Préfixe |
ListStore<Valeur> storePrefixe = new ListStore<Valeur>(); |
ComboBox<Valeur> cbPrefixe = new ComboBox<Valeur>(); |
cbPrefixe.setStore(storePrefixe); |
cbPrefixe.setDisplayField("nom"); |
cbPrefixe.setEmptyText("Choisissez le préfixe:"); |
cbPrefixe.setFieldLabel("Prefix"); |
|
fsNoms.add(cbPrefixe); |
hmIdentite.put("cbPrefixe", cbPrefixe); |
|
mediateur.obtenirListeValeurEtRafraichir(this, "prefixe"); |
|
//Prénom |
TextField<String> tfPrenom = new TextField<String>(); |
tfPrenom.setFieldLabel("Prénom"); |
tfPrenom.setName("prenom"); |
|
fsNoms.add(tfPrenom); |
hmIdentite.put("tfPrenom", tfPrenom); |
|
//Nom |
TextField<String> tfNom = new TextField<String>(); |
tfNom.setFieldLabel("Nom"); |
tfNom.setAllowBlank(false); |
tfNom.setName("nom"); |
|
fsNoms.add(tfNom); |
hmIdentite.put("tfNom", tfNom); |
|
//Suffixe |
ListStore<Valeur> storeSuffixe = new ListStore<Valeur>(); |
ComboBox<Valeur> cbSuffixe = new ComboBox<Valeur>(); |
cbSuffixe.setStore(storeSuffixe); |
cbSuffixe.setFieldLabel("Suffixe"); |
cbSuffixe.setDisplayField("nom"); |
cbSuffixe.setEmptyText("Choisissez un suffixe:"); |
|
fsNoms.add(cbSuffixe); |
hmIdentite.put("cbSuffixe", cbSuffixe); |
|
mediateur.obtenirListeValeurEtRafraichir(this, "suffixes"); |
|
TextField<String> tfNomAutre = new TextField(); |
tfNomAutre.setFieldLabel("Autres noms"); |
tfNomAutre.setName("truk_nom_autre"); |
|
fsNoms.add(tfNomAutre); |
hmIdentite.put("tfNomAutre", tfNomAutre); |
|
TextField<String> tfAbreviation = new TextField<String>(); |
tfAbreviation.setFieldLabel("Abréviation"); |
tfAbreviation.setName("abreviation"); |
|
fsNoms.add(tfAbreviation); |
hmIdentite.put("tfAbreviation", tfAbreviation); |
|
//Abréviation autres |
TextField<String> tfAbreviationAutre = new TextField<String>(); |
tfAbreviationAutre.setFieldLabel("Autres Abrév."); |
tfAbreviationAutre.setName("truk_abreviation_autre"); |
|
fsNoms.add(tfAbreviationAutre); |
hmIdentite.put("tfAbreviationAutre", tfAbreviationAutre); |
|
left.add(fsNoms); |
left.add(fsNoms); |
|
formLayout = new FormLayout(); |
formLayout.setLabelAlign(LabelAlign.LEFT); |
|
FieldSet fsNaissance = new FieldSet(); |
fsNaissance.setHeading("Naissance"); |
fsNaissance.setLayout(formLayout); |
|
DateField dfDateNaissance = new DateField(); |
dfDateNaissance.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy")); |
dfDateNaissance.setFieldLabel("Date"); |
dfDateNaissance.getMessages().setInvalidText("La valeur saisie n'est pas une date valide. La date doit être au format «jj/mm/aaaa»."); |
|
fsNaissance.add(dfDateNaissance); |
hmIdentite.put("dfDateNaissance", dfDateNaissance); |
|
// Lieu naissance |
TextField<String> tfLieuNaissance = new TextField(); |
tfLieuNaissance.setFieldLabel("Lieu"); |
tfLieuNaissance.setName("naissance_lieu"); |
|
fsNaissance.add(tfLieuNaissance); |
hmIdentite.put("tfLieuNaissance", tfLieuNaissance); |
|
formLayout = new FormLayout(); |
formLayout.setLabelAlign(LabelAlign.LEFT); |
left.add(fsNaissance); |
|
formLayout = new FormLayout(); |
formLayout.setLabelAlign(LabelAlign.LEFT); |
|
FieldSet fsDeces = new FieldSet(); |
fsDeces.setHeading("Décès"); |
fsDeces.setLayout(formLayout); |
|
FieldSet fsNaissance = new FieldSet(); |
fsNaissance.setHeading("Naissance"); |
fsNaissance.setLayout(formLayout); |
|
DateField dfDateNaissance = new DateField(); |
dfDateNaissance.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy")); |
dfDateNaissance.setFieldLabel("Date"); |
dfDateNaissance.getMessages().setInvalidText("La valeur saisie n'est pas une date valide. La date doit être au format «jj/mm/aaaa»."); |
|
fsNaissance.add(dfDateNaissance); |
hmIdentite.put("dfDateNaissance", dfDateNaissance); |
|
// Lieu naissance |
TextField<String> tfLieuNaissance = new TextField(); |
tfLieuNaissance.setFieldLabel("Lieu"); |
tfLieuNaissance.setName("naissance_lieu"); |
|
fsNaissance.add(tfLieuNaissance); |
hmIdentite.put("tfLieuNaissance", tfLieuNaissance); |
|
left.add(fsNaissance); |
|
formLayout = new FormLayout(); |
formLayout.setLabelAlign(LabelAlign.LEFT); |
|
FieldSet fsDeces = new FieldSet(); |
fsDeces.setHeading("Décès"); |
fsDeces.setLayout(formLayout); |
|
Radio rbEstDecedee = new Radio(); |
rbEstDecedee.setBoxLabel("oui"); |
|
rbEstDecedee.addListener(Events.Change, new Listener<ComponentEvent>() { |
Radio rbEstDecedee = new Radio(); |
rbEstDecedee.setBoxLabel("oui"); |
|
rbEstDecedee.addListener(Events.Change, new Listener<ComponentEvent>() { |
|
public void handleEvent(ComponentEvent be) { |
if(((Radio) be.getComponent()).getValue().equals(true)) { |
((DateField) hmIdentite.get("dfDateDeces")).setVisible(true); |
((TextField) hmIdentite.get("tfLieuDeces")).setVisible(true); |
} else { |
((DateField) hmIdentite.get("dfDateDeces")).setVisible(false); |
((TextField) hmIdentite.get("tfLieuDeces")).setVisible(false); |
} |
} |
}); |
public void handleEvent(ComponentEvent be) { |
if(((Radio) be.getComponent()).getValue().equals(true)) { |
((DateField) hmIdentite.get("dfDateDeces")).setVisible(true); |
((TextField) hmIdentite.get("tfLieuDeces")).setVisible(true); |
} else { |
((DateField) hmIdentite.get("dfDateDeces")).setVisible(false); |
((TextField) hmIdentite.get("tfLieuDeces")).setVisible(false); |
} |
} |
}); |
|
hmIdentite.put("rbEstDecedee", rbEstDecedee); |
|
Radio rbNestPasDecedee = new Radio(); |
rbNestPasDecedee.setBoxLabel("non"); |
rbNestPasDecedee.setValue(true); |
|
RadioGroup rbgDeces = new RadioGroup(); |
rbgDeces.setFieldLabel("Est décédée"); |
rbgDeces.add(rbEstDecedee); |
rbgDeces.add(rbNestPasDecedee); |
|
fsDeces.add(rbgDeces); |
|
DateField dfDateDeces = new DateField(); |
dfDateDeces.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy")); |
dfDateDeces.setFormatValue(true); |
dfDateDeces.getMessages().setInvalidText("La valeur saisie n'est pas une date valide. La date doit être au format «jj/mm/aaaa»."); |
dfDateDeces.setFieldLabel("Date"); |
dfDateDeces.setVisible(false); |
|
fsDeces.add(dfDateDeces); |
hmIdentite.put("dfDateDeces", dfDateDeces); |
|
TextField<String> tfLieuDeces = new TextField(); |
tfLieuDeces.setFieldLabel("Lieu"); |
tfLieuDeces.setName("deces_lieu"); |
tfLieuDeces.setVisible(false); |
|
fsDeces.add(tfLieuDeces); |
hmIdentite.put("tfLieuDeces", tfLieuDeces); |
hmIdentite.put("rbEstDecedee", rbEstDecedee); |
|
Radio rbNestPasDecedee = new Radio(); |
rbNestPasDecedee.setBoxLabel("non"); |
rbNestPasDecedee.setValue(true); |
|
RadioGroup rbgDeces = new RadioGroup(); |
rbgDeces.setFieldLabel("Est décédée"); |
rbgDeces.add(rbEstDecedee); |
rbgDeces.add(rbNestPasDecedee); |
|
fsDeces.add(rbgDeces); |
|
DateField dfDateDeces = new DateField(); |
dfDateDeces.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy")); |
dfDateDeces.setFormatValue(true); |
dfDateDeces.getMessages().setInvalidText("La valeur saisie n'est pas une date valide. La date doit être au format «jj/mm/aaaa»."); |
dfDateDeces.setFieldLabel("Date"); |
dfDateDeces.setVisible(false); |
|
fsDeces.add(dfDateDeces); |
hmIdentite.put("dfDateDeces", dfDateDeces); |
|
TextField<String> tfLieuDeces = new TextField(); |
tfLieuDeces.setFieldLabel("Lieu"); |
tfLieuDeces.setName("deces_lieu"); |
tfLieuDeces.setVisible(false); |
|
fsDeces.add(tfLieuDeces); |
hmIdentite.put("tfLieuDeces", tfLieuDeces); |
|
left.add(fsDeces); |
left.add(fsDeces); |
|
tiIdentite.add(main); |
tiIdentite.add(main); |
|
FieldSet fsContactTel = new FieldSet(); |
fsContactTel.setHeading("Contact - Téléphones"); |
fsContactTel.setLayout(new RowLayout()); |
FieldSet fsContactTel = new FieldSet(); |
fsContactTel.setHeading("Contact - Téléphones"); |
fsContactTel.setLayout(new RowLayout()); |
|
right.add(fsContactTel); |
hmIdentite.put("fsContactTel", fsContactTel); |
|
right.add(fsContactTel); |
hmIdentite.put("fsContactTel", fsContactTel); |
|
LayoutContainer lcTelephone = new LayoutContainer(); |
lcTelephone.setLayout(new ColumnLayout()); |
LayoutContainer lcTelephone = new LayoutContainer(); |
lcTelephone.setLayout(new ColumnLayout()); |
|
TextField tfTelephone = new TextField(); |
tfTelephone.setFieldLabel("tel"); |
lcTelephone.add(tfTelephone, new ColumnData(0.40)); |
|
hmIdentite.put("tfTelephone", tfTelephone); |
|
ListStore<Valeur> storeTel = new ListStore<Valeur>(); |
ComboBox<Valeur> cbTelephone = new ComboBox<Valeur>(); |
cbTelephone.setDisplayField("nom"); |
cbTelephone.setEmptyText("Choisissez:"); |
cbTelephone.setStore(storeTel); |
|
lcTelephone.add(cbTelephone, new ColumnData(0.40)); |
hmIdentite.put("cbTelephone", cbTelephone); |
TextField tfTelephone = new TextField(); |
tfTelephone.setFieldLabel("tel"); |
lcTelephone.add(tfTelephone, new ColumnData(0.40)); |
|
hmIdentite.put("tfTelephone", tfTelephone); |
|
ListStore<Valeur> storeTel = new ListStore<Valeur>(); |
ComboBox<Valeur> cbTelephone = new ComboBox<Valeur>(); |
cbTelephone.setDisplayField("nom"); |
cbTelephone.setEmptyText("Choisissez:"); |
cbTelephone.setStore(storeTel); |
|
lcTelephone.add(cbTelephone, new ColumnData(0.40)); |
hmIdentite.put("cbTelephone", cbTelephone); |
|
mediateur.obtenirListeValeurEtRafraichir(this, "tel"); |
|
Button bAjouter = new Button(); |
bAjouter.setIcon(Images.ICONES.ajouter()); |
// TODO : taille du bouton trop grande |
bAjouter.addSelectionListener( |
new SelectionListener<ButtonEvent>() { |
public void componentSelected(ButtonEvent ce) { |
|
String strTelephone = ((TextField<String>) hmIdentite.get("tfTelephone")).getValue(); |
if ((strTelephone==null)||(strTelephone.trim().equals(""))) { |
MessageBox.alert("Erreur de saisie", "Vous devez saisir un numéro de téléphone", null); |
} else if (hmIdentite.get("tel-" + strTelephone) != null){ |
MessageBox.alert("Erreur de saisie", "Le numéro saisi est déjà présent dans la liste", null); |
} else { |
String strValeurTypeTel = ""; |
String idTel = ""; |
Valeur valeurTypeTel = ((ComboBox<Valeur>) hmIdentite.get("cbTelephone")).getValue(); |
|
mediateur.obtenirListeValeurEtRafraichir(this, "tel"); |
if (valeurTypeTel != null) { |
strValeurTypeTel = valeurTypeTel.getNom(); |
idTel = valeurTypeTel.get("abreviation"); |
} else { |
strValeurTypeTel = ((ComboBox<Valeur>) hmIdentite.get("cbTelephone")).getRawValue(); |
idTel = strValeurTypeTel; |
} |
|
if (strValeurTypeTel.trim().equals("")) { |
MessageBox.alert("Erreur de saisie", "Vous devez saisir un type de téléphone", null); |
} else { |
ajouterTelephone(strTelephone, strValeurTypeTel, idTel); |
} |
} |
} |
} |
); |
|
Button bAjouter = new Button(); |
bAjouter.setIcon(Images.ICONES.ajouter()); |
// TODO : taille du bouton trop grande |
bAjouter.addSelectionListener( |
new SelectionListener<ButtonEvent>() { |
public void componentSelected(ButtonEvent ce) { |
lcTelephone.add(bAjouter, new ColumnData(0.15)); |
|
HiddenField<String> hfTelephone = new HiddenField<String>(); |
add(hfTelephone); |
hmIdentite.put("hfTelephone", hfTelephone); |
|
fsContactTel.add(lcTelephone); |
|
FieldSet fsContact = new FieldSet(); |
fsContact.setHeading("Contact - Autres"); |
fsContact.setId("fsContact"); |
fsContact.setLayout(new RowLayout()); |
|
right.add(fsContact); |
hmIdentite.put("fsContact", fsContact); |
|
LabelField lfCourriel = new LabelField(); |
lfCourriel.setText("<b>Courriels:</b>"); |
|
fsContact.add(lfCourriel); |
|
LayoutContainer lcCourriel = new LayoutContainer(); |
lcCourriel.setLayout(new ColumnLayout()); |
|
String strTelephone = ((TextField<String>) hmIdentite.get("tfTelephone")).getValue(); |
if ((strTelephone==null)||(strTelephone.trim().equals(""))) { |
MessageBox.alert("Erreur de saisie", "Vous devez saisir un numéro de téléphone", null); |
} else if (hmIdentite.get("tel-" + strTelephone) != null){ |
MessageBox.alert("Erreur de saisie", "Le numéro saisi est déjà présent dans la liste", null); |
} else { |
String strValeurTypeTel = ""; |
String idTel = ""; |
Valeur valeurTypeTel = ((ComboBox<Valeur>) hmIdentite.get("cbTelephone")).getValue(); |
|
if (valeurTypeTel != null) { |
strValeurTypeTel = valeurTypeTel.getNom(); |
idTel = valeurTypeTel.get("abreviation"); |
} else { |
strValeurTypeTel = ((ComboBox<Valeur>) hmIdentite.get("cbTelephone")).getRawValue(); |
idTel = strValeurTypeTel; |
} |
|
if (strValeurTypeTel.trim().equals("")) { |
MessageBox.alert("Erreur de saisie", "Vous devez saisir un type de téléphone", null); |
} else { |
ajouterTelephone(strTelephone, strValeurTypeTel, idTel); |
} |
} |
} |
} |
); |
|
lcTelephone.add(bAjouter, new ColumnData(0.15)); |
|
HiddenField<String> hfTelephone = new HiddenField<String>(); |
add(hfTelephone); |
hmIdentite.put("hfTelephone", hfTelephone); |
TextField tfCourriel = new TextField(); |
lcCourriel.add(tfCourriel, new ColumnData(0.80)); |
|
HiddenField hfHiddenCourriel = new HiddenField(); |
hfHiddenCourriel.setId("tfHiddenCourriel"); |
hfHiddenCourriel.setValue(""); |
|
add(hfHiddenCourriel); |
hmIdentite.put("hfHiddenCourriel", hfHiddenCourriel); |
hmIdentite.put("tfCourriel", tfCourriel); |
|
Button bAjouterCourriel = new Button(); |
bAjouterCourriel.setIcon(Images.ICONES.ajouter()); |
bAjouterCourriel.addSelectionListener( |
new SelectionListener<ButtonEvent>() { |
|
public void componentSelected(ButtonEvent ce) { |
|
fsContactTel.add(lcTelephone); |
|
FieldSet fsContact = new FieldSet(); |
fsContact.setHeading("Contact - Autres"); |
fsContact.setId("fsContact"); |
fsContact.setLayout(new RowLayout()); |
|
right.add(fsContact); |
hmIdentite.put("fsContact", fsContact); |
|
LabelField lfCourriel = new LabelField(); |
lfCourriel.setText("<b>Courriels:</b>"); |
|
fsContact.add(lfCourriel); |
|
LayoutContainer lcCourriel = new LayoutContainer(); |
lcCourriel.setLayout(new ColumnLayout()); |
|
TextField tfCourriel = new TextField(); |
lcCourriel.add(tfCourriel, new ColumnData(0.80)); |
String strEmail = ((TextField<String>) hmIdentite.get("tfCourriel")).getValue(); |
if ((strEmail==null)||(strEmail.trim().equals(""))) { |
MessageBox.alert("Erreur de saisie", "Vous devez saisir une adresse", null); |
} else if (hmIdentite.get("email-" + strEmail) != null){ |
MessageBox.alert("Erreur de saisie", "L'adresse saisie est déjà dans la liste", null); |
} else { |
|
HiddenField hfHiddenCourriel = new HiddenField(); |
hfHiddenCourriel.setId("tfHiddenCourriel"); |
hfHiddenCourriel.setValue(""); |
if (!strEmail.matches("(\\w+)@(\\w+\\.)(\\w+)(\\.\\w+)*")) { |
MessageBox.alert("Erreur de saisie", "L'adresse n'est pas au bon format (ex: me@domain.com)", null); |
} else if (strEmail.length()>255){ |
MessageBox.alert("Erreur de saisie", "L'adresse ne peut dépasser 255 caractères", null); |
} else { |
ajouterCourriel(strEmail); |
} |
|
add(hfHiddenCourriel); |
hmIdentite.put("hfHiddenCourriel", hfHiddenCourriel); |
hmIdentite.put("tfCourriel", tfCourriel); |
|
Button bAjouterCourriel = new Button(); |
bAjouterCourriel.setIcon(Images.ICONES.ajouter()); |
bAjouterCourriel.addSelectionListener( |
new SelectionListener<ButtonEvent>() { |
|
public void componentSelected(ButtonEvent ce) { |
|
String strEmail = ((TextField<String>) hmIdentite.get("tfCourriel")).getValue(); |
if ((strEmail==null)||(strEmail.trim().equals(""))) { |
MessageBox.alert("Erreur de saisie", "Vous devez saisir une adresse", null); |
} else if (hmIdentite.get("email-" + strEmail) != null){ |
MessageBox.alert("Erreur de saisie", "L'adresse saisie est déjà dans la liste", null); |
} else { |
|
if (!strEmail.matches("(\\w+)@(\\w+\\.)(\\w+)(\\.\\w+)*")) { |
MessageBox.alert("Erreur de saisie", "L'adresse n'est pas au bon format (ex: me@domain.com)", null); |
} else if (strEmail.length()>255){ |
MessageBox.alert("Erreur de saisie", "L'adresse ne peut dépasser 255 caractères", null); |
} else { |
ajouterCourriel(strEmail); |
} |
|
} |
|
|
} |
}); |
|
lcCourriel.add(bAjouterCourriel, new ColumnData(0.15)); |
} |
|
fsContact.add(lcCourriel); |
|
} |
}); |
|
LayoutContainer lcCourrielContainer = new LayoutContainer(new RowLayout()); |
lcCourriel.add(bAjouterCourriel, new ColumnData(0.15)); |
|
fsContact.add(lcCourrielContainer); |
hmIdentite.put("lcCourrielContainer", lcCourrielContainer); |
|
fsContact.add(lcCourriel); |
|
LabelField lfUrl = new LabelField(); |
lfUrl.setText("<b>Sites Web:</b>"); |
LayoutContainer lcCourrielContainer = new LayoutContainer(new RowLayout()); |
|
fsContact.add(lcCourrielContainer); |
hmIdentite.put("lcCourrielContainer", lcCourrielContainer); |
|
|
LabelField lfUrl = new LabelField(); |
lfUrl.setText("<b>Sites Web:</b>"); |
|
fsContact.add(lfUrl); |
|
LayoutContainer lcUrl = new LayoutContainer(new ColumnLayout()); |
hmIdentite.put("lcUrl", lcUrl); |
|
HiddenField<String> hfUrl = new HiddenField<String>(); |
hmIdentite.put("hfUrl", hfUrl); |
add(hfUrl); |
|
fsContact.add(lfUrl); |
|
LayoutContainer lcUrl = new LayoutContainer(new ColumnLayout()); |
hmIdentite.put("lcUrl", lcUrl); |
|
HiddenField<String> hfUrl = new HiddenField<String>(); |
hmIdentite.put("hfUrl", hfUrl); |
add(hfUrl); |
|
TextField tfUrl = new TextField(); |
tfUrl.setValue("http://"); |
|
lcUrl.add(tfUrl, new ColumnData(0.8)); |
hmIdentite.put("tfUrl", tfUrl); |
|
Button ibAjouterUrl = new Button(); |
ibAjouterUrl.setIcon(Images.ICONES.ajouter()); |
ibAjouterUrl.addSelectionListener(new SelectionListener<ButtonEvent>() { |
TextField tfUrl = new TextField(); |
tfUrl.setValue("http://"); |
|
public void componentSelected(ButtonEvent ce) { |
|
TextField<String> tfUrl = (TextField) hmIdentite.get("tfUrl"); |
String strUrl = tfUrl.getValue(); |
|
if ((strUrl == null)||(strUrl.trim().equals("http://"))||(strUrl.trim().equals(""))) { |
MessageBox.alert("Erreur de saisie", "Vous devez saisir un URL", null); |
} else if(hmIdentite.get("url-" + strUrl) != null) { |
MessageBox.alert("Erreur de saisie", "L'url est déjà présente dans la liste.", null); |
} else { |
tfUrl.setValue("http://"); |
//if (!strUrl.matches("[a-z]{3,}://[a-z0-9-]+.[.a-z0-9-]+(?::[0-9]*)?")) { |
if (!strUrl.startsWith("http://")) { |
MessageBox.alert("Erreur de saisie", "L'adresse n'est pas au bon format (ex: http://www.domain.com)", null); |
} else if (strUrl.length()>255){ |
MessageBox.alert("Erreur de saisie", "L'adresse ne peut dépasser 255 caractères", null); |
} else { |
ajouterUrl(strUrl); |
} |
|
} |
|
} |
}); |
|
lcUrl.add(ibAjouterUrl, new ColumnData(0.15)); |
fsContact.add(lcUrl); |
|
LayoutContainer lcUrlContainer = new LayoutContainer(new RowLayout()); |
lcUrl.add(tfUrl, new ColumnData(0.8)); |
hmIdentite.put("tfUrl", tfUrl); |
|
Button ibAjouterUrl = new Button(); |
ibAjouterUrl.setIcon(Images.ICONES.ajouter()); |
ibAjouterUrl.addSelectionListener(new SelectionListener<ButtonEvent>() { |
|
public void componentSelected(ButtonEvent ce) { |
|
TextField<String> tfUrl = (TextField) hmIdentite.get("tfUrl"); |
String strUrl = tfUrl.getValue(); |
|
if ((strUrl == null)||(strUrl.trim().equals("http://"))||(strUrl.trim().equals(""))) { |
MessageBox.alert("Erreur de saisie", "Vous devez saisir un URL", null); |
} else if(hmIdentite.get("url-" + strUrl) != null) { |
MessageBox.alert("Erreur de saisie", "L'url est déjà présente dans la liste.", null); |
} else { |
tfUrl.setValue("http://"); |
//if (!strUrl.matches("[a-z]{3,}://[a-z0-9-]+.[.a-z0-9-]+(?::[0-9]*)?")) { |
if (!strUrl.startsWith("http://")) { |
MessageBox.alert("Erreur de saisie", "L'adresse n'est pas au bon format (ex: http://www.domain.com)", null); |
} else if (strUrl.length()>255){ |
MessageBox.alert("Erreur de saisie", "L'adresse ne peut dépasser 255 caractères", null); |
} else { |
ajouterUrl(strUrl); |
} |
|
fsContact.add(lcUrlContainer); |
hmIdentite.put("lcUrlContainer", lcUrlContainer); |
|
FieldSet fsAutresInfos = new FieldSet(); |
fsAutresInfos.setHeading("Autres informations"); |
} |
|
} |
}); |
|
formLayout = new FormLayout(); |
formLayout.setLabelAlign(LabelAlign.LEFT); |
fsAutresInfos.setLayout(formLayout); |
lcUrl.add(ibAjouterUrl, new ColumnData(0.15)); |
fsContact.add(lcUrl); |
|
|
formLayout = new FormLayout(); |
formLayout.setLabelAlign(LabelAlign.TOP); |
LayoutContainer lcAutreInformations1 = new LayoutContainer(formLayout); |
|
//Civilité |
ListStore<Valeur> storeSexe = new ListStore<Valeur>(); |
ComboBox<Valeur> cbSexe = new ComboBox<Valeur>(); |
cbSexe.setStore(storeSexe); |
cbSexe.setFieldLabel("Sexe"); |
cbSexe.setDisplayField("nom"); |
cbSexe.setEmptyText("Choisissez le sexe:"); |
LayoutContainer lcUrlContainer = new LayoutContainer(new RowLayout()); |
|
lcAutreInformations1.add(cbSexe, fd100); |
hmIdentite.put("cbSexe", cbSexe); |
|
mediateur.obtenirListeValeurEtRafraichir(this, "sexe"); |
fsContact.add(lcUrlContainer); |
hmIdentite.put("lcUrlContainer", lcUrlContainer); |
|
FieldSet fsAutresInfos = new FieldSet(); |
fsAutresInfos.setHeading("Autres informations"); |
|
formLayout = new FormLayout(); |
formLayout.setLabelAlign(LabelAlign.LEFT); |
fsAutresInfos.setLayout(formLayout); |
|
//Description |
TextArea taDescription = new TextArea(); |
taDescription.setEmptyText("Saisissez une description"); |
taDescription.setFieldLabel("Description"); |
taDescription.setWidth("100%"); |
taDescription.setName("description"); |
|
lcAutreInformations1.add(taDescription, fd100); |
hmIdentite.put("taDescription", taDescription); |
|
fsAutresInfos.add(lcAutreInformations1); |
|
// Logo |
LayoutContainer lcAutreInformations2 = new LayoutContainer(); |
hmIdentite.put("lcAutreInformations2", lcAutreInformations2); |
|
LabelField lfUrlLogo = new LabelField(); |
lfUrlLogo.setText("<b>Logo:</b>"); |
lcAutreInformations2.add(lfUrlLogo); |
|
LayoutContainer lcUrlLogo = new LayoutContainer(new ColumnLayout()); |
hmIdentite.put("lcUrlLogo", lcUrlLogo); |
|
TextField tfUrlLogo = new TextField(); |
tfUrlLogo.setValue("http://"); |
|
HiddenField<String> hfUrlLogo = new HiddenField<String>(); |
hmIdentite.put("hfUrlLogo", hfUrlLogo); |
formLayout = new FormLayout(); |
formLayout.setLabelAlign(LabelAlign.TOP); |
LayoutContainer lcAutreInformations1 = new LayoutContainer(formLayout); |
|
//Civilité |
ListStore<Valeur> storeSexe = new ListStore<Valeur>(); |
ComboBox<Valeur> cbSexe = new ComboBox<Valeur>(); |
cbSexe.setStore(storeSexe); |
cbSexe.setFieldLabel("Sexe"); |
cbSexe.setDisplayField("nom"); |
cbSexe.setEmptyText("Choisissez le sexe:"); |
|
lcUrlLogo.add(tfUrlLogo, new ColumnData(0.8)); |
hmIdentite.put("tfUrlLogo", tfUrlLogo); |
lcAutreInformations1.add(cbSexe, fd100); |
hmIdentite.put("cbSexe", cbSexe); |
|
Button ibAjouterUrlLogo = new Button(); |
ibAjouterUrlLogo.setIcon(Images.ICONES.ajouter()); |
ibAjouterUrlLogo.addSelectionListener(new SelectionListener<ButtonEvent>() { |
mediateur.obtenirListeValeurEtRafraichir(this, "sexe"); |
|
//Description |
TextArea taDescription = new TextArea(); |
taDescription.setEmptyText("Saisissez une description"); |
taDescription.setFieldLabel("Description"); |
taDescription.setWidth("100%"); |
taDescription.setName("description"); |
|
lcAutreInformations1.add(taDescription, fd100); |
hmIdentite.put("taDescription", taDescription); |
|
fsAutresInfos.add(lcAutreInformations1); |
|
// Logo |
LayoutContainer lcAutreInformations2 = new LayoutContainer(); |
hmIdentite.put("lcAutreInformations2", lcAutreInformations2); |
|
LabelField lfUrlLogo = new LabelField(); |
lfUrlLogo.setText("<b>Logo:</b>"); |
lcAutreInformations2.add(lfUrlLogo); |
|
LayoutContainer lcUrlLogo = new LayoutContainer(new ColumnLayout()); |
hmIdentite.put("lcUrlLogo", lcUrlLogo); |
|
TextField tfUrlLogo = new TextField(); |
tfUrlLogo.setValue("http://"); |
|
HiddenField<String> hfUrlLogo = new HiddenField<String>(); |
hmIdentite.put("hfUrlLogo", hfUrlLogo); |
|
public void componentSelected(ButtonEvent ce) { |
|
TextField<String> tfUrlLogo = (TextField) hmIdentite.get("tfUrlLogo"); |
String strUrl = tfUrlLogo.getValue(); |
|
if ((strUrl == null)||(strUrl.trim().equals("http://"))||(strUrl.trim().equals(""))) { |
MessageBox.alert("Erreur de saisie", "Vous devez saisir un URL", null); |
} else if(hmIdentite.get("url-" + strUrl) != null) { |
MessageBox.alert("Erreur de saisie", "L'url est déjà présente dans la liste.", null); |
} else { |
tfUrlLogo.setValue("http://"); |
//if (!strUrl.matches("[a-z]{3,}://[a-z0-9-]+.[.a-z0-9-]+(?::[0-9]*)?")) { |
if (!strUrl.startsWith("http://")) { |
MessageBox.alert("Erreur de saisie", "L'adresse n'est pas au bon format (ex: http://www.domain.com)", null); |
} else if (strUrl.length()>255){ |
MessageBox.alert("Erreur de saisie", "L'adresse ne peut dépasser 255 caractères", null); |
} else { |
ajouterUrlLogo(strUrl); |
} |
|
lcUrlLogo.add(tfUrlLogo, new ColumnData(0.8)); |
hmIdentite.put("tfUrlLogo", tfUrlLogo); |
|
Button ibAjouterUrlLogo = new Button(); |
ibAjouterUrlLogo.setIcon(Images.ICONES.ajouter()); |
ibAjouterUrlLogo.addSelectionListener(new SelectionListener<ButtonEvent>() { |
|
public void componentSelected(ButtonEvent ce) { |
|
TextField<String> tfUrlLogo = (TextField) hmIdentite.get("tfUrlLogo"); |
String strUrl = tfUrlLogo.getValue(); |
|
if ((strUrl == null)||(strUrl.trim().equals("http://"))||(strUrl.trim().equals(""))) { |
MessageBox.alert("Erreur de saisie", "Vous devez saisir un URL", null); |
} else if(hmIdentite.get("url-" + strUrl) != null) { |
MessageBox.alert("Erreur de saisie", "L'url est déjà présente dans la liste.", null); |
} else { |
tfUrlLogo.setValue("http://"); |
//if (!strUrl.matches("[a-z]{3,}://[a-z0-9-]+.[.a-z0-9-]+(?::[0-9]*)?")) { |
if (!strUrl.startsWith("http://")) { |
MessageBox.alert("Erreur de saisie", "L'adresse n'est pas au bon format (ex: http://www.domain.com)", null); |
} else if (strUrl.length()>255){ |
MessageBox.alert("Erreur de saisie", "L'adresse ne peut dépasser 255 caractères", null); |
} else { |
ajouterUrlLogo(strUrl); |
} |
|
} |
}); |
|
} |
|
} |
}); |
|
lcUrlLogo.add(ibAjouterUrlLogo, new ColumnData(0.15)); |
lcAutreInformations2.add(lcUrlLogo); |
lcUrlLogo.add(ibAjouterUrlLogo, new ColumnData(0.15)); |
lcAutreInformations2.add(lcUrlLogo); |
|
fsAutresInfos.add(lcAutreInformations2); |
fsAutresInfos.add(lcAutreInformations2); |
|
TextArea taLogo = new TextArea(); |
taLogo.setFieldLabel("Logos"); |
taLogo.setWidth("100%"); |
taLogo.setEmptyText("Saisissez les adresses des logos séparées par un saut de ligne"); |
//fsAutresInfos.add(taLogo, fd100); |
TextArea taLogo = new TextArea(); |
taLogo.setFieldLabel("Logos"); |
taLogo.setWidth("100%"); |
taLogo.setEmptyText("Saisissez les adresses des logos séparées par un saut de ligne"); |
//fsAutresInfos.add(taLogo, fd100); |
|
hmIdentite.put("taLogo", taLogo); |
hmIdentite.put("taLogo", taLogo); |
|
right.add(fsAutresInfos); |
right.add(fsAutresInfos); |
|
// Ajout des évènements saisi |
KeyListener klNoms = new KeyListener() { |
public void componentKeyUp(ComponentEvent ev) { |
rafraichir(null); |
} |
}; |
|
SelectionChangedListener<Valeur> selectionChange = new SelectionChangedListener<Valeur>() { |
public void selectionChanged(SelectionChangedEvent se) { |
rafraichir(null); |
} |
}; |
// Ajout des évènements saisi |
KeyListener klNoms = new KeyListener() { |
public void componentKeyUp(ComponentEvent ev) { |
rafraichir(null); |
} |
}; |
|
SelectionChangedListener<Valeur> selectionChange = new SelectionChangedListener<Valeur>() { |
public void selectionChanged(SelectionChangedEvent se) { |
rafraichir(null); |
} |
}; |
|
cbPrefixe.addSelectionChangedListener(selectionChange); |
cbPrefixe.addKeyListener(klNoms); |
tfPrenom.addKeyListener(klNoms); |
tfNom.addKeyListener(klNoms); |
cbSuffixe.addSelectionChangedListener(selectionChange); |
cbPrefixe.addSelectionChangedListener(selectionChange); |
cbPrefixe.addKeyListener(klNoms); |
tfPrenom.addKeyListener(klNoms); |
tfNom.addKeyListener(klNoms); |
cbSuffixe.addSelectionChangedListener(selectionChange); |
|
} |
|
865,7 → 863,9 |
enregistrerEtRevenir.setIconAlign(IconAlign.LEFT); |
enregistrerEtRevenir.addSelectionListener(new SelectionListener<ButtonEvent>() { |
public void componentSelected(ButtonEvent ce) { |
enregistrer(); |
if (enregistrer() == true) { |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).clicMenu("Personnes"); |
} |
} |
}); |
|
1546,8 → 1546,9 |
* Enregistre les information de la personne en cours |
* |
*/ |
public void enregistrer() { |
public boolean enregistrer() { |
|
boolean success = false; |
LinkedList lstMessageErreur = new LinkedList<String>(); |
|
ComboBox<Projet> cbProjets = (ComboBox<Projet>) hmIdentite.get("cbProjets"); |
1631,10 → 1632,10 |
personneSelectionnee.setDecesDate(new Date()); |
|
strValeur = obtenirValeurCombo("cbPays"); |
personneSelectionnee.set("pays", strValeur); |
personneSelectionnee.set("ce_truk_pays", strValeur); |
|
strValeur = obtenirValeurCombo("cbRegion"); |
personneSelectionnee.set("region", strValeur); |
personneSelectionnee.set("ce_truk_region", strValeur); |
|
personneSelectionnee.set("truk_telephone", ((HiddenField<String>) hmIdentite.get("hfTelephone")).getValue()); |
|
1648,6 → 1649,7 |
|
if (lstMessageErreur.size() == 0) { |
mediateur.enregistrerPersonne(this, personneSelectionnee); |
success = true; |
} else { |
String strMessagesErreur = "<span><br />"; |
Iterator<String> itMessagesErreur = lstMessageErreur.iterator(); |
1657,7 → 1659,10 |
strMessagesErreur += "</span>"; |
|
MessageBox.alert("Erreurs", "Les erreurs suivantes ont été commises : \n" + strMessagesErreur, null); |
success = false; |
} |
|
return success; |
} |
|
private String obtenirValeurCombo(String strComboName) { |