Subversion Repositories eFlore/Applications.coel

Rev

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

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