Subversion Repositories eFlore/Applications.coel

Rev

Rev 928 | Rev 934 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 928 Rev 933
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
2
 
2
 
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
import java.util.Collection;
4
import java.util.Collection;
5
import java.util.Date;
5
import java.util.Date;
6
import java.util.HashMap;
6
import java.util.HashMap;
7
import java.util.Iterator;
7
import java.util.Iterator;
8
import java.util.LinkedList;
8
import java.util.LinkedList;
9
import java.util.List;
9
import java.util.List;
10
 
10
 
11
import org.tela_botanica.client.ComposantClass;
11
import org.tela_botanica.client.ComposantClass;
12
import org.tela_botanica.client.Mediateur;
12
import org.tela_botanica.client.Mediateur;
13
import org.tela_botanica.client.RegistreId;
13
import org.tela_botanica.client.RegistreId;
14
import org.tela_botanica.client.composants.ChampMultiValeurs;
14
import org.tela_botanica.client.composants.ChampMultiValeurs;
15
import org.tela_botanica.client.composants.ChampMultiValeursImage;
15
import org.tela_botanica.client.composants.ChampMultiValeursImage;
16
import org.tela_botanica.client.composants.ChampMultiValeursMultiTypes;
16
import org.tela_botanica.client.composants.ChampMultiValeursMultiTypes;
17
import org.tela_botanica.client.configuration.Configuration;
17
import org.tela_botanica.client.configuration.Configuration;
18
import org.tela_botanica.client.images.Images;
18
import org.tela_botanica.client.images.Images;
19
import org.tela_botanica.client.interfaces.Rafraichissable;
19
import org.tela_botanica.client.interfaces.Rafraichissable;
20
 
20
 
21
import org.tela_botanica.client.modeles.Information;
21
import org.tela_botanica.client.modeles.Information;
22
import org.tela_botanica.client.modeles.MenuApplicationId;
22
import org.tela_botanica.client.modeles.MenuApplicationId;
23
import org.tela_botanica.client.modeles.Personne;
23
import org.tela_botanica.client.modeles.Personne;
24
import org.tela_botanica.client.modeles.PersonneListe;
24
import org.tela_botanica.client.modeles.PersonneListe;
25
import org.tela_botanica.client.modeles.Projet;
25
import org.tela_botanica.client.modeles.Projet;
26
import org.tela_botanica.client.modeles.ProjetListe;
26
import org.tela_botanica.client.modeles.ProjetListe;
27
import org.tela_botanica.client.modeles.Publication;
27
import org.tela_botanica.client.modeles.Publication;
28
import org.tela_botanica.client.modeles.Utilisateur;
28
import org.tela_botanica.client.modeles.Utilisateur;
29
import org.tela_botanica.client.modeles.Valeur;
29
import org.tela_botanica.client.modeles.Valeur;
30
import org.tela_botanica.client.modeles.ValeurListe;
30
import org.tela_botanica.client.modeles.ValeurListe;
31
import org.tela_botanica.client.util.Pattern;
31
import org.tela_botanica.client.util.Pattern;
32
import org.tela_botanica.client.util.UtilString;
32
import org.tela_botanica.client.util.UtilString;
33
 
33
 
34
import com.extjs.gxt.ui.client.event.Events;
34
import com.extjs.gxt.ui.client.event.Events;
35
import com.extjs.gxt.ui.client.Registry;
35
import com.extjs.gxt.ui.client.Registry;
36
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
36
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
37
import com.extjs.gxt.ui.client.Style.IconAlign;
37
import com.extjs.gxt.ui.client.Style.IconAlign;
38
import com.extjs.gxt.ui.client.Style.Scroll;
38
import com.extjs.gxt.ui.client.Style.Scroll;
39
import com.extjs.gxt.ui.client.Style.VerticalAlignment;
39
import com.extjs.gxt.ui.client.Style.VerticalAlignment;
40
 
40
 
41
import com.extjs.gxt.ui.client.binding.FormBinding;
41
import com.extjs.gxt.ui.client.binding.FormBinding;
42
 
42
 
43
import com.extjs.gxt.ui.client.event.ButtonEvent;
43
import com.extjs.gxt.ui.client.event.ButtonEvent;
44
import com.extjs.gxt.ui.client.event.ComponentEvent;
44
import com.extjs.gxt.ui.client.event.ComponentEvent;
45
import com.extjs.gxt.ui.client.event.KeyListener;
45
import com.extjs.gxt.ui.client.event.KeyListener;
46
import com.extjs.gxt.ui.client.event.Listener;
46
import com.extjs.gxt.ui.client.event.Listener;
47
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
47
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
48
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
48
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
49
import com.extjs.gxt.ui.client.event.SelectionListener;
49
import com.extjs.gxt.ui.client.event.SelectionListener;
50
import com.extjs.gxt.ui.client.store.ListStore;
50
import com.extjs.gxt.ui.client.store.ListStore;
51
import com.extjs.gxt.ui.client.widget.LayoutContainer;
51
import com.extjs.gxt.ui.client.widget.LayoutContainer;
52
import com.extjs.gxt.ui.client.widget.MessageBox;
52
import com.extjs.gxt.ui.client.widget.MessageBox;
53
 
53
 
54
import com.extjs.gxt.ui.client.widget.Info;
54
import com.extjs.gxt.ui.client.widget.Info;
55
import com.extjs.gxt.ui.client.widget.TabItem;
55
import com.extjs.gxt.ui.client.widget.TabItem;
56
import com.extjs.gxt.ui.client.widget.TabPanel;
56
import com.extjs.gxt.ui.client.widget.TabPanel;
57
 
57
 
58
import com.extjs.gxt.ui.client.widget.button.Button;
58
import com.extjs.gxt.ui.client.widget.button.Button;
59
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
59
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
60
import com.extjs.gxt.ui.client.widget.form.ComboBox;
60
import com.extjs.gxt.ui.client.widget.form.ComboBox;
61
import com.extjs.gxt.ui.client.widget.form.DateField;
61
import com.extjs.gxt.ui.client.widget.form.DateField;
62
import com.extjs.gxt.ui.client.widget.form.FieldSet;
62
import com.extjs.gxt.ui.client.widget.form.FieldSet;
63
import com.extjs.gxt.ui.client.widget.form.FormPanel;
63
import com.extjs.gxt.ui.client.widget.form.FormPanel;
64
import com.extjs.gxt.ui.client.widget.form.LabelField;
64
import com.extjs.gxt.ui.client.widget.form.LabelField;
65
import com.extjs.gxt.ui.client.widget.form.Radio;
65
import com.extjs.gxt.ui.client.widget.form.Radio;
66
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
66
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
67
import com.extjs.gxt.ui.client.widget.form.TextArea;
67
import com.extjs.gxt.ui.client.widget.form.TextArea;
68
import com.extjs.gxt.ui.client.widget.form.TextField;
68
import com.extjs.gxt.ui.client.widget.form.TextField;
69
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
69
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
70
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
70
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
71
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
71
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
72
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
72
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
73
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
73
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
74
import com.extjs.gxt.ui.client.widget.layout.FormData;
74
import com.extjs.gxt.ui.client.widget.layout.FormData;
75
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
75
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
76
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
76
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
77
import com.extjs.gxt.ui.client.widget.layout.TableData;
77
import com.extjs.gxt.ui.client.widget.layout.TableData;
78
import com.extjs.gxt.ui.client.widget.layout.TableLayout;
78
import com.extjs.gxt.ui.client.widget.layout.TableLayout;
79
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
79
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
80
import com.google.gwt.core.client.GWT;
80
import com.google.gwt.core.client.GWT;
81
import com.google.gwt.i18n.client.DateTimeFormat;
81
import com.google.gwt.i18n.client.DateTimeFormat;
-
 
82
import com.google.gwt.user.client.Window;
82
import com.google.gwt.user.client.ui.Widget;
83
import com.google.gwt.user.client.ui.Widget;
83
 
84
 
