Subversion Repositories eFlore/Applications.coel

Rev

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

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