84
public class PersonneForm extends Formulaire implements Rafraichissable {
85
public class PersonneForm extends Formulaire implements Rafraichissable {
85
 
86
 
86
	// VARIABLES
87
	// VARIABLES
87
	private TabItem tiIdentite, tiAdresses, tiInfosNat;
88
	private TabItem tiIdentite, tiAdresses, tiInfosNat;
88
	private Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
89
	private Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
89
	private Personne personneSelectionnee, personneSauvegarde = null;
90
	private Personne personneSelectionnee, personneSauvegarde = null;
90
	
91
	
91
	//hmIdentite[...] référence par une chaine de caractère tous les composants de l'onglet Identite
92
	//hmIdentite[...] référence par une chaine de caractère tous les composants de l'onglet Identite
92
	private HashMap<String, Widget>hmIdentite = new HashMap<String, Widget>();
93
	private HashMap<String, Widget>hmIdentite = new HashMap<String, Widget>();
93
	private HashMap<String, Widget>hmAdresse = new HashMap<String, Widget>();
94
	private HashMap<String, Widget>hmAdresse = new HashMap<String, Widget>();
94
	private HashMap<String, Widget>hmInfosNat = new HashMap<String, Widget>();
95
	private HashMap<String, Widget>hmInfosNat = new HashMap<String, Widget>();
95
	private HashMap<String, Valeur> hmCbSelectionnee = new HashMap();
96
	private HashMap<String, Valeur> hmCbSelectionnee = new HashMap();
96
	private FormData fd100 = new FormData("95%");
97
	private FormData fd100 = new FormData("95%");
97
	
98
	
98
	private Button enregistrer, enregistrerEtRevenir;
99
	private Button enregistrer, enregistrerEtRevenir;
99
	
100
	
100
	private Personne personne = null;
101
	private Personne personne = null;
101
	private String personneId = null;
102
	private String personneId = null;
102
	private FormBinding binding = null;
103
	private FormBinding binding = null;
103
	
104
	
104
	// CONSTRUCTEUR 
105
	// CONSTRUCTEUR 
105
	public PersonneForm(Mediateur mediateurCourrant, String personneId) {
106
	public PersonneForm(Mediateur mediateurCourrant, String personneId) {
106
		initialiserPersonneForm(mediateurCourrant, personneId);
107
		initialiserPersonneForm(mediateurCourrant, personneId);
107
	}
108
	}
108
	
109
	
109
	public PersonneForm(Mediateur mediateurCourrant, String personneId, Rafraichissable vueARafraichirApresValidation) {
110
	public PersonneForm(Mediateur mediateurCourrant, String personneId, Rafraichissable vueARafraichirApresValidation) {
110
		vueExterneARafraichirApresValidation = vueARafraichirApresValidation;
111
		vueExterneARafraichirApresValidation = vueARafraichirApresValidation;
111
		initialiserPersonneForm(mediateurCourrant, personneId);
112
		initialiserPersonneForm(mediateurCourrant, personneId);
112
	}
113
	}
113
	
114
	
114
	private void initialiserPersonneForm(Mediateur mediateurCourrant, String personneIdCourrant) {
115
	private void initialiserPersonneForm(Mediateur mediateurCourrant, String personneIdCourrant) {
115
		personne = new Personne();
116
		personne = new Personne();
116
		personne.setId(personneIdCourrant);
117
		personne.setId(personneIdCourrant);
117
		personneId = personneIdCourrant;
118
		personneId = personneIdCourrant;
118
		
119
		
119
		String modeDeCreation = (UtilString.isEmpty(personneId) ? Formulaire.MODE_AJOUTER : Formulaire.MODE_MODIFIER);
120
		String modeDeCreation = (UtilString.isEmpty(personneId) ? Formulaire.MODE_AJOUTER : Formulaire.MODE_MODIFIER);
120
		initialiserFormulaire(mediateurCourrant, modeDeCreation, MenuApplicationId.PERSONNE);
121
		initialiserFormulaire(mediateurCourrant, modeDeCreation, MenuApplicationId.PERSONNE);
121
 
122
 
122
		initialiserComposants();
123
		initialiserComposants();
123
		genererTitreFormulaire();
124
		genererTitreFormulaire();
124
		
125
		
125
		if (modeDeCreation.equals(Formulaire.MODE_MODIFIER)) {
126
		if (modeDeCreation.equals(Formulaire.MODE_MODIFIER)) {
126
			mediateur.selectionnerPersonne(this, personne, null);
127
			mediateur.selectionnerPersonne(this, personne, null);
127
		}
128
		}
128
	}
129
	}
129
	
130
	
130
	private void genererTitreFormulaire() {
131
	private void genererTitreFormulaire() {
131
		String titre = i18nC.personneModeAjout();
132
		String titre = i18nC.personneModeAjout();
132
		if (mode.equals(Formulaire.MODE_MODIFIER)) {
133
		if (mode.equals(Formulaire.MODE_MODIFIER)) {
133
			 titre = i18nC.personneModeModifier()+" - "+i18nC.id()+": "+personneId;
134
			 titre = i18nC.personneModeModifier()+" - "+i18nC.id()+": "+personneId;
134
		}
135
		}
135
		panneauFormulaire.setHeading(titre);
136
		panneauFormulaire.setHeading(titre);
136
	}
137
	}
137
	
138
	
138
	public void initialiserComposants()	{
139
	public void initialiserComposants()	{
139
		personneSelectionnee = new Personne();
140
		personneSelectionnee = new Personne();
140
		personneSauvegarde = new Personne();
141
		personneSauvegarde = new Personne();
141
		
142
		
142
		initialiserOnglets();	
143
		initialiserOnglets();	
143
		
144
		
144
		creerComposantsIdentite();
145
		creerComposantsIdentite();
145
		creerComposantsAdresse();
146
		creerComposantsAdresse();
146
		creerComposantsInfosNat();
147
		creerComposantsInfosNat();
147
		
148
		
148
		binderPersonne(personneSelectionnee);
149
		binderPersonne(personneSelectionnee);
149
	}
150
	}
150
	
151
	
151
	/**
152
	/**
152
	 * Crée les onglets identité, adresse et informations naturaliste
153
	 * Crée les onglets identité, adresse et informations naturaliste
153
	 * 
154
	 * 
154
	 * */
155
	 * */
155
	public void initialiserOnglets()	{
156
	public void initialiserOnglets()	{
156
		//TabPanel
157
		//TabPanel
157
		TabPanel formulaireOnglets = new TabPanel();
158
		TabPanel formulaireOnglets = new TabPanel();
158
		
159
		
159
		//Tab 1 : identite
160
		//Tab 1 : identite
160
		tiIdentite = new TabItem(i18nC.personneIdentite());
161
		tiIdentite = new TabItem(i18nC.personneIdentite());
161
		tiIdentite.setLayout(new FormLayout());
162
		tiIdentite.setLayout(new FormLayout());
162
		tiIdentite.setScrollMode(Scroll.AUTO);
163
		tiIdentite.setScrollMode(Scroll.AUTO);
163
		
164
		
164
		formulaireOnglets.add(tiIdentite);
165
		formulaireOnglets.add(tiIdentite);
165
		hmIdentite.put("tiIdentite", tiIdentite);
166
		hmIdentite.put("tiIdentite", tiIdentite);
166
		
167
		
167
		//Tab 2 : Adresse
168
		//Tab 2 : Adresse
168
		tiAdresses = new TabItem(i18nC.adresse());
169
		tiAdresses = new TabItem(i18nC.adresse());
169
		tiAdresses.setLayout(new FormLayout());
170
		tiAdresses.setLayout(new FormLayout());
170
		tiAdresses.setScrollMode(Scroll.AUTO);
171
		tiAdresses.setScrollMode(Scroll.AUTO);
171
		formulaireOnglets.add(tiAdresses);
172
		formulaireOnglets.add(tiAdresses);
172
		
173
		
173
		//Tab 3 : Infos Naturalistes
174
		//Tab 3 : Infos Naturalistes
174
		tiInfosNat = new TabItem(i18nC.personneInfoNat());
175
		tiInfosNat = new TabItem(i18nC.personneInfoNat());
175
		tiInfosNat.setLayout(new FormLayout());
176
		tiInfosNat.setLayout(new FormLayout());
176
		tiInfosNat.setScrollMode(Scroll.AUTO);
177
		tiInfosNat.setScrollMode(Scroll.AUTO);
177
		
178
		
178
		formulaireOnglets.add(tiInfosNat);
179
		formulaireOnglets.add(tiInfosNat);
179
		getFormulaire().add(formulaireOnglets);
180
		getFormulaire().add(formulaireOnglets);
180
	}
181
	}
181
	
182
	
182
	/**
183
	/**
183
	 * Crée les widgets pour l'onglet identité
184
	 * Crée les widgets pour l'onglet identité
184
	 * 
185
	 * 
185
	 * */
186
	 * */
186
	
187
	
187
	
188
	
188
	public void creerComposantsIdentite()	{
189
	public void creerComposantsIdentite()	{
189
		// Gestion de l'affichage en colonnes : 3 Layout container : principal, gauche & droite
190
		// Gestion de l'affichage en colonnes : 3 Layout container : principal, gauche & droite
190
		LayoutContainer left = new LayoutContainer();
191
		LayoutContainer left = new LayoutContainer();
191
		left.setLayout(new FormLayout());
192
		left.setLayout(new FormLayout());
192
		left.setStyleAttribute("padding", "15px");
193
		left.setStyleAttribute("padding", "15px");
193
		
194
		
194
		LayoutContainer right = new LayoutContainer();
195
		LayoutContainer right = new LayoutContainer();
195
		right.setLayout(new FormLayout());
196
		right.setLayout(new FormLayout());
196
		right.setStyleAttribute("padding", "15px");
197
		right.setStyleAttribute("padding", "15px");
197
		
198
		
198
		LayoutContainer main = new LayoutContainer();
199
		LayoutContainer main = new LayoutContainer();
199
		
200
		
200
		main.add(left, new ColumnData(.45));
201
		main.add(left, new ColumnData(.45));
201
		main.add(right, new ColumnData(.45));
202
		main.add(right, new ColumnData(.45));
202
		
203
		
203
		main.setLayout(new ColumnLayout());
204
		main.setLayout(new ColumnLayout());
204
		main.setHeight("100%");
205
		main.setHeight("100%");
205
		main.setScrollMode(Scroll.AUTO);
206
		main.setScrollMode(Scroll.AUTO);
206
		
207
		
207
		// Création des champs
208
		// Création des champs
208
		FormLayout formLayout = new FormLayout();
209
		FormLayout formLayout = new FormLayout();
209
		formLayout.setLabelAlign(LabelAlign.LEFT);
210
		formLayout.setLabelAlign(LabelAlign.LEFT);
210
		
211
		
211
		FieldSet fsProjet = new FieldSet();
212
		FieldSet fsProjet = new FieldSet();
212
		fsProjet.setHeading(i18nC.menuProjet());
213
		fsProjet.setHeading(i18nC.menuProjet());
213
		fsProjet.setLayout(new FormLayout());
214
		fsProjet.setLayout(new FormLayout());
214
		
215
		
215
		ListStore<Projet> storeProjets = new ListStore<Projet>();
216
		ListStore<Projet> storeProjets = new ListStore<Projet>();
216
		ComboBox cbProjets = new ComboBox<Projet>();
217
		ComboBox cbProjets = new ComboBox<Projet>();
217
		cbProjets.setFieldLabel(i18nC.personneProjet()+ " :");
218
		cbProjets.setFieldLabel(i18nC.personneProjet()+ " :");
218
		cbProjets.setEmptyText(i18nC.txtListeProjetDefaut());
219
		cbProjets.setEmptyText(i18nC.txtListeProjetDefaut());
219
		cbProjets.setLabelSeparator("");
220
		cbProjets.setLabelSeparator("");
220
		cbProjets.setDisplayField("nom");
221
		cbProjets.setDisplayField("nom");
221
		cbProjets.setEditable(false);
222
		cbProjets.setEditable(false);
222
		cbProjets.setTriggerAction(TriggerAction.ALL);
223
		cbProjets.setTriggerAction(TriggerAction.ALL);
223
		cbProjets.setStore(storeProjets);
224
		cbProjets.setStore(storeProjets);
224
		cbProjets.setAllowBlank(false);
225
		cbProjets.setAllowBlank(false);
225
		fsProjet.add(cbProjets);
226
		fsProjet.add(cbProjets);
226
		
227
		
227
		hmIdentite.put("cbProjets", cbProjets);
228
		hmIdentite.put("cbProjets", cbProjets);
228
		
229
		
229
		mediateur.selectionnerProjet(this, null);
230
		mediateur.selectionnerProjet(this, null);
230
				
231
				
231
		left.add(fsProjet);
232
		left.add(fsProjet);
232
					
233
					
233
		FieldSet fsNoms = new FieldSet();
234
		FieldSet fsNoms = new FieldSet();
234
		fsNoms.setHeading("Noms");
235
		fsNoms.setHeading("Noms");
235
		fsNoms.setLayout(formLayout); 
236
		fsNoms.setLayout(formLayout); 
236
					
237
					
237
		// Nom complet : Affiché que si valeurs saisies
238
		// Nom complet : Affiché que si valeurs saisies
238
		LabelField nomComplet = new LabelField();
239
		LabelField nomComplet = new LabelField();
239
		nomComplet.setFieldLabel(i18nC.personneNomComplet() +" :");
240
		nomComplet.setFieldLabel(i18nC.personneNomComplet() +" :");
240
		nomComplet.hide();
241
		nomComplet.hide();
241
				
242
				
242
		fsNoms.add(nomComplet);
243
		fsNoms.add(nomComplet);
243
		hmIdentite.put("nomComplet", nomComplet);
244
		hmIdentite.put("nomComplet", nomComplet);
244
			
245
			
245
		//Préfixe
246
		//Préfixe
246
		ListStore<Valeur> storePrefixe = new ListStore<Valeur>();
247
		ListStore<Valeur> storePrefixe = new ListStore<Valeur>();
247
		ComboBox<Valeur> cbPrefixe = new ComboBox<Valeur>();
248
		ComboBox<Valeur> cbPrefixe = new ComboBox<Valeur>();
248
		cbPrefixe.setStore(storePrefixe);
249
		cbPrefixe.setStore(storePrefixe);
249
		cbPrefixe.setDisplayField("nom");
250
		cbPrefixe.setDisplayField("nom");
250
		cbPrefixe.setEmptyText("Choisissez le préfixe:");
251
		cbPrefixe.setEmptyText("Choisissez le préfixe:");
251
		cbPrefixe.setFieldLabel("Prefix");
252
		cbPrefixe.setFieldLabel("Prefix");
252
		
253
		
253
		fsNoms.add(cbPrefixe);
254
		fsNoms.add(cbPrefixe);
254
		hmIdentite.put("cbPrefixe", cbPrefixe);
255
		hmIdentite.put("cbPrefixe", cbPrefixe);
255
		
256
		
256
		mediateur.obtenirListeValeurEtRafraichir(this, "prefixe");
257
		mediateur.obtenirListeValeurEtRafraichir(this, "prefixe");
257
 
258
 
258
		//Prénom
259
		//Prénom
259
		TextField<String> tfPrenom = new TextField<String>();
260
		TextField<String> tfPrenom = new TextField<String>();
260
		tfPrenom.setFieldLabel("Prénom");
261
		tfPrenom.setFieldLabel("Prénom");
261
		tfPrenom.setName("prenom");
262
		tfPrenom.setName("prenom");
262
 
263
 
263
		fsNoms.add(tfPrenom);
264
		fsNoms.add(tfPrenom);
264
		hmIdentite.put("tfPrenom", tfPrenom);
265
		hmIdentite.put("tfPrenom", tfPrenom);
265
 
266
 
266
		//Nom
267
		//Nom
267
		TextField<String> tfNom = new TextField<String>();
268
		TextField<String> tfNom = new TextField<String>();
268
		tfNom.setFieldLabel("Nom");
269
		tfNom.setFieldLabel("Nom");
269
		tfNom.setAllowBlank(false);
270
		tfNom.setAllowBlank(false);
270
		tfNom.setName("nom");
271
		tfNom.setName("nom");
271
		
272
		
272
		fsNoms.add(tfNom);
273
		fsNoms.add(tfNom);
273
		hmIdentite.put("tfNom", tfNom);
274
		hmIdentite.put("tfNom", tfNom);
274
		
275
		
275
		//Suffixe
276
		//Suffixe
276
		ListStore<Valeur> storeSuffixe = new ListStore<Valeur>();
277
		ListStore<Valeur> storeSuffixe = new ListStore<Valeur>();
277
		ComboBox<Valeur> cbSuffixe = new ComboBox<Valeur>();
278
		ComboBox<Valeur> cbSuffixe = new ComboBox<Valeur>();
278
		cbSuffixe.setStore(storeSuffixe);
279
		cbSuffixe.setStore(storeSuffixe);
279
		cbSuffixe.setFieldLabel("Suffixe");
280
		cbSuffixe.setFieldLabel("Suffixe");
280
		cbSuffixe.setDisplayField("nom");
281
		cbSuffixe.setDisplayField("nom");
281
		cbSuffixe.setEmptyText("Choisissez un suffixe:");
282
		cbSuffixe.setEmptyText("Choisissez un suffixe:");
282
		
283
		
283
		fsNoms.add(cbSuffixe);			
284
		fsNoms.add(cbSuffixe);			
284
		hmIdentite.put("cbSuffixe", cbSuffixe);
285
		hmIdentite.put("cbSuffixe", cbSuffixe);
285
		
286
		
286
		mediateur.obtenirListeValeurEtRafraichir(this, "suffixes");
287
		mediateur.obtenirListeValeurEtRafraichir(this, "suffixes");
287
 
288
 
288
		TextField<String> tfAbreviation = new TextField<String>();
289
		TextField<String> tfAbreviation = new TextField<String>();
289
		tfAbreviation.setFieldLabel("Abréviation");
290
		tfAbreviation.setFieldLabel("Abréviation");
290
		tfAbreviation.setName("abreviation");
291
		tfAbreviation.setName("abreviation");
291
		
292
		
292
		fsNoms.add(tfAbreviation);
293
		fsNoms.add(tfAbreviation);
293
		hmIdentite.put("tfAbreviation", tfAbreviation);
294
		hmIdentite.put("tfAbreviation", tfAbreviation);
294
 
295
 
295
		TableLayout layoutAutreNoms = new TableLayout(2);
296
		TableLayout layoutAutreNoms = new TableLayout(2);
296
		layoutAutreNoms.setCellVerticalAlign(VerticalAlignment.TOP);
297
		layoutAutreNoms.setCellVerticalAlign(VerticalAlignment.TOP);
297
		LayoutContainer autresNoms = new LayoutContainer(layoutAutreNoms);
298
		LayoutContainer autresNoms = new LayoutContainer(layoutAutreNoms);
298
		ChampMultiValeurs nomAutre = new ChampMultiValeurs("Autres noms",150);
299
		ChampMultiValeurs nomAutre = new ChampMultiValeurs("Autres noms",150);
299
		hmIdentite.put("nomAutre", nomAutre);
300
		hmIdentite.put("nomAutre", nomAutre);
300
		autresNoms.add(nomAutre, new TableData("200px", "15px"));
301
		autresNoms.add(nomAutre, new TableData("200px", "15px"));
301
		
302
		
302
		ChampMultiValeurs abreviationAutre = new ChampMultiValeurs("Autres abréviation",150);
303
		ChampMultiValeurs abreviationAutre = new ChampMultiValeurs("Autres abréviation",150);
303
		hmIdentite.put("abreviationAutre", abreviationAutre);
304
		hmIdentite.put("abreviationAutre", abreviationAutre);
304
		autresNoms.add(abreviationAutre, new TableData("200px", "15px"));
305
		autresNoms.add(abreviationAutre, new TableData("200px", "15px"));
305
		fsNoms.add(autresNoms);
306
		fsNoms.add(autresNoms);
306
										
307
										
307
		left.add(fsNoms);
308
		left.add(fsNoms);
308
		
309
		
309
		formLayout = new FormLayout();
310
		formLayout = new FormLayout();
310
		formLayout.setLabelAlign(LabelAlign.LEFT);
311
		formLayout.setLabelAlign(LabelAlign.LEFT);
311
		
312
		
312
		FieldSet fsNaissance = new FieldSet();
313
		FieldSet fsNaissance = new FieldSet();
313
		fsNaissance.setHeading("Naissance");
314
		fsNaissance.setHeading("Naissance");
314
		fsNaissance.setLayout(formLayout); 
315
		fsNaissance.setLayout(formLayout); 
315
		
316
		
316
		DateField dfDateNaissance = new DateField();
317
		DateField dfDateNaissance = new DateField();
317
		dfDateNaissance.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy"));
318
		dfDateNaissance.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy"));
318
		dfDateNaissance.setFieldLabel("Date");
319
		dfDateNaissance.setFieldLabel("Date");
319
		dfDateNaissance.getMessages().setInvalidText("La valeur saisie n'est pas une date valide. La date doit être au format «jj/mm/aaaa».");
320
		dfDateNaissance.getMessages().setInvalidText("La valeur saisie n'est pas une date valide. La date doit être au format «jj/mm/aaaa».");
320
		
321
		
321
		fsNaissance.add(dfDateNaissance);
322
		fsNaissance.add(dfDateNaissance);
322
		hmIdentite.put("dfDateNaissance", dfDateNaissance);
323
		hmIdentite.put("dfDateNaissance", dfDateNaissance);
323
		
324
		
324
		// Lieu naissance
325
		// Lieu naissance
325
		TextField<String> tfLieuNaissance = new TextField<String>();
326
		TextField<String> tfLieuNaissance = new TextField<String>();
326
		tfLieuNaissance.setFieldLabel("Lieu");
327
		tfLieuNaissance.setFieldLabel("Lieu");
327
		tfLieuNaissance.setName("naissance_lieu");
328
		tfLieuNaissance.setName("naissance_lieu");
328
		
329
		
329
		fsNaissance.add(tfLieuNaissance);
330
		fsNaissance.add(tfLieuNaissance);
330
		hmIdentite.put("tfLieuNaissance", tfLieuNaissance);
331
		hmIdentite.put("tfLieuNaissance", tfLieuNaissance);
331
			
332
			
332
		left.add(fsNaissance);
333
		left.add(fsNaissance);
333
		
334
		
334
		formLayout = new FormLayout();
335
		formLayout = new FormLayout();
335
		formLayout.setLabelAlign(LabelAlign.LEFT);
336
		formLayout.setLabelAlign(LabelAlign.LEFT);
336
		
337
		
337
		FieldSet fsDeces = new FieldSet();
338
		FieldSet fsDeces = new FieldSet();
338
		fsDeces.setHeading("Décès");
339
		fsDeces.setHeading("Décès");
339
		fsDeces.setLayout(formLayout); 
340
		fsDeces.setLayout(formLayout); 
340
			
341
			
341
		Radio rbEstDecedee = new Radio();
342
		Radio rbEstDecedee = new Radio();
342
		rbEstDecedee.setBoxLabel("oui");
343
		rbEstDecedee.setBoxLabel("oui");
343
		rbEstDecedee.setValueAttribute("1");
344
		rbEstDecedee.setValueAttribute("1");
344
	
345
	
345
		rbEstDecedee.addListener(Events.Change, new Listener<ComponentEvent>() {
346
		rbEstDecedee.addListener(Events.Change, new Listener<ComponentEvent>() {
346
						
347
						
347
			public void handleEvent(ComponentEvent be) {
348
			public void handleEvent(ComponentEvent be) {
348
				if(((Radio) be.getComponent()).getValue().equals(true))	{
349
				if(((Radio) be.getComponent()).getValue().equals(true))	{
349
					((DateField) hmIdentite.get("dfDateDeces")).setVisible(true);
350
					((DateField) hmIdentite.get("dfDateDeces")).setVisible(true);
350
					((TextField) hmIdentite.get("tfLieuDeces")).setVisible(true);
351
					((TextField) hmIdentite.get("tfLieuDeces")).setVisible(true);
351
				} else	{
352
				} else	{
352
					DateField dfDateDeces = ((DateField) hmIdentite.get("dfDateDeces"));
353
					DateField dfDateDeces = ((DateField) hmIdentite.get("dfDateDeces"));
353
					dfDateDeces.setValue(null);
354
					dfDateDeces.setValue(null);
354
					dfDateDeces.setVisible(false);
355
					dfDateDeces.setVisible(false);
355
					
356
					
356
					TextField tfLieuDeces = ((TextField) hmIdentite.get("tfLieuDeces"));
357
					TextField tfLieuDeces = ((TextField) hmIdentite.get("tfLieuDeces"));
357
					tfLieuDeces.setValue(null);
358
					tfLieuDeces.setValue(null);
358
					tfLieuDeces.setVisible(false);
359
					tfLieuDeces.setVisible(false);
359
				}
360
				}
360
			}	
361
			}	
361
		});
362
		});
362
					
363
					
363
		hmIdentite.put("rbEstDecedee", rbEstDecedee);
364
		hmIdentite.put("rbEstDecedee", rbEstDecedee);
364
		
365
		
365
		Radio rbNestPasDecedee = new Radio();
366
		Radio rbNestPasDecedee = new Radio();
366
		rbNestPasDecedee.setValueAttribute("0");
367
		rbNestPasDecedee.setValueAttribute("0");
367
		rbNestPasDecedee.setBoxLabel("non");
368
		rbNestPasDecedee.setBoxLabel("non");
368
		rbNestPasDecedee.setValue(true);
369
		rbNestPasDecedee.setValue(true);
369
		
370
		
370
	/*	Radio rbDecesInconnu = new Radio();
371
	/*	Radio rbDecesInconnu = new Radio();
371
		rbDecesInconnu.setBoxLabel("Ne sais pas");
372
		rbDecesInconnu.setBoxLabel("Ne sais pas");
372
		rbDecesInconnu.setValue(true);*/
373
		rbDecesInconnu.setValue(true);*/
373
		
374
		
374
		RadioGroup rbgDeces = new RadioGroup();
375
		RadioGroup rbgDeces = new RadioGroup();
375
		rbgDeces.setFieldLabel("Est décédée");
376
		rbgDeces.setFieldLabel("Est décédée");
376
		rbgDeces.add(rbEstDecedee);
377
		rbgDeces.add(rbEstDecedee);
377
		rbgDeces.add(rbNestPasDecedee);
378
		rbgDeces.add(rbNestPasDecedee);
378
		
379
		
379
		fsDeces.add(rbgDeces);
380
		fsDeces.add(rbgDeces);
380
		
381
		
381
		DateField dfDateDeces = new DateField();
382
		DateField dfDateDeces = new DateField();
382
		dfDateDeces.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy"));
383
		dfDateDeces.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy"));
383
		dfDateDeces.setFormatValue(true);
384
		dfDateDeces.setFormatValue(true);
384
		dfDateDeces.getMessages().setInvalidText("La valeur saisie n'est pas une date valide. La date doit être au format «jj/mm/aaaa».");
385
		dfDateDeces.getMessages().setInvalidText("La valeur saisie n'est pas une date valide. La date doit être au format «jj/mm/aaaa».");
385
		dfDateDeces.setFieldLabel("Date");
386
		dfDateDeces.setFieldLabel("Date");
386
		dfDateDeces.setVisible(false);
387
		dfDateDeces.setVisible(false);
387
 
388
 
388
		fsDeces.add(dfDateDeces);
389
		fsDeces.add(dfDateDeces);
389
		hmIdentite.put("dfDateDeces", dfDateDeces);
390
		hmIdentite.put("dfDateDeces", dfDateDeces);
390
 
391
 
391
		TextField<String> tfLieuDeces = new TextField<String>();
392
		TextField<String> tfLieuDeces = new TextField<String>();
392
		tfLieuDeces.setFieldLabel("Lieu");
393
		tfLieuDeces.setFieldLabel("Lieu");
393
		tfLieuDeces.setName("deces_lieu");
394
		tfLieuDeces.setName("deces_lieu");
394
		tfLieuDeces.setVisible(false);
395
		tfLieuDeces.setVisible(false);
395
		
396
		
396
		fsDeces.add(tfLieuDeces);
397
		fsDeces.add(tfLieuDeces);
397
		hmIdentite.put("tfLieuDeces", tfLieuDeces);
398
		hmIdentite.put("tfLieuDeces", tfLieuDeces);
398
								
399
								
399
		left.add(fsDeces);
400
		left.add(fsDeces);
400
			
401
			
401
		tiIdentite.add(main);
402
		tiIdentite.add(main);
402
			
403
			
403
		FieldSet fsContactTel = new FieldSet();
404
		FieldSet fsContactTel = new FieldSet();
404
		fsContactTel.setHeading("Contact - Téléphones");
405
		fsContactTel.setHeading("Contact - Téléphones");
405
		fsContactTel.setLayout(new RowLayout());
406
		fsContactTel.setLayout(new RowLayout());
406
		
407
		
407
		
408
		
408
		ChampMultiValeursMultiTypes telephones = new ChampMultiValeursMultiTypes("Téléphones");
409
		ChampMultiValeursMultiTypes telephones = new ChampMultiValeursMultiTypes("Téléphones");
409
		hmIdentite.put("telephones", telephones);
410
		hmIdentite.put("telephones", telephones);
410
		telephones.initialiserType("tel");
411
		telephones.initialiserType("tel");
411
		fsContactTel.add(telephones);
412
		fsContactTel.add(telephones);
412
		right.add(fsContactTel);
413
		right.add(fsContactTel);
413
		hmIdentite.put("fsContactTel", fsContactTel);
414
		hmIdentite.put("fsContactTel", fsContactTel);
414
				
415
				
415
		
416
		
416
		FieldSet fsContact = new FieldSet();
417
		FieldSet fsContact = new FieldSet();
417
		fsContact.setHeading("Contact - Autres");
418
		fsContact.setHeading("Contact - Autres");
418
		fsContact.setId("fsContact");
419
		fsContact.setId("fsContact");
419
		fsContact.setLayout(new RowLayout());
420
		fsContact.setLayout(new RowLayout());
420
 
421
 
421
		right.add(fsContact);
422
		right.add(fsContact);
422
		hmIdentite.put("fsContact", fsContact);
423
		hmIdentite.put("fsContact", fsContact);
423
 
424
 
424
		ChampMultiValeurs courriels = new ChampMultiValeurs("Courriels");
425
		ChampMultiValeurs courriels = new ChampMultiValeurs("Courriels");
425
		courriels.setValidation(Pattern.email, "moi@domaine.fr");
426
		courriels.setValidation(Pattern.email, "moi@domaine.fr");
426
		fsContact.add(courriels);
427
		fsContact.add(courriels);
427
		hmIdentite.put("courriels", courriels);
428
		hmIdentite.put("courriels", courriels);
428
		
429
		
429
		LayoutContainer lcCourrielContainer = new LayoutContainer(new RowLayout());
430
		LayoutContainer lcCourrielContainer = new LayoutContainer(new RowLayout());
430
		
431
		
431
		fsContact.add(lcCourrielContainer);
432
		fsContact.add(lcCourrielContainer);
432
		hmIdentite.put("lcCourrielContainer", lcCourrielContainer);
433
		hmIdentite.put("lcCourrielContainer", lcCourrielContainer);
433
 
434
 
434
		ChampMultiValeurs sites = new ChampMultiValeurs("Sites web");
435
		ChampMultiValeurs sites = new ChampMultiValeurs("Sites web");
435
		sites.setValeurParDefaut("http://");
436
		sites.setValeurParDefaut("http://");
436
		sites.setValidation(Pattern.url, "http://www.monsite.com");
437
		sites.setValidation(Pattern.url, "http://www.monsite.com");
437
		fsContact.add(sites);
438
		fsContact.add(sites);
438
		hmIdentite.put("sites", sites);
439
		hmIdentite.put("sites", sites);
439
			
440
			
440
		FieldSet fsAutresInfos = new FieldSet();
441
		FieldSet fsAutresInfos = new FieldSet();
441
		fsAutresInfos.setHeading("Autres informations");
442
		fsAutresInfos.setHeading("Autres informations");
442
	
443
	
443
		formLayout = new FormLayout();
444
		formLayout = new FormLayout();
444
		formLayout.setLabelAlign(LabelAlign.LEFT);
445
		formLayout.setLabelAlign(LabelAlign.LEFT);
445
		fsAutresInfos.setLayout(formLayout); 
446
		fsAutresInfos.setLayout(formLayout); 
446
			
447
			
447
				
448
				
448
		formLayout = new FormLayout();
449
		formLayout = new FormLayout();
449
		formLayout.setLabelAlign(LabelAlign.TOP);
450
		formLayout.setLabelAlign(LabelAlign.TOP);
450
		LayoutContainer lcAutreInformations1 = new LayoutContainer(formLayout);
451
		LayoutContainer lcAutreInformations1 = new LayoutContainer(formLayout);
451
							
452
							
452
		//Civilité				
453
		//Civilité				
453
		ListStore<Valeur> storeSexe = new ListStore<Valeur>();
454
		ListStore<Valeur> storeSexe = new ListStore<Valeur>();
454
		ComboBox<Valeur> cbSexe = new ComboBox<Valeur>();
455
		ComboBox<Valeur> cbSexe = new ComboBox<Valeur>();
455
		cbSexe.setStore(storeSexe);
456
		cbSexe.setStore(storeSexe);
456
		cbSexe.setFieldLabel("Sexe");
457
		cbSexe.setFieldLabel("Sexe");
457
		cbSexe.setDisplayField("nom");
458
		cbSexe.setDisplayField("nom");
458
		cbSexe.setEmptyText("Choisissez le sexe:");
459
		cbSexe.setEmptyText("Choisissez le sexe:");
459
	
460
	
460
		lcAutreInformations1.add(cbSexe, fd100);			
461
		lcAutreInformations1.add(cbSexe, new FormData(100, 10));			
461
		hmIdentite.put("cbSexe", cbSexe);
462
		hmIdentite.put("cbSexe", cbSexe);
462
	
463
	
463
		mediateur.obtenirListeValeurEtRafraichir(this, "sexe");			
464
		mediateur.obtenirListeValeurEtRafraichir(this, "sexe");			
464
		
465
		
465
		//Description
466
		//Description
466
		TextArea taDescription = new TextArea();
467
		TextArea taDescription = new TextArea();
467
		taDescription.setEmptyText("Saisissez une description");
468
		taDescription.setEmptyText("Saisissez une description");
468
		taDescription.setFieldLabel("Description");
469
		taDescription.setFieldLabel("Description");
469
		taDescription.setWidth("100%");
470
		taDescription.setWidth("100%");
470
		taDescription.setName("description");
471
		taDescription.setName("description");
471
		
472
		
472
		lcAutreInformations1.add(taDescription, fd100);
473
		lcAutreInformations1.add(taDescription, fd100);
473
		hmIdentite.put("taDescription", taDescription);
474
		hmIdentite.put("taDescription", taDescription);
474
		
475
		
475
		fsAutresInfos.add(lcAutreInformations1);
476
		fsAutresInfos.add(lcAutreInformations1);
476
		
477
		
477
		// Logo
478
		// Logo
478
		LayoutContainer lcLogoUrl = new LayoutContainer();
479
		LayoutContainer lcLogoUrl = new LayoutContainer();
479
		hmIdentite.put("lcLogoUrl", lcLogoUrl);
480
		hmIdentite.put("lcLogoUrl", lcLogoUrl);
480
		
481
		
481
		ChampMultiValeursImage logo = new ChampMultiValeursImage(i18nC.personneLogos());
482
		ChampMultiValeursImage logo = new ChampMultiValeursImage(i18nC.personneLogos());
482
		logo.setImageHeight("150px");
483
		logo.setImageHeight("150px");
483
		logo.setValeurParDefaut("http://");
484
		logo.setValeurParDefaut("http://");
484
		logo.setValidation(Pattern.url, "http://www.monsite.com/mon_image.jpg");
485
		logo.setValidation(Pattern.url, "http://www.monsite.com/mon_image.jpg");
485
		logo.setValeurBoutonSupprimer("Supprimer");
486
		logo.setValeurBoutonSupprimer("Supprimer");
486
		hmIdentite.put("logos", logo);
487
		hmIdentite.put("logos", logo);
487
		
488
		
488
		lcLogoUrl.add(logo);
489
		lcLogoUrl.add(logo);
489
		
490
		
490
		fsAutresInfos.add(logo);
491
		fsAutresInfos.add(logo);
491
		
492
		
492
		LayoutContainer lcAutreInformations2 = new LayoutContainer(new ColumnLayout());
493
		LayoutContainer lcAutreInformations2 = new LayoutContainer(new ColumnLayout());
493
		hmIdentite.put("lcAutreInformations2", lcAutreInformations2);
494
		hmIdentite.put("lcAutreInformations2", lcAutreInformations2);
494
		fsAutresInfos.add(lcAutreInformations2);
495
		fsAutresInfos.add(lcAutreInformations2);
495
			
496
			
496
		right.add(fsAutresInfos);
497
		right.add(fsAutresInfos);
497
			
498
			
498
		// Ajout des évènements saisi
499
		// Ajout des évènements saisi
499
		KeyListener klNoms = new KeyListener()	{
500
		KeyListener klNoms = new KeyListener()	{
500
			public void componentKeyUp(ComponentEvent ev)	{
501
			public void componentKeyUp(ComponentEvent ev)	{
501
				rafraichir(null);	
502
				rafraichir(null);	
502
			}				
503
			}				
503
		};
504
		};
504
		
505
		
505
		SelectionChangedListener<Valeur> selectionChange = new SelectionChangedListener<Valeur>() {
506
		SelectionChangedListener<Valeur> selectionChange = new SelectionChangedListener<Valeur>() {
506
			public void selectionChanged(SelectionChangedEvent se) {
507
			public void selectionChanged(SelectionChangedEvent se) {
507
				rafraichir(null);
508
				rafraichir(null);
508
			}
509
			}
509
		};
510
		};
510
						
511
						
511
		cbPrefixe.addSelectionChangedListener(selectionChange);
512
		cbPrefixe.addSelectionChangedListener(selectionChange);
512
		cbPrefixe.addKeyListener(klNoms);
513
		cbPrefixe.addKeyListener(klNoms);
513
		tfPrenom.addKeyListener(klNoms);
514
		tfPrenom.addKeyListener(klNoms);
514
		tfNom.addKeyListener(klNoms);
515
		tfNom.addKeyListener(klNoms);
515
		cbSuffixe.addSelectionChangedListener(selectionChange);		
516
		cbSuffixe.addSelectionChangedListener(selectionChange);		
516
			
517
			
517
	}
518
	}
518
	
519
	
519
	public void creerComposantsAdresse()	{
520
	public void creerComposantsAdresse()	{
520
		// Gauche
521
		// Gauche
521
		LayoutContainer left = new LayoutContainer();
522
		LayoutContainer left = new LayoutContainer();
522
		left.setLayout(new FormLayout());
523
		left.setLayout(new FormLayout());
523
		left.setStyleAttribute("padding", "15px");
524
		left.setStyleAttribute("padding", "15px");
524
		// Droite
525
		// Droite
525
		LayoutContainer right = new LayoutContainer();
526
		LayoutContainer right = new LayoutContainer();
526
		right.setLayout(new FormLayout());
527
		right.setLayout(new FormLayout());
527
		
528
		
528
		// Principal
529
		// Principal
529
		LayoutContainer main = new LayoutContainer();
530
		LayoutContainer main = new LayoutContainer();
530
		main.setLayout(new TableLayout(2));
531
		main.setLayout(new TableLayout(2));
531
		
532
		
532
		// Ajout au principal
533
		// Ajout au principal
533
		main.add(left);
534
		main.add(left);
534
		main.add(right);	
535
		main.add(right);	
535
		
536
		
536
		TextField<String> tfAdresse1 = new TextField();
537
		TextField<String> tfAdresse1 = new TextField();
537
		tfAdresse1.setFieldLabel("Adresse");
538
		tfAdresse1.setFieldLabel("Adresse");
538
		tfAdresse1.setName("adresse_01");
539
		tfAdresse1.setName("adresse_01");
539
		left.add(tfAdresse1, fd100);
540
		left.add(tfAdresse1, fd100);
540
		hmAdresse.put("tfAdresse1", tfAdresse1);
541
		hmAdresse.put("tfAdresse1", tfAdresse1);
541
		
542
		
542
		TextField<String> tfAdresse2 = new TextField();
543
		TextField<String> tfAdresse2 = new TextField();
543
		tfAdresse2.setFieldLabel("Complément d'adresse");
544
		tfAdresse2.setFieldLabel("Complément d'adresse");
544
		tfAdresse2.setName("adresse_02");
545
		tfAdresse2.setName("adresse_02");
545
		left.add(tfAdresse2, fd100);
546
		left.add(tfAdresse2, fd100);
546
		hmAdresse.put("tfAdresse2", tfAdresse2);
547
		hmAdresse.put("tfAdresse2", tfAdresse2);
547
		
548
		
548
		ComboBox<Valeur> cbPays = new ComboBox<Valeur>();
549
		ComboBox<Valeur> cbPays = new ComboBox<Valeur>();
549
		cbPays.setFieldLabel("Pays");
550
		cbPays.setFieldLabel("Pays");
550
		cbPays.setDisplayField("nom");
551
		cbPays.setDisplayField("nom");
551
		cbPays.setEmptyText("Sélectionnez le pays:");
552
		cbPays.setEmptyText("Sélectionnez le pays:");
552
		
553
		
553
		ListStore<Valeur> storePays = new ListStore<Valeur>();
554
		ListStore<Valeur> storePays = new ListStore<Valeur>();
554
		cbPays.setStore(storePays);
555
		cbPays.setStore(storePays);
555
		
556
		
556
		right.add(cbPays, fd100);
557
		right.add(cbPays, fd100);
557
		hmAdresse.put("cbPays", cbPays);
558
		hmAdresse.put("cbPays", cbPays);
558
		
559
		
559
		SelectionChangedListener<Valeur> selectionChange = new SelectionChangedListener<Valeur>() {
560
		SelectionChangedListener<Valeur> selectionChange = new SelectionChangedListener<Valeur>() {
560
			public void selectionChanged(SelectionChangedEvent se) {
561
			public void selectionChanged(SelectionChangedEvent se) {
561
				// Rafraichir avec le pays sélectionné
562
				// Rafraichir avec le pays sélectionné
562
				obtenirListeRegionParPays(((Valeur) se.getSelectedItem()).getAbreviation().toString());
563
				obtenirListeRegionParPays(((Valeur) se.getSelectedItem()).getAbreviation().toString());
563
			}
564
			}
564
		};
565
		};
565
					
566
					
566
		cbPays.addSelectionChangedListener(selectionChange);
567
		cbPays.addSelectionChangedListener(selectionChange);
567
		
568
		
568
		
569
		
569
		ComboBox<Valeur> cbRegion = new ComboBox<Valeur>();
570
		ComboBox<Valeur> cbRegion = new ComboBox<Valeur>();
570
		cbRegion.setFieldLabel("Region");
571
		cbRegion.setFieldLabel("Region");
571
		cbRegion.setDisplayField("nom");
572
		cbRegion.setDisplayField("nom");
572
		cbRegion.setEmptyText("Sélectionnez la région:");
573
		cbRegion.setEmptyText("Sélectionnez la région:");
573
		cbRegion.setVisible(false);
574
		cbRegion.setVisible(false);
574
		
575
		
575
		ListStore<Valeur> storeRegion = new ListStore<Valeur>();
576
		ListStore<Valeur> storeRegion = new ListStore<Valeur>();
576
		cbRegion.setStore(storeRegion);
577
		cbRegion.setStore(storeRegion);
577
		
578
		
578
		
579
		
579
		right.add(cbRegion, fd100);
580
		right.add(cbRegion, fd100);
580
		hmAdresse.put("cbRegion", cbRegion);
581
		hmAdresse.put("cbRegion", cbRegion);
581
		
582
		
582
		TextField<String> tfBoitePostale = new TextField<String>();
583
		TextField<String> tfBoitePostale = new TextField<String>();
583
		tfBoitePostale.setFieldLabel("Boite postale");
584
		tfBoitePostale.setFieldLabel("Boite postale");
584
		tfBoitePostale.setName("bp");
585
		tfBoitePostale.setName("bp");
585
		
586
		
586
		left.add(tfBoitePostale, fd100);
587
		left.add(tfBoitePostale, fd100);
587
		hmAdresse.put("tfBoitePostale", tfBoitePostale);
588
		hmAdresse.put("tfBoitePostale", tfBoitePostale);
588
		
589
		
589
		TextField<Integer> tfCodePostal = new TextField<Integer>();
590
		TextField<Integer> tfCodePostal = new TextField<Integer>();
590
		tfCodePostal.setFieldLabel("Code postal");
591
		tfCodePostal.setFieldLabel("Code postal");
591
		tfCodePostal.setName("code_postal");
592
		tfCodePostal.setName("code_postal");
592
		
593
		
593
		right.add(tfCodePostal, fd100);
594
		right.add(tfCodePostal, fd100);
594
		hmAdresse.put("tfCodePostal", tfCodePostal);
595
		hmAdresse.put("tfCodePostal", tfCodePostal);
595
		
596
		
596
		TextField tfVille = new TextField();
597
		TextField tfVille = new TextField();
597
		tfVille.setFieldLabel("Ville");
598
		tfVille.setFieldLabel("Ville");
598
		tfVille.setName("ville");
599
		tfVille.setName("ville");
599
		
600
		
600
		right.add(tfVille, fd100);
601
		right.add(tfVille, fd100);
601
		hmAdresse.put("tfVille", tfVille);
602
		hmAdresse.put("tfVille", tfVille);
602
		
603
		
603
		// MAJ ComboBox
604
		// MAJ ComboBox
604
		mediateur.obtenirListeValeurEtRafraichir(this, "pays");
605
		mediateur.obtenirListeValeurEtRafraichir(this, "pays");
605
		
606
		
606
		FieldSet fsAdresse = new FieldSet();
607
		FieldSet fsAdresse = new FieldSet();
607
		fsAdresse.setHeading("Adresse personnelle");
608
		fsAdresse.setHeading("Adresse personnelle");
608
		fsAdresse.add(main);
609
		fsAdresse.add(main);
609
		
610
		
610
		tiAdresses.add(fsAdresse);
611
		tiAdresses.add(fsAdresse);
611
	}
612
	}
612
	
613
	
613
	public void creerComposantsInfosNat()	{
614
	public void creerComposantsInfosNat()	{
614
		
615
		
615
		FieldSet fsInfosNat = new FieldSet();
616
		FieldSet fsInfosNat = new FieldSet();
616
		fsInfosNat.setTitle("Informations Naturaliste");
617
		fsInfosNat.setTitle("Informations Naturaliste");
617
		
618
		
618
		ChampMultiValeurs specialite = new ChampMultiValeurs(i18nC.personneSpecialite());
619
		ChampMultiValeurs specialite = new ChampMultiValeurs(i18nC.personneSpecialite());
619
		fsInfosNat.add(specialite);
620
		fsInfosNat.add(specialite);
620
		hmInfosNat.put("specialite", specialite);
621
		hmInfosNat.put("specialite", specialite);
621
		
622
		
622
		ChampMultiValeursMultiTypes recolte = new ChampMultiValeursMultiTypes(i18nC.personneRecolte());
623
		ChampMultiValeursMultiTypes recolte = new ChampMultiValeursMultiTypes(i18nC.personneRecolte());
623
		recolte.initialiserType("pays");
624
		recolte.initialiserType("pays");
624
		hmInfosNat.put("recolte", recolte);
625
		hmInfosNat.put("recolte", recolte);
625
		
626
		
626
		fsInfosNat.add(recolte);
627
		fsInfosNat.add(recolte);
627
		tiInfosNat.add(fsInfosNat);
628
		tiInfosNat.add(fsInfosNat);
628
	}
629
	}
629
	
630
	
630
	
631
	
631
	
632
	
632
	/**
633
	/**
633
	 * Ajouter le bouton Sauvegarder et revenir à la liste à la barre d'outils donnée
634
	 * Ajouter le bouton Sauvegarder et revenir à la liste à la barre d'outils donnée
634
	 * 
635
	 * 
635
	 * @param barreOutils la barre d'outils à modifier
636
	 * @param barreOutils la barre d'outils à modifier
636
	 * */
637
	 * */
637
	private void ajouterBoutonEnregistrerEtRevenir(ButtonBar barreOutils)	{
638
	private void ajouterBoutonEnregistrerEtRevenir(ButtonBar barreOutils)	{
638
		
639
		
639
		//Le bouton réintialiser recharge la page sans sauvegarder les informations
640
		//Le bouton réintialiser recharge la page sans sauvegarder les informations
640
		enregistrerEtRevenir = new Button("Enregistrer et revenir à la liste");
641
		enregistrerEtRevenir = new Button("Enregistrer et revenir à la liste");
641
		enregistrerEtRevenir.setIcon(Images.ICONES.scriptGo());
642
		enregistrerEtRevenir.setIcon(Images.ICONES.scriptGo());
642
		enregistrerEtRevenir.setIconAlign(IconAlign.LEFT);
643
		enregistrerEtRevenir.setIconAlign(IconAlign.LEFT);
643
		enregistrerEtRevenir.addSelectionListener(new SelectionListener<ButtonEvent>() {  
644
		enregistrerEtRevenir.addSelectionListener(new SelectionListener<ButtonEvent>() {  
644
			public void componentSelected(ButtonEvent ce) {  
645
			public void componentSelected(ButtonEvent ce) {  
645
				if (enregistrer() == true)	{
646
				if (enregistrer() == true)	{
646
					((Mediateur) Registry.get(RegistreId.MEDIATEUR)).clicMenu("Personnes");
647
					((Mediateur) Registry.get(RegistreId.MEDIATEUR)).clicMenu("Personnes");
647
				}
648
				}
648
			}  
649
			}  
649
		});
650
		});
650
		
651
		
651
		hmIdentite.put("btnEnregistrerRevenir", enregistrerEtRevenir);
652
		hmIdentite.put("btnEnregistrerRevenir", enregistrerEtRevenir);
652
		barreOutils.add(enregistrerEtRevenir);
653
		barreOutils.add(enregistrerEtRevenir);
653
		enregistrerEtRevenir.setEnabled(false);
654
		enregistrerEtRevenir.setEnabled(false);
654
		
655
		
655
	}
656
	}
656
	
657
	
657
	/**
658
	/**
658
	 * Ajouter le bouton Sauvegarder à la barre d'outils donnée
659
	 * Ajouter le bouton Sauvegarder à la barre d'outils donnée
659
	 * 
660
	 * 
660
	 * @param barreOutils la barre d'outils à modifier
661
	 * @param barreOutils la barre d'outils à modifier
661
	 * */
662
	 * */
662
	private void ajouterBoutonEnregistrer(ButtonBar barreOutils)	{
663
	private void ajouterBoutonEnregistrer(ButtonBar barreOutils)	{
663
		//Le bouton réintialiser recharge la page sans sauvegarder les informations
664
		//Le bouton réintialiser recharge la page sans sauvegarder les informations
664
		enregistrer = new Button("Enregistrer");
665
		enregistrer = new Button("Enregistrer");
665
		enregistrer.setIcon(Images.ICONES.scriptSave());
666
		enregistrer.setIcon(Images.ICONES.scriptSave());
666
		enregistrer.setIconAlign(IconAlign.LEFT);
667
		enregistrer.setIconAlign(IconAlign.LEFT);
667
		enregistrer.setId("main-button");
668
		enregistrer.setId("main-button");
668
		enregistrer.addSelectionListener(new SelectionListener<ButtonEvent>() {  
669
		enregistrer.addSelectionListener(new SelectionListener<ButtonEvent>() {  
669
			public void componentSelected(ButtonEvent ce) {  
670
			public void componentSelected(ButtonEvent ce) {  
670
				enregistrer();
671
				enregistrer();
671
			}  
672
			}  
672
		});
673
		});
673
		enregistrer.setEnabled(false);
674
		enregistrer.setEnabled(false);
674
		hmIdentite.put("btnEnregistrer", enregistrer);
675
		hmIdentite.put("btnEnregistrer", enregistrer);
675
		barreOutils.add(enregistrer);
676
		barreOutils.add(enregistrer);
676
	}
677
	}
677
	
678
	
678
	/**
679
	/**
679
	 * Ajouter le bouton annuler à la barre d'outils donnée
680
	 * Ajouter le bouton annuler à la barre d'outils donnée
680
	 * 
681
	 * 
681
	 * @param barreOutils la barre d'outils à modifier
682
	 * @param barreOutils la barre d'outils à modifier
682
	 * */
683
	 * */
683
	public static void ajouterBoutonAnnuler(ButtonBar barreOutils)	{
684
	public static void ajouterBoutonAnnuler(ButtonBar barreOutils)	{
684
		
685
		
685
		// Le bouton annuler ne sauvegarde pas les informations et renvoie vers la page précédente
686
		// Le bouton annuler ne sauvegarde pas les informations et renvoie vers la page précédente
686
		Button annuler = new Button("Revenir à la liste");
687
		Button annuler = new Button("Revenir à la liste");
687
		annuler.addSelectionListener(new SelectionListener<ButtonEvent>() {  
688
		annuler.addSelectionListener(new SelectionListener<ButtonEvent>() {  
688
			public void componentSelected(ButtonEvent ce) {  
689
			public void componentSelected(ButtonEvent ce) {  
689
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).clicMenu("Personnes");
690
				((Mediateur) Registry.get(RegistreId.MEDIATEUR)).clicMenu("Personnes");
690
			}  
691
			}  
691
		});
692
		});
692
		annuler.setIconStyle(ComposantClass.ICONE_SUPPRIMER);
693
		annuler.setIconStyle(ComposantClass.ICONE_SUPPRIMER);
693
		barreOutils.add(annuler);
694
		barreOutils.add(annuler);
694
	}
695
	}
695
	
696
	
696
	public void obtenirListeRegionParPays(String strPays)	{
697
	public void obtenirListeRegionParPays(String strPays)	{
697
		mediateur.obtenirListeRegionsEtRafraichir(this, "region", strPays);
698
		mediateur.obtenirListeRegionsEtRafraichir(this, "region", strPays);
698
	}
699
	}
699
	
700
	
700
	// RAFRAICHISSEMENT DU PANNEAU
701
	// RAFRAICHISSEMENT DU PANNEAU
701
 
702
 
702
	public void rafraichir(Object nouvellesDonnees) {
703
	public void rafraichir(Object nouvellesDonnees) {
703
		if (nouvellesDonnees instanceof ValeurListe) {
704
		if (nouvellesDonnees instanceof ValeurListe) {
704
			ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
705
			ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
705
			
706
			
706
			// Créer une liste de valeurs
707
			// Créer une liste de valeurs
707
			List<Valeur> liste = new ArrayList<Valeur>();
708
			List<Valeur> liste = new ArrayList<Valeur>();
708
			for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
709
			for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
709
				liste.add(listeValeurs.get(it.next()));
710
				liste.add(listeValeurs.get(it.next()));
710
			}
711
			}
-
 
712
			
711
			
713
	
712
			if (listeValeurs.getId().equals(config.getListeId("prefixe")))	{
714
			if (listeValeurs.getId().equals(config.getListeId("prefixe")))	{
713
				remplirCombobox("cbPrefixe", liste, "hmIdentite");
715
				remplirCombobox("cbPrefixe", liste, "hmIdentite");
714
			} else if (listeValeurs.getId().equals(config.getListeId("suffixes"))) {
716
			} else if (listeValeurs.getId().equals(config.getListeId("suffixes"))) {
715
				remplirCombobox("cbSuffixe", liste, "hmIdentite");
717
				remplirCombobox("cbSuffixe", liste, "hmIdentite");
716
			} else if (listeValeurs.getId().equals(config.getListeId("sexe"))) {
718
			} else if (listeValeurs.getId().equals(config.getListeId("sexe"))) {
717
				remplirCombobox("cbSexe", liste, "hmIdentite");
719
				remplirCombobox("cbSexe", liste, "hmIdentite");
718
			} else if (listeValeurs.getId().equals(config.getListeId("tel"))) {
720
			} else if (listeValeurs.getId().equals(config.getListeId("tel"))) {
719
				remplirCombobox("cbTelephone", liste, "hmIdentite");
721
				remplirCombobox("cbTelephone", liste, "hmIdentite");
720
 
722
 
721
				//Préselection du tél
723
				//Préselection du tél
722
				ComboBox<Valeur> cbTelephone = (ComboBox<Valeur>) hmIdentite.get("cbTelephone");
724
				ComboBox<Valeur> cbTelephone = (ComboBox<Valeur>) hmIdentite.get("cbTelephone");
723
				cbTelephone.setValue(liste.get(1));
725
				cbTelephone.setValue(liste.get(1));
724
			} else if (listeValeurs.getId().equals(config.getListeId("pays")))	{
726
			} else if (listeValeurs.getId().equals(config.getListeId("pays")))	{
725
				remplirCombobox("cbPays", liste, "hmAdresse");
727
				remplirCombobox("cbPays", liste, "hmAdresse");
726
			} else if (listeValeurs.getId().equals(config.getListeId("region")))	{
728
			} else if (listeValeurs.getId().equals(config.getListeId("region")))	{
727
				remplirCombobox("cbRegion", liste, "hmAdresse");
729
				remplirCombobox("cbRegion", liste, "hmAdresse");
728
				((ComboBox) hmAdresse.get("cbRegion")).setVisible(true);
730
				((ComboBox) hmAdresse.get("cbRegion")).setVisible(true);
729
			}
731
			}
730
		} else if (nouvellesDonnees instanceof ProjetListe) {
732
		} else if (nouvellesDonnees instanceof ProjetListe) {
731
			ProjetListe projets = (ProjetListe) nouvellesDonnees;
733
			ProjetListe projets = (ProjetListe) nouvellesDonnees;
732
			List<Projet> liste = projets.toList();
734
			List<Projet> liste = projets.toList();
733
			
735
			
734
			ComboBox cbProjets = (ComboBox) hmIdentite.get("cbProjets");
736
			ComboBox cbProjets = (ComboBox) hmIdentite.get("cbProjets");
735
			ListStore<Projet> storeProjets= cbProjets.getStore();
737
			ListStore<Projet> storeProjets= cbProjets.getStore();
736
			storeProjets.removeAll();
738
			storeProjets.removeAll();
737
			storeProjets.add(liste);
739
			storeProjets.add(liste);
738
			cbProjets.setStore(storeProjets);
740
			cbProjets.setStore(storeProjets);
739
		} else if (nouvellesDonnees instanceof Information)	{
741
		} else if (nouvellesDonnees instanceof Information)	{
740
			Information info = (Information) nouvellesDonnees;
742
			Information info = (Information) nouvellesDonnees;
741
			if (info.getType().equals("ajout_personne"))	{
743
			if (info.getType().equals("ajout_personne"))	{
742
				if (info.getDonnee(0) != null) {
744
				if (info.getDonnee(0) != null) {
743
					personneSelectionnee.setId(info.getDonnee(0).toString());
745
					personneSelectionnee.setId(info.getDonnee(0).toString());
744
					GWT.log("Ajout de la personne " + personneSelectionnee.getId(), null);
746
					GWT.log("Ajout de la personne " + personneSelectionnee.getId(), null);
745
					Info.display("Enregistrement", "La personne a été ajoutée (id: " + personneSelectionnee.getId() + ")");
747
					Info.display("Enregistrement", "La personne a été ajoutée (id: " + personneSelectionnee.getId() + ")");
746
					repandreRafraichissement();
748
					repandreRafraichissement();
747
					if (clicBoutonvalidation)	{
749
					if (clicBoutonvalidation)	{
748
						mediateur.clicMenu(menuIdCourant);
750
						mediateur.clicMenu(menuIdCourant);
749
					}
751
					}
750
				} else {
752
				} else {
751
					Info.display("Enregistrement", info.getMessages().toString());
753
					Info.display("Enregistrement", info.getMessages().toString());
752
				}
754
				}
753
			} else if (info.getType().equals("modification_personne"))	{
755
			} else if (info.getType().equals("modification_personne"))	{
754
				Info.display("Enregistrement", "Les modifications apportées à la personne " + personneSelectionnee.getId() + " ont été correctement enregistrées.");
756
				Info.display("Enregistrement", "Les modifications apportées à la personne " + personneSelectionnee.getId() + " ont été correctement enregistrées.");
755
				repandreRafraichissement();
757
				repandreRafraichissement();
756
				if (clicBoutonvalidation)	{
758
				if (clicBoutonvalidation)	{
757
					mediateur.clicMenu(menuIdCourant);
759
					mediateur.clicMenu(menuIdCourant);
758
				}
760
				}
759
			} else if (info.getType().equals("maj_utilisateur"))	{
761
			} else if (info.getType().equals("maj_utilisateur"))	{
760
				gererEtatActivationBouton();
762
				gererEtatActivationBouton();
761
			} else if (info.getDonnee(0) instanceof PersonneListe)	{
763
			} else if (info.getDonnee(0) instanceof PersonneListe)	{
762
				
764
				
763
				Collection colPersonneListe = ((PersonneListe) info.getDonnee(0)).values();
765
				Collection colPersonneListe = ((PersonneListe) info.getDonnee(0)).values();
764
				Iterator itPersonneListe = colPersonneListe.iterator();
766
				Iterator itPersonneListe = colPersonneListe.iterator();
765
				Personne personne = (Personne) itPersonneListe.next();
767
				Personne personne = (Personne) itPersonneListe.next();
766
				
768
				
767
				personneSauvegarde = new Personne();
769
				personneSauvegarde = new Personne();
768
				personneSauvegarde = (Personne) personne.cloner(personneSauvegarde);
770
				personneSauvegarde = (Personne) personne.cloner(personneSauvegarde);
769
				
771
				
770
				binderPersonne(personne);
772
				binderPersonne(personne);
771
				
773
				
772
				mettreAJourPersonne(personne);
774
				mettreAJourPersonne(personne);
773
				
775
				
774
				nouvellesDonnees = null;
776
				nouvellesDonnees = null;
775
			} else {
777
			} else {
776
				Info.display("messages", info.getMessages().toString());
778
				Info.display("messages", info.getMessages().toString());
777
			}
779
			}
778
		}
780
		}
779
		
781
		
780
		if (nouvellesDonnees == null) {
782
		if (nouvellesDonnees == null) {
781
			ComboBox cb= (ComboBox) hmIdentite.get("cbPrefixe");
783
			ComboBox cb= (ComboBox) hmIdentite.get("cbPrefixe");
782
			
784
			
783
			//Met à jour le nom Complet du formulaire
785
			//Met à jour le nom Complet du formulaire
784
			String valeurRetour = "";
786
			String valeurRetour = "";
785
			
787
			
786
			// Prefixe
788
			// Prefixe
787
			String prefixe = "";
789
			String prefixe = "";
788
			Valeur valPrefixe = (Valeur) ((ComboBox) hmIdentite.get("cbPrefixe")).getValue();
790
			Valeur valPrefixe = (Valeur) ((ComboBox) hmIdentite.get("cbPrefixe")).getValue();
789
			
791
			
790
			if (valPrefixe != null)	{
792
			if (valPrefixe != null)	{
791
				prefixe = valPrefixe.getNom();
793
				prefixe = valPrefixe.getNom();
792
			} else 	{
794
			} else 	{
793
				prefixe =  (String) ((ComboBox) hmIdentite.get("cbPrefixe")).getRawValue();
795
				prefixe =  (String) ((ComboBox) hmIdentite.get("cbPrefixe")).getRawValue();
794
			}		
796
			}		
795
			
797
			
796
			// Prénom
798
			// Prénom
797
			String prenom = (String) ((TextField) hmIdentite.get("tfPrenom")).getValue();
799
			String prenom = (String) ((TextField) hmIdentite.get("tfPrenom")).getValue();
798
			
800
			
799
			// Nom
801
			// Nom
800
			String nom = (String) ((TextField) hmIdentite.get("tfNom")).getValue();
802
			String nom = (String) ((TextField) hmIdentite.get("tfNom")).getValue();
801
			
803
			
802
			// Suffixe
804
			// Suffixe
803
			String suffixe = "";
805
			String suffixe = "";
804
			Valeur valSuffixe = (Valeur) ((ComboBox) hmIdentite.get("cbSuffixe")).getValue();
806
			Valeur valSuffixe = (Valeur) ((ComboBox) hmIdentite.get("cbSuffixe")).getValue();
805
			
807
			
806
			if (valSuffixe != null)	{
808
			if (valSuffixe != null)	{
807
				suffixe = valSuffixe.getNom();
809
				suffixe = valSuffixe.getNom();
808
			} else 	{
810
			} else 	{
809
				suffixe =  (String) ((ComboBox) hmIdentite.get("cbSuffixe")).getRawValue();
811
				suffixe =  (String) ((ComboBox) hmIdentite.get("cbSuffixe")).getRawValue();
810
			}
812
			}
811
			
813
			
812
			// Mettre à jour la valeur
814
			// Mettre à jour la valeur
813
			valeurRetour = prefixe + " " + prenom + " " + nom + " " + suffixe;
815
			valeurRetour = prefixe + " " + prenom + " " + nom + " " + suffixe;
814
			valeurRetour = valeurRetour.replaceAll("null", "");
816
			valeurRetour = valeurRetour.replaceAll("null", "");
815
			
817
			
816
			((LabelField) hmIdentite.get("nomComplet")).setValue(valeurRetour);
818
			((LabelField) hmIdentite.get("nomComplet")).setValue(valeurRetour);
817
			
819
			
818
			if (!valeurRetour.trim().equals(""))	{
820
			if (!valeurRetour.trim().equals(""))	{
819
				((LabelField) hmIdentite.get("nomComplet")).show();
821
				((LabelField) hmIdentite.get("nomComplet")).show();
820
			} else {
822
			} else {
821
				((LabelField) hmIdentite.get("nomComplet")).hide();
823
				((LabelField) hmIdentite.get("nomComplet")).hide();
822
			}
824
			}
823
		}
825
		}
824
		
826
		
825
		mediateur.masquerPopinChargement();
827
		mediateur.masquerPopinChargement();
826
		
828
		
827
		if (this.mode.equals(MODE_AJOUTER))	{
829
		if (this.mode.equals(MODE_AJOUTER))	{
828
			gererEtatActivationBouton();
830
			gererEtatActivationBouton();
829
		}
831
		}
830
	}
832
	}
831
 
833
 
832
	private void repandreRafraichissement() {
834
	private void repandreRafraichissement() {
833
		if (vueExterneARafraichirApresValidation != null) {
835
		if (vueExterneARafraichirApresValidation != null) {
834
			String type = "personne_modifiee";
836
			String type = "personne_modifiee";
835
			if (mode.equals(Formulaire.MODE_AJOUTER)) {
837
			if (mode.equals(Formulaire.MODE_AJOUTER)) {
836
				type = "personne_ajoutee";
838
				type = "personne_ajoutee";
837
			}
839
			}
838
			Information info = new Information(type);
840
			Information info = new Information(type);
839
			info.setDonnee(0, personneSelectionnee);
841
			info.setDonnee(0, personneSelectionnee);
840
			vueExterneARafraichirApresValidation.rafraichir(info);
842
			vueExterneARafraichirApresValidation.rafraichir(info);
841
		}
843
		}
842
	}
844
	}
843
	
845
	
844
	private void mettreAJourPersonne(Personne personne)	{
846
	private void mettreAJourPersonne(Personne personne)	{
845
		//Mise à jour de la personne		
847
		//Mise à jour de la personne		
846
		//Personne personne = (Personne) nouvellesDonnees;
848
		//Personne personne = (Personne) nouvellesDonnees;
847
		
849
		
848
		ComboBox cbProjets = (ComboBox) hmIdentite.get("cbProjets");
850
		ComboBox cbProjets = (ComboBox) hmIdentite.get("cbProjets");
849
		cbProjets.setValue(cbProjets.getStore().findModel("id_projet", personne.get("ce_projet")));
851
		cbProjets.setValue(cbProjets.getStore().findModel("id_projet", personne.get("ce_projet")));
850
		
852
		
851
		//Prefixe
853
		//Prefixe
852
		String prefixe = personne.get("ce_truk_prefix");
854
		String prefixe = personne.get("ce_truk_prefix");
853
		ComboBox<Valeur> cbPrefixe = (ComboBox<Valeur>) hmIdentite.get("cbPrefixe");
855
		ComboBox<Valeur> cbPrefixe = (ComboBox<Valeur>) hmIdentite.get("cbPrefixe");
854
		
856
		
855
		
857
		
856
		String prefixeCourant = personne.get("ce_truk_prefix");
858
		String prefixeCourant = personne.get("ce_truk_prefix");
857
		if (cbPrefixe.getStore().findModel("id_valeur", prefixeCourant) != null)	{
859
		if (cbPrefixe.getStore().findModel("id_valeur", prefixeCourant) != null)	{
858
			cbPrefixe.setValue(cbPrefixe.getStore().findModel("id_valeur", prefixeCourant));
860
			cbPrefixe.setValue(cbPrefixe.getStore().findModel("id_valeur", prefixeCourant));
859
		}	else	{
861
		}	else	{
860
			cbPrefixe.setRawValue(prefixeCourant);
862
			cbPrefixe.setRawValue(prefixeCourant);
861
		}
863
		}
862
		
864
		
863
		
865
		
864
		((TextField) hmIdentite.get("tfPrenom")).setValue(personne.get("prenom"));
866
		((TextField) hmIdentite.get("tfPrenom")).setValue(personne.get("prenom"));
865
		((TextField) hmIdentite.get("tfNom")).setValue(personne.get("nom"));
867
		((TextField) hmIdentite.get("tfNom")).setValue(personne.get("nom"));
866
		
868
		
867
		//Suffixe
869
		//Suffixe
868
		String suffixe = personne.get("ce_truk_suffixe");
870
		String suffixe = personne.get("ce_truk_suffixe");
869
		ComboBox<Valeur> cbSuffixe = (ComboBox<Valeur>) hmIdentite.get("cbSuffixe");
871
		ComboBox<Valeur> cbSuffixe = (ComboBox<Valeur>) hmIdentite.get("cbSuffixe");
870
		
872
		
871
		String suffixeCourant = personne.get("ce_truk_suffix");
873
		String suffixeCourant = personne.get("ce_truk_suffix");
872
		if (cbSuffixe.getStore().findModel("id_valeur", suffixeCourant) != null)	{
874
		if (cbSuffixe.getStore().findModel("id_valeur", suffixeCourant) != null)	{
873
			cbSuffixe.setValue(cbSuffixe.getStore().findModel("id_valeur", suffixeCourant));
875
			cbSuffixe.setValue(cbSuffixe.getStore().findModel("id_valeur", suffixeCourant));
874
		}	else	{
876
		}	else	{
875
			cbSuffixe.setRawValue(suffixeCourant);
877
			cbSuffixe.setRawValue(suffixeCourant);
876
		}
878
		}
877
		
879
		
878
		((ChampMultiValeurs) hmIdentite.get("nomAutre")).peupler(personne.getString("truk_nom_autre"));
880
		((ChampMultiValeurs) hmIdentite.get("nomAutre")).peupler(personne.getString("truk_nom_autre"));
879
		((TextField) hmIdentite.get("tfAbreviation")).setValue(personne.get("abreviation"));
881
		((TextField) hmIdentite.get("tfAbreviation")).setValue(personne.get("abreviation"));
880
		((ChampMultiValeurs) hmIdentite.get("abreviationAutre")).peupler(personne.getString("truk_abreviation_autre"));
882
		((ChampMultiValeurs) hmIdentite.get("abreviationAutre")).peupler(personne.getString("truk_abreviation_autre"));
881
		
883
		
882
		
884
		
883
		(((DateField) hmIdentite.get("dfDateNaissance"))).setValue(personne.getDate("naissance_date"));
885
		(((DateField) hmIdentite.get("dfDateNaissance"))).setValue(personne.getDate("naissance_date"));
884
		((TextField) hmIdentite.get("tfLieuNaissance")).setValue(personne.get("naissance_lieu"));
886
		((TextField) hmIdentite.get("tfLieuNaissance")).setValue(personne.get("naissance_lieu"));
885
		
887
		
886
		if (personne.estDecedee())	{
888
		if (personne.estDecedee())	{
887
			(((DateField) hmIdentite.get("dfDateDeces"))).setValue(personne.getDate("deces_date"));
889
			(((DateField) hmIdentite.get("dfDateDeces"))).setValue(personne.getDate("deces_date"));
888
			((TextField) hmIdentite.get("tfLieuDeces")).setValue(personne.get("deces_lieu"));
890
			((TextField) hmIdentite.get("tfLieuDeces")).setValue(personne.get("deces_lieu"));
889
			Radio rbEstDecede = (Radio) hmIdentite.get("rbEstDecedee");
891
			Radio rbEstDecede = (Radio) hmIdentite.get("rbEstDecedee");
890
			rbEstDecede.setValue(true);
892
			rbEstDecede.setValue(true);
891
			
893
			
892
		}
894
		}
893
		
895
		
894
		((ChampMultiValeurs) hmIdentite.get("telephones")).peupler(personne.getString("truk_telephone"));
896
		((ChampMultiValeurs) hmIdentite.get("telephones")).peupler(personne.getString("truk_telephone"));
895
		
897
		
896
		//Courriel
898
		//Courriel
897
		((ChampMultiValeurs) hmIdentite.get("courriels")).peupler(personne.getCourriel());
899
		((ChampMultiValeurs) hmIdentite.get("courriels")).peupler(personne.getCourriel());
898
		
900
		
899
		//Sites web
901
		//Sites web
900
		((ChampMultiValeurs) hmIdentite.get("sites")).peupler(personne.getString("truk_url"));
902
		((ChampMultiValeurs) hmIdentite.get("sites")).peupler(personne.getString("truk_url"));
901
		
903
		
902
		
904
		
903
		// Sexe
905
		// Sexe
904
		String strSexe = personne.get("ce_sexe");
906
		String strSexe = personne.get("ce_sexe");
905
		ComboBox<Valeur> cbSexe = (ComboBox<Valeur>) hmIdentite.get("cbSexe");
907
		ComboBox<Valeur> cbSexe = (ComboBox<Valeur>) hmIdentite.get("cbSexe");
906
 
908
 
907
		if (cbSexe.getStore().findModel("id_valeur", strSexe) != null)	{
909
		if (cbSexe.getStore().findModel("id_valeur", strSexe) != null)	{
908
			cbSexe.setValue(cbSexe.getStore().findModel("id_valeur", strSexe));
910
			cbSexe.setValue(cbSexe.getStore().findModel("id_valeur", strSexe));
909
		}	else	{
911
		}	else	{
910
			cbSexe.setRawValue(strSexe);
912
			cbSexe.setRawValue(strSexe);
911
		}
913
		}
912
		
914
		
913
		((TextArea) hmIdentite.get("taDescription")).setRawValue((String) personne.get("description"));
915
		((TextArea) hmIdentite.get("taDescription")).setRawValue((String) personne.get("description"));
914
		
916
		
915
		//Logo
917
		//Logo
916
		((ChampMultiValeurs) hmIdentite.get("logos")).peupler(personne.getString("truk_logo"));
918
		((ChampMultiValeurs) hmIdentite.get("logos")).peupler(personne.getString("truk_logo"));
917
		
919
		
918
		/*--------------------------------------------------
920
		/*--------------------------------------------------
919
		                      Adresse
921
		                      Adresse
920
		 ---------------------------------------------------*/
922
		 ---------------------------------------------------*/
921
		
923
		
922
		// Adresse
924
		// Adresse
923
		((TextField<String>) hmAdresse.get("tfAdresse1")).setValue((String) personne.get("adresse_01"));
925
		((TextField<String>) hmAdresse.get("tfAdresse1")).setValue((String) personne.get("adresse_01"));
924
 
926
 
925
		// Complément
927
		// Complément
926
		((TextField<String>) hmAdresse.get("tfAdresse2")).setValue((String) personne.get("adresse_02"));
928
		((TextField<String>) hmAdresse.get("tfAdresse2")).setValue((String) personne.get("adresse_02"));
927
		
929
		
928
		//Boite postale
930
		//Boite postale
929
		((TextField<String>) hmAdresse.get("tfBoitePostale")).setValue((String) personne.get("bp"));
931
		((TextField<String>) hmAdresse.get("tfBoitePostale")).setValue((String) personne.get("bp"));
930
		
932
		
931
		//Pays
933
		//Pays
932
		String strPays = personne.get("pays");
934
		String strPays = personne.get("pays");
933
		ComboBox<Valeur> cbPays = (ComboBox<Valeur>) hmAdresse.get("cbPays");
935
		ComboBox<Valeur> cbPays = (ComboBox<Valeur>) hmAdresse.get("cbPays");
934
		
936
		
935
		
937
		
936
		if (cbPays.getStore().findModel("nom", strPays) != null)	{
938
		if (cbPays.getStore().findModel("nom", strPays) != null)	{
937
			cbPays.setValue(cbPays.getStore().findModel("nom", strPays));
939
			cbPays.setValue(cbPays.getStore().findModel("nom", strPays));
938
		}	else	{
940
		}	else	{
939
			cbPays.setRawValue(strPays);
941
			cbPays.setRawValue(strPays);
940
		}
942
		}
941
		
943
		
942
		//Région
944
		//Région
943
		String strRegion = personne.get("region");
945
		String strRegion = personne.get("region");
944
		if ((strRegion!=null)&&(!strRegion.equals("")))	{
946
		if ((strRegion!=null)&&(!strRegion.equals("")))	{
945
			ComboBox<Valeur> cbRegion = (ComboBox<Valeur>) hmAdresse.get("cbRegion");
947
			ComboBox<Valeur> cbRegion = (ComboBox<Valeur>) hmAdresse.get("cbRegion");
946
			cbRegion.setVisible(true);
948
			cbRegion.setVisible(true);
947
			
949
			
948
			if (cbRegion.getStore().findModel("nom", strRegion) != null)	{
950
			if (cbRegion.getStore().findModel("nom", strRegion) != null)	{
949
				cbRegion.setValue(cbRegion.getStore().findModel("nom", strRegion));
951
				cbRegion.setValue(cbRegion.getStore().findModel("nom", strRegion));
950
			}	else	{
952
			}	else	{
951
				cbRegion.setRawValue(strRegion);
953
				cbRegion.setRawValue(strRegion);
952
			}
954
			}
953
		}
955
		}
954
		
956
		
955
		//Cp
957
		//Cp
956
		((TextField) hmAdresse.get("tfCodePostal")).setValue(personne.get("code_postal"));
958
		((TextField) hmAdresse.get("tfCodePostal")).setValue(personne.get("code_postal"));
957
		
959
		
958
		//Ville
960
		//Ville
959
		((TextField) hmAdresse.get("tfVille")).setValue(personne.get("ville"));
961
		((TextField) hmAdresse.get("tfVille")).setValue(personne.get("ville"));
960
		
962
		
961
		/*--------------------------------------------------------
963
		/*--------------------------------------------------------
962
		 * 					Infos naturalistes
964
		 * 					Infos naturalistes
963
		 * -----------------------------------------------------*/
965
		 * -----------------------------------------------------*/
964
		
966
		
965
		((ChampMultiValeurs) hmInfosNat.get("specialite")).peupler(personne.getString("ce_truk_specialite"));
967
		((ChampMultiValeurs) hmInfosNat.get("specialite")).peupler(personne.getString("ce_truk_specialite"));
966
		((ChampMultiValeursMultiTypes) hmInfosNat.get("recolte")).peupler(personne.getString("truk_recolte"));
968
		((ChampMultiValeursMultiTypes) hmInfosNat.get("recolte")).peupler(personne.getString("truk_recolte"));
967
		 
969
		 
968
		gererEtatActivationBouton();
970
		gererEtatActivationBouton();
969
	}
971
	}
970
 
972
 
971
	public void remplirCombobox(String idComboBox, List liste, String hashMapId)	{
973
	public void remplirCombobox(String idComboBox, List liste, String hashMapId)	{
972
		HashMap hm = null;
974
		HashMap hm = null;
973
		if (hashMapId.equals("hmIdentite"))	{
975
		if (hashMapId.equals("hmIdentite"))	{
974
			hm = hmIdentite;
976
			hm = hmIdentite;
975
		} else if (hashMapId.equals("hmAdresse")){
977
		} else if (hashMapId.equals("hmAdresse")){
976
			hm = hmAdresse;
978
			hm = hmAdresse;
977
		} else {
979
		} else {
978
			hm = hmInfosNat;
980
			hm = hmInfosNat;
979
		}
981
		}
980
		
982
		
981
		ListStore<Valeur> store = ((ComboBox) hm.get(idComboBox)).getStore();
983
		ListStore<Valeur> store = ((ComboBox) hm.get(idComboBox)).getStore();
982
		
984
		
983
		store.removeAll();
985
		store.removeAll();
984
		store.add(liste);
986
		store.add(liste);
985
		((ComboBox) hm.get(idComboBox)).setStore(store);
987
		((ComboBox) hm.get(idComboBox)).setStore(store);
986
	}
988
	}
987
	
989
	
988
	private void gererEtatActivationBouton()	{
990
	private void gererEtatActivationBouton()	{
989
	/*	if (((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT)).isIdentifie() == false)	{			
991
	/*	if (((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT)).isIdentifie() == false)	{			
990
			enregistrer.setEnabled(false);
992
			enregistrer.setEnabled(false);
991
			enregistrerEtRevenir.setEnabled(false);
993
			enregistrerEtRevenir.setEnabled(false);
992
		} else	{
994
		} else	{
993
			enregistrer.setEnabled(true);
995
			enregistrer.setEnabled(true);
994
			enregistrerEtRevenir.setEnabled(true);
996
			enregistrerEtRevenir.setEnabled(true);
995
		}*/
997
		}*/
996
	}
998
	}
997
	
999
	
998
	public void reinitialiserFormulaire()	{
1000
	public void reinitialiserFormulaire()	{
999
		mediateur.afficherPopinChargement();
1001
		mediateur.afficherPopinChargement();
1000
		
1002
		
1001
		mettreAJourPersonne(personneSauvegarde);
1003
		mettreAJourPersonne(personneSauvegarde);
1002
		
1004
		
1003
		mediateur.masquerPopinChargement();
1005
		mediateur.masquerPopinChargement();
1004
	}
1006
	}
1005
	
1007
	
1006
	public void binderPersonne(Personne personne)	{
1008
	public void binderPersonne(Personne personne)	{
1007
		binding = new FormBinding(getFormulaire());
1009
		binding = new FormBinding(getFormulaire());
1008
		
1010
		
1009
		personneSelectionnee = personne;
1011
		personneSelectionnee = personne;
1010
		binding.autoBind();
1012
		binding.autoBind();
1011
		binding.bind(personneSelectionnee);
1013
		binding.bind(personneSelectionnee);
1012
		layout();
1014
		layout();
1013
	}
1015
	}
1014
 
1016
 
1015
	/**
1017
	/**
1016
	 * Enregistre les information de la personne en cours 
1018
	 * Enregistre les information de la personne en cours 
1017
	 * 
1019
	 * 
1018
	 */
1020
	 */
1019
	public boolean enregistrer()	{
1021
	public boolean enregistrer()	{
1020
		boolean success = false;
1022
		boolean success = false;
1021
		LinkedList lstMessageErreur = new LinkedList<String>();
1023
		LinkedList lstMessageErreur = new LinkedList<String>();
1022
		
1024
		
1023
		ComboBox<Projet> cbProjets = (ComboBox<Projet>) hmIdentite.get("cbProjets");
1025
		ComboBox<Projet> cbProjets = (ComboBox<Projet>) hmIdentite.get("cbProjets");
1024
		Projet projet = cbProjets.getValue();
1026
		Projet projet = cbProjets.getValue();
1025
		if (projet == null)	{
1027
		if (projet == null)	{
1026
			lstMessageErreur.add("Le projet n'a pas été renseigné");
1028
			lstMessageErreur.add("Le projet n'a pas été renseigné");
1027
		} else {
1029
		} else {
1028
			personneSelectionnee.set("ce_projet", projet.getId());
1030
			personneSelectionnee.set("ce_projet", projet.getId());
1029
		}
1031
		}
1030
		
1032
		
1031
		String strTfNom = ((TextField<String>) hmIdentite.get("tfNom")).getValue();
1033
		String strTfNom = ((TextField<String>) hmIdentite.get("tfNom")).getValue();
1032
		if ((strTfNom == null)||(strTfNom.trim().equals("")))	{
1034
		if ((strTfNom == null)||(strTfNom.trim().equals("")))	{
1033
			lstMessageErreur.add("Le nom n'a pas été saisi");
1035
			lstMessageErreur.add("Le nom n'a pas été saisi");
1034
		} else {
1036
		} else {
1035
			strTfNom = UtilString.ucFirst(strTfNom);
1037
			strTfNom = UtilString.ucFirst(strTfNom);
1036
			personneSelectionnee.set("nom", strTfNom);
1038
			personneSelectionnee.set("nom", strTfNom);
1037
		}
1039
		}
1038
		
1040
		
1039
		String strTfPrenom = ((TextField<String>) hmIdentite.get("tfPrenom")).getValue();
1041
		String strTfPrenom = ((TextField<String>) hmIdentite.get("tfPrenom")).getValue();
1040
		personneSelectionnee.set("prenom", UtilString.ucFirst(strTfPrenom));
1042
		personneSelectionnee.set("prenom", UtilString.ucFirst(strTfPrenom));
1041
		
1043
		
1042
		//Préparer les données
1044
		//Préparer les données
1043
		ComboBox combo = (ComboBox) hmIdentite.get("cbSexe");
1045
		ComboBox combo = (ComboBox) hmIdentite.get("cbSexe");
1044
		Valeur valeur;
1046
		Valeur valeur;
1045
		String strValeur = "";
1047
		String strValeur = "";
1046
		
1048
		
1047
		valeur = (Valeur) combo.getValue();
1049
		valeur = (Valeur) combo.getValue();
1048
		if (valeur!=null)	{
1050
		if (valeur!=null)	{
1049
			personneSelectionnee.set("ce_sexe", valeur.getId());
1051
			personneSelectionnee.set("ce_sexe", valeur.getId());
1050
		}
1052
		}
1051
		
1053
		
1052
		strValeur = obtenirValeurCombo("cbPrefixe");
1054
		strValeur = obtenirValeurCombo("cbPrefixe");
1053
		personneSelectionnee.set("ce_truk_prefix", strValeur);
1055
		personneSelectionnee.set("ce_truk_prefix", strValeur);
1054
		
1056
		
1055
		strValeur = obtenirValeurCombo("cbSuffixe"); 
1057
		strValeur = obtenirValeurCombo("cbSuffixe"); 
1056
		personneSelectionnee.set("ce_truk_suffix", strValeur);
1058
		personneSelectionnee.set("ce_truk_suffix", strValeur);
1057
		
1059
		
1058
		String nomAutre = ((ChampMultiValeurs) hmIdentite.get("nomAutre")).getValeurs();
1060
		String nomAutre = ((ChampMultiValeurs) hmIdentite.get("nomAutre")).getValeurs();
1059
		personneSelectionnee.set("truk_nom_autre", nomAutre);
1061
		personneSelectionnee.set("truk_nom_autre", nomAutre);
1060
		
1062
		
1061
		String abreviationAutre = ((ChampMultiValeurs) hmIdentite.get("abreviationAutre")).getValeurs();
1063
		String abreviationAutre = ((ChampMultiValeurs) hmIdentite.get("abreviationAutre")).getValeurs();
1062
		personneSelectionnee.set("truk_abreviation_autre", abreviationAutre);
1064
		personneSelectionnee.set("truk_abreviation_autre", abreviationAutre);
1063
		
1065
		
1064
		personneSelectionnee.set("truk_courriel", ((ChampMultiValeurs) hmIdentite.get("courriels")).getValeurs());
1066
		personneSelectionnee.set("truk_courriel", ((ChampMultiValeurs) hmIdentite.get("courriels")).getValeurs());
1065
		
1067
		
1066
		
1068
		
1067
		//Pour le nom complet, on enregistre dans la bdd la valeur du prefixe/suffixe et non l'id
1069
		//Pour le nom complet, on enregistre dans la bdd la valeur du prefixe/suffixe et non l'id
1068
		String strPrefixe = "";
1070
		String strPrefixe = "";
1069
		combo = (ComboBox) hmIdentite.get("cbPrefixe");
1071
		combo = (ComboBox) hmIdentite.get("cbPrefixe");
1070
		valeur = (Valeur) combo.getValue();
1072
		valeur = (Valeur) combo.getValue();
1071
		if (valeur != null)	{
1073
		if (valeur != null)	{
1072
			strPrefixe = valeur.getNom();
1074
			strPrefixe = valeur.getNom();
1073
		} else {
1075
		} else {
1074
			strPrefixe = combo.getRawValue();
1076
			strPrefixe = combo.getRawValue();
1075
		}
1077
		}
1076
		
1078
		
1077
		String strSuffixe = "";
1079
		String strSuffixe = "";
1078
		combo = (ComboBox) hmIdentite.get("cbSuffixe");
1080
		combo = (ComboBox) hmIdentite.get("cbSuffixe");
1079
		valeur = (Valeur) combo.getValue();
1081
		valeur = (Valeur) combo.getValue();
1080
		if (valeur != null)	{
1082
		if (valeur != null)	{
1081
			strSuffixe = valeur.getNom() + " ";
1083
			strSuffixe = valeur.getNom() + " ";
1082
		} else {
1084
		} else {
1083
			strSuffixe = combo.getRawValue() +" ";
1085
			strSuffixe = combo.getRawValue() +" ";
1084
		}
1086
		}
1085
		
1087
		
1086
		personneSelectionnee.setFmtNomComplet(strPrefixe, strSuffixe);
1088
		personneSelectionnee.setFmtNomComplet(strPrefixe, strSuffixe);
1087
		
1089
		
1088
		DateField dfDateNaissance = (DateField) hmIdentite.get("dfDateNaissance");
1090
		DateField dfDateNaissance = (DateField) hmIdentite.get("dfDateNaissance");
1089
		Date naissanceDate = dfDateNaissance.getValue();
1091
		Date naissanceDate = dfDateNaissance.getValue();
1090
		personneSelectionnee.setNaissanceDate(naissanceDate);
1092
		personneSelectionnee.setNaissanceDate(naissanceDate);
1091
		
1093
		
1092
		Radio rbEstDecedee = (Radio) hmIdentite.get("rbEstDecedee");
1094
		Radio rbEstDecedee = (Radio) hmIdentite.get("rbEstDecedee");
1093
		if (rbEstDecedee.getValue() == true)	{
1095
		if (rbEstDecedee.getValue() == true)	{
1094
			DateField dfDecesDate = (DateField) hmIdentite.get("dfDateDeces");
1096
			DateField dfDecesDate = (DateField) hmIdentite.get("dfDateDeces");
1095
			String decesLieu = ((TextField<String>) hmIdentite.get("tfLieuDeces")).getValue();
1097
			String decesLieu = ((TextField<String>) hmIdentite.get("tfLieuDeces")).getValue();
1096
			personneSelectionnee.setDeces(dfDecesDate.getValue(), decesLieu);
1098
			personneSelectionnee.setDeces(dfDecesDate.getValue(), decesLieu);
1097
		}	else	{
1099
		}	else	{
1098
			personneSelectionnee.setNonDecedee();			
1100
			personneSelectionnee.setNonDecedee();			
1099
		}
1101
		}
1100
		
1102
		
1101
		strValeur = obtenirValeurCombo("cbPays");
1103
		strValeur = obtenirValeurCombo("cbPays");
1102
		personneSelectionnee.set("ce_truk_pays", strValeur);
1104
		personneSelectionnee.set("ce_truk_pays", strValeur);
1103
		
1105
		
1104
		strValeur = obtenirValeurCombo("cbRegion");
1106
		strValeur = obtenirValeurCombo("cbRegion");
1105
		personneSelectionnee.set("ce_truk_region", strValeur);
1107
		personneSelectionnee.set("ce_truk_region", strValeur);
1106
		
1108
		
1107
		personneSelectionnee.set("truk_telephone", ((ChampMultiValeursMultiTypes) hmIdentite.get("telephones")).getValeurs());
1109
		personneSelectionnee.set("truk_telephone", ((ChampMultiValeursMultiTypes) hmIdentite.get("telephones")).getValeurs());
1108
		
1110
		
1109
		String logoUrls = ((ChampMultiValeursImage) hmIdentite.get("logos")).getValeurs();
1111
		String logoUrls = ((ChampMultiValeursImage) hmIdentite.get("logos")).getValeurs();
1110
		personneSelectionnee.set("truk_logo", logoUrls);
1112
		personneSelectionnee.set("truk_logo", logoUrls);
1111
		
1113
		
1112
		personneSelectionnee.set("truk_url", ((ChampMultiValeurs) hmIdentite.get("sites")).getValeurs());
1114
		personneSelectionnee.set("truk_url", ((ChampMultiValeurs) hmIdentite.get("sites")).getValeurs());
1113
		
1115
		
1114
		//Infos Naturalistes
1116
		//Infos Naturalistes
1115
		String recolte = ((ChampMultiValeursMultiTypes) hmInfosNat.get("recolte")).getValeurs();
1117
		String recolte = ((ChampMultiValeursMultiTypes) hmInfosNat.get("recolte")).getValeurs();
1116
		personneSelectionnee.set("truk_recolte", recolte);
1118
		personneSelectionnee.set("truk_recolte", recolte);
1117
		
1119
		
1118
		String specialite = ((ChampMultiValeurs) hmInfosNat.get("specialite")).getValeurs();
1120
		String specialite = ((ChampMultiValeurs) hmInfosNat.get("specialite")).getValeurs();
1119
		personneSelectionnee.set("ce_truk_specialite", specialite);
1121
		personneSelectionnee.set("ce_truk_specialite", specialite);
1120
		
1122
		
1121
		
1123
		
1122
		if (lstMessageErreur.size() == 0)	{
1124
		if (lstMessageErreur.size() == 0)	{
1123
			mediateur.enregistrerPersonne(this, personneSelectionnee);
1125
			mediateur.enregistrerPersonne(this, personneSelectionnee);
1124
			success = true;
1126
			success = true;
1125
		} else {
1127
		} else {
1126
			String strMessagesErreur = "<span><br />";
1128
			String strMessagesErreur = "<span><br />";
1127
			Iterator<String> itMessagesErreur = lstMessageErreur.iterator();
1129
			Iterator<String> itMessagesErreur = lstMessageErreur.iterator();
1128
			while (itMessagesErreur.hasNext())	{
1130
			while (itMessagesErreur.hasNext())	{
1129
				strMessagesErreur += "<br /> - " + itMessagesErreur.next();
1131
				strMessagesErreur += "<br /> - " + itMessagesErreur.next();
1130
			}
1132
			}
1131
			strMessagesErreur += "</span>";
1133
			strMessagesErreur += "</span>";
1132
			
1134
			
1133
 			MessageBox.alert("Erreurs", "Les erreurs suivantes ont été commises : \n" + strMessagesErreur, null);
1135
 			MessageBox.alert("Erreurs", "Les erreurs suivantes ont été commises : \n" + strMessagesErreur, null);
1134
 			success = false;
1136
 			success = false;
1135
		}
1137
		}
1136
		
1138
		
1137
		return success;
1139
		return success;
1138
	}
1140
	}
1139
	
1141
	
1140
	private String obtenirValeurCombo(String strComboName)	{
1142
	private String obtenirValeurCombo(String strComboName)	{
1141
		String strValeur = "";
1143
		String strValeur = "";
1142
		Valeur valeur;
1144
		Valeur valeur;
1143
		
1145
		
1144
		ComboBox combo = (ComboBox) hmIdentite.get(strComboName);
1146
		ComboBox combo = (ComboBox) hmIdentite.get(strComboName);
1145
		if (combo == null)	{
1147
		if (combo == null)	{
1146
			combo = (ComboBox) hmAdresse.get(strComboName);
1148
			combo = (ComboBox) hmAdresse.get(strComboName);
1147
		}
1149
		}
1148
		strValeur = combo.getRawValue();
1150
		strValeur = combo.getRawValue();
1149
		valeur = (Valeur) combo.getStore().findModel(strValeur);
1151
		valeur = (Valeur) combo.getStore().findModel(strValeur);
1150
		if (valeur != null)	{
1152
		if (valeur != null)	{
1151
			strValeur = valeur.getId();
1153
			strValeur = valeur.getId();
1152
		}
1154
		}
1153
		
1155
		
1154
		/*if (combo.getValue()!=null)	{
1156
		/*if (combo.getValue()!=null)	{
1155
			valeur = (Valeur) combo.getValue();
1157
			valeur = (Valeur) combo.getValue();
1156
			strValeur = valeur.getId();
1158
			strValeur = valeur.getId();
1157
		} else {
1159
		} else {
1158
			strValeur = combo.getRawValue();
1160
			strValeur = combo.getRawValue();
1159
		}*/
1161
		}*/
1160
		
1162
		
1161
		return strValeur;
1163
		return strValeur;
1162
	}
1164
	}
1163
 
1165
 
1164
	@Override
1166
	@Override
1165
	protected SelectionListener<ButtonEvent> creerEcouteurValidation() {
1167
	protected SelectionListener<ButtonEvent> creerEcouteurValidation() {
1166
		SelectionListener<ButtonEvent> ecouteur = new SelectionListener<ButtonEvent>() {
1168
		SelectionListener<ButtonEvent> ecouteur = new SelectionListener<ButtonEvent>() {
1167
			@Override
1169
			@Override
1168
			public void componentSelected(ButtonEvent ce) {
1170
			public void componentSelected(ButtonEvent ce) {
1169
				String code = ((Button) ce.getComponent()).getData("code");
1171
				String code = ((Button) ce.getComponent()).getData("code");
1170
				if (code.equals(FormulaireBarreValidation.CODE_BOUTON_VALIDER)) {
1172
				if (code.equals(FormulaireBarreValidation.CODE_BOUTON_VALIDER)) {
1171
					soumettreFormulaire();
1173
					soumettreFormulaire();
1172
					clicBoutonvalidation = true;
1174
					clicBoutonvalidation = true;
1173
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_APPLIQUER)) {
1175
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_APPLIQUER)) {
1174
					soumettreFormulaire();
1176
					soumettreFormulaire();
1175
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_ANNULER)) {
1177
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_ANNULER)) {
1176
					mediateur.clicMenu(menuIdCourant);
1178
					mediateur.clicMenu(menuIdCourant);
1177
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_REINITIALISER)) {
1179
				} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_REINITIALISER)) {
1178
					reinitialiserFormulaire();
1180
					reinitialiserFormulaire();
1179
				}
1181
				}
1180
			}
1182
			}
1181
		};
1183
		};
1182
		
1184
		
1183
		return ecouteur;
1185
		return ecouteur;
1184
	}
1186
	}
1185
 
1187
 
1186
	protected boolean soumettreFormulaire() {
1188
	protected boolean soumettreFormulaire() {
1187
		if (verifierFormulaire())	{
1189
		if (verifierFormulaire())	{
1188
			mediateur.enregistrerPersonne(this, personneSelectionnee);
1190
			mediateur.enregistrerPersonne(this, personneSelectionnee);
1189
		}
1191
		}
1190
		return true;
1192
		return true;
1191
	}
1193
	}
1192
 
1194
 
1193
	protected boolean verifierFormulaire() {
1195
	protected boolean verifierFormulaire() {
1194
		boolean success = true;
1196
		boolean success = true;
1195
		LinkedList<String> lstMessageErreur = new LinkedList<String>();
1197
		LinkedList<String> lstMessageErreur = new LinkedList<String>();
1196
		
1198
		
1197
		ComboBox<Projet> cbProjets = (ComboBox<Projet>) hmIdentite.get("cbProjets");
1199
		ComboBox<Projet> cbProjets = (ComboBox<Projet>) hmIdentite.get("cbProjets");
1198
		Projet projet = cbProjets.getValue();
1200
		Projet projet = cbProjets.getValue();
1199
		if (projet == null)	{
1201
		if (projet == null)	{
1200
			lstMessageErreur.add("Le projet n'a pas été renseigné");
1202
			lstMessageErreur.add("Le projet n'a pas été renseigné");
1201
		} else {
1203
		} else {
1202
			personneSelectionnee.set("ce_projet", projet.getId());
1204
			personneSelectionnee.set("ce_projet", projet.getId());
1203
		}
1205
		}
1204
		
1206
		
1205
		String strTfNom = ((TextField<String>) hmIdentite.get("tfNom")).getValue();
1207
		String strTfNom = ((TextField<String>) hmIdentite.get("tfNom")).getValue();
1206
		if ((strTfNom == null)||(strTfNom.trim().equals("")))	{
1208
		if ((strTfNom == null)||(strTfNom.trim().equals("")))	{
1207
			lstMessageErreur.add("Le nom n'a pas été saisi");
1209
			lstMessageErreur.add("Le nom n'a pas été saisi");
1208
		} else {
1210
		} else {
1209
			strTfNom = UtilString.ucFirst(strTfNom);
1211
			strTfNom = UtilString.ucFirst(strTfNom);
1210
			personneSelectionnee.set("nom", strTfNom);
1212
			personneSelectionnee.set("nom", strTfNom);
1211
		}
1213
		}
1212
		
1214
		
1213
		String strTfPrenom = ((TextField<String>) hmIdentite.get("tfPrenom")).getValue();
1215
		String strTfPrenom = ((TextField<String>) hmIdentite.get("tfPrenom")).getValue();
1214
		personneSelectionnee.set("prenom", UtilString.ucFirst(strTfPrenom));
1216
		personneSelectionnee.set("prenom", UtilString.ucFirst(strTfPrenom));
1215
		
1217
		
1216
		//Préparer les données
1218
		//Préparer les données
1217
		ComboBox combo = (ComboBox) hmIdentite.get("cbSexe");
1219
		ComboBox combo = (ComboBox) hmIdentite.get("cbSexe");
1218
		Valeur valeur;
1220
		Valeur valeur;
1219
		String strValeur = "";
1221
		String strValeur = "";
1220
		
1222
		
1221
		valeur = (Valeur) combo.getValue();
1223
		valeur = (Valeur) combo.getValue();
1222
		if (valeur!=null)	{
1224
		if (valeur!=null)	{
1223
			personneSelectionnee.set("ce_sexe", valeur.getId());
1225
			personneSelectionnee.set("ce_sexe", valeur.getId());
1224
		}
1226
		}
1225
		
1227
		
1226
		strValeur = obtenirValeurCombo("cbPrefixe");
1228
		strValeur = obtenirValeurCombo("cbPrefixe");
1227
		personneSelectionnee.set("ce_truk_prefix", strValeur);
1229
		personneSelectionnee.set("ce_truk_prefix", strValeur);
1228
		
1230
		
1229
		strValeur = obtenirValeurCombo("cbSuffixe"); 
1231
		strValeur = obtenirValeurCombo("cbSuffixe"); 
1230
		personneSelectionnee.set("ce_truk_suffix", strValeur);
1232
		personneSelectionnee.set("ce_truk_suffix", strValeur);
1231
		
1233
		
1232
		String nomAutre = ((ChampMultiValeurs) hmIdentite.get("nomAutre")).getValeurs();
1234
		String nomAutre = ((ChampMultiValeurs) hmIdentite.get("nomAutre")).getValeurs();
1233
		personneSelectionnee.set("truk_nom_autre", nomAutre);
1235
		personneSelectionnee.set("truk_nom_autre", nomAutre);
1234
		
1236
		
1235
		String abreviationAutre = ((ChampMultiValeurs) hmIdentite.get("abreviationAutre")).getValeurs();
1237
		String abreviationAutre = ((ChampMultiValeurs) hmIdentite.get("abreviationAutre")).getValeurs();
1236
		personneSelectionnee.set("truk_abreviation_autre", abreviationAutre);
1238
		personneSelectionnee.set("truk_abreviation_autre", abreviationAutre);
1237
		
1239
		
1238
		personneSelectionnee.set("truk_courriel", ((ChampMultiValeurs) hmIdentite.get("courriels")).getValeurs());
1240
		personneSelectionnee.set("truk_courriel", ((ChampMultiValeurs) hmIdentite.get("courriels")).getValeurs());
1239
		
1241
		
1240
		
1242
		
1241
		//Pour le nom complet, on enregistre dans la bdd la valeur du prefixe/suffixe et non l'id
1243
		//Pour le nom complet, on enregistre dans la bdd la valeur du prefixe/suffixe et non l'id
1242
		String strPrefixe = "";
1244
		String strPrefixe = "";
1243
		combo = (ComboBox) hmIdentite.get("cbPrefixe");
1245
		combo = (ComboBox) hmIdentite.get("cbPrefixe");
1244
		valeur = (Valeur) combo.getValue();
1246
		valeur = (Valeur) combo.getValue();
1245
		if (valeur != null)	{
1247
		if (valeur != null)	{
1246
			strPrefixe = valeur.getNom();
1248
			strPrefixe = valeur.getNom();
1247
		} else {
1249
		} else {
1248
			strPrefixe = combo.getRawValue();
1250
			strPrefixe = combo.getRawValue();
1249
		}
1251
		}
1250
		
1252
		
1251
		String strSuffixe = "";
1253
		String strSuffixe = "";
1252
		combo = (ComboBox) hmIdentite.get("cbSuffixe");
1254
		combo = (ComboBox) hmIdentite.get("cbSuffixe");
1253
		valeur = (Valeur) combo.getValue();
1255
		valeur = (Valeur) combo.getValue();
1254
		if (valeur != null)	{
1256
		if (valeur != null)	{
1255
			strSuffixe = valeur.getNom() + " ";
1257
			strSuffixe = valeur.getNom() + " ";
1256
		} else {
1258
		} else {
1257
			strSuffixe = combo.getRawValue() +" ";
1259
			strSuffixe = combo.getRawValue() +" ";
1258
		}
1260
		}
1259
		
1261
		
1260
		personneSelectionnee.setFmtNomComplet(strPrefixe, strSuffixe);
1262
		personneSelectionnee.setFmtNomComplet(strPrefixe, strSuffixe);
1261
		
1263
		
1262
		DateField dfDateNaissance = (DateField) hmIdentite.get("dfDateNaissance");
1264
		DateField dfDateNaissance = (DateField) hmIdentite.get("dfDateNaissance");
1263
		Date naissanceDate = dfDateNaissance.getValue();
1265
		Date naissanceDate = dfDateNaissance.getValue();
1264
		personneSelectionnee.setNaissanceDate(naissanceDate);
1266
		personneSelectionnee.setNaissanceDate(naissanceDate);
1265
		
1267
		
1266
		Radio rbEstDecedee = (Radio) hmIdentite.get("rbEstDecedee");
1268
		Radio rbEstDecedee = (Radio) hmIdentite.get("rbEstDecedee");
1267
		if (rbEstDecedee.getValue() == true)	{
1269
		if (rbEstDecedee.getValue() == true)	{
1268
			DateField dfDecesDate = (DateField) hmIdentite.get("dfDateDeces");
1270
			DateField dfDecesDate = (DateField) hmIdentite.get("dfDateDeces");
1269
			String decesLieu = ((TextField<String>) hmIdentite.get("tfLieuDeces")).getValue();
1271
			String decesLieu = ((TextField<String>) hmIdentite.get("tfLieuDeces")).getValue();
1270
			personneSelectionnee.setDeces(dfDecesDate.getValue(), decesLieu);
1272
			personneSelectionnee.setDeces(dfDecesDate.getValue(), decesLieu);
1271
		}	else	{
1273
		}	else	{
1272
			personneSelectionnee.setNonDecedee();			
1274
			personneSelectionnee.setNonDecedee();			
1273
		}
1275
		}
1274
		
1276
		
1275
		strValeur = obtenirValeurCombo("cbPays");
1277
		strValeur = obtenirValeurCombo("cbPays");
1276
		personneSelectionnee.set("ce_truk_pays", strValeur);
1278
		personneSelectionnee.set("ce_truk_pays", strValeur);
1277
		
1279
		
1278
		strValeur = obtenirValeurCombo("cbRegion");
1280
		strValeur = obtenirValeurCombo("cbRegion");
1279
		personneSelectionnee.set("ce_truk_region", strValeur);
1281
		personneSelectionnee.set("ce_truk_region", strValeur);
1280
		
1282
		
1281
		personneSelectionnee.set("truk_telephone", ((ChampMultiValeursMultiTypes) hmIdentite.get("telephones")).getValeurs());
1283
		personneSelectionnee.set("truk_telephone", ((ChampMultiValeursMultiTypes) hmIdentite.get("telephones")).getValeurs());
1282
		
1284
		
1283
		String logoUrls = ((ChampMultiValeursImage) hmIdentite.get("logos")).getValeurs();
1285
		String logoUrls = ((ChampMultiValeursImage) hmIdentite.get("logos")).getValeurs();
1284
		personneSelectionnee.set("truk_logo", logoUrls);
1286
		personneSelectionnee.set("truk_logo", logoUrls);
1285
		
1287
		
1286
		personneSelectionnee.set("truk_url", ((ChampMultiValeurs) hmIdentite.get("sites")).getValeurs());
1288
		personneSelectionnee.set("truk_url", ((ChampMultiValeurs) hmIdentite.get("sites")).getValeurs());
1287
		
1289
		
1288
		//Infos Naturalistes
1290
		//Infos Naturalistes
1289
		String recolte = ((ChampMultiValeursMultiTypes) hmInfosNat.get("recolte")).getValeurs();
1291
		String recolte = ((ChampMultiValeursMultiTypes) hmInfosNat.get("recolte")).getValeurs();
1290
		personneSelectionnee.set("truk_recolte", recolte);
1292
		personneSelectionnee.set("truk_recolte", recolte);
1291
		
1293
		
1292
		String specialite = ((ChampMultiValeurs) hmInfosNat.get("specialite")).getValeurs();
1294
		String specialite = ((ChampMultiValeurs) hmInfosNat.get("specialite")).getValeurs();
1293
		personneSelectionnee.set("ce_truk_specialite", specialite);
1295
		personneSelectionnee.set("ce_truk_specialite", specialite);
1294
		
1296
		
1295
		
1297
		
1296
		if (lstMessageErreur.size() != 0)	{
1298
		if (lstMessageErreur.size() != 0)	{
1297
			String strMessagesErreur = "<span><br />";
1299
			String strMessagesErreur = "<span><br />";
1298
			Iterator<String> itMessagesErreur = lstMessageErreur.iterator();
1300
			Iterator<String> itMessagesErreur = lstMessageErreur.iterator();
1299
			while (itMessagesErreur.hasNext())	{
1301
			while (itMessagesErreur.hasNext())	{
1300
				strMessagesErreur += "<br /> - " + itMessagesErreur.next();
1302
				strMessagesErreur += "<br /> - " + itMessagesErreur.next();
1301
			}
1303
			}
1302
			strMessagesErreur += "</span>";
1304
			strMessagesErreur += "</span>";
1303
			
1305
			
1304
 			MessageBox.alert("Erreurs", "Les erreurs suivantes ont été commises : \n" + strMessagesErreur, null);
1306
 			MessageBox.alert("Erreurs", "Les erreurs suivantes ont été commises : \n" + strMessagesErreur, null);
1305
 			success = false;
1307
 			success = false;
1306
		}
1308
		}
1307
		
1309
		
1308
		return success;
1310
		return success;
1309
	}
1311
	}
1310
}
1312
}