Subversion Repositories eFlore/Applications.coel

Rev

Rev 192 | Rev 211 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
69 jpm 1
package org.tela_botanica.client.vues;
2
 
91 jpm 3
import java.util.ArrayList;
4
import java.util.Iterator;
69 jpm 5
import java.util.List;
6
 
172 jp_milcent 7
import org.tela_botanica.client.ComposantId;
119 jpm 8
import org.tela_botanica.client.Mediateur;
91 jpm 9
import org.tela_botanica.client.Modele;
10
import org.tela_botanica.client.RegistreId;
115 jpm 11
import org.tela_botanica.client.i18n.Constantes;
69 jpm 12
import org.tela_botanica.client.interfaces.Rafraichissable;
91 jpm 13
import org.tela_botanica.client.modeles.Configuration;
153 jpm 14
import org.tela_botanica.client.modeles.Information;
100 jpm 15
import org.tela_botanica.client.modeles.InterneValeur;
16
import org.tela_botanica.client.modeles.InterneValeurListe;
102 jpm 17
import org.tela_botanica.client.modeles.Personne;
119 jpm 18
import org.tela_botanica.client.modeles.Structure;
188 jp_milcent 19
import org.tela_botanica.client.modeles.StructureConservation;
192 jp_milcent 20
import org.tela_botanica.client.modeles.StructureValorisation;
91 jpm 21
import org.tela_botanica.client.modeles.Valeur;
22
import org.tela_botanica.client.modeles.ValeurListe;
69 jpm 23
 
111 jpm 24
import com.extjs.gxt.ui.client.Events;
91 jpm 25
import com.extjs.gxt.ui.client.Registry;
69 jpm 26
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
110 jpm 27
import com.extjs.gxt.ui.client.Style.Scroll;
111 jpm 28
import com.extjs.gxt.ui.client.event.ComponentEvent;
29
import com.extjs.gxt.ui.client.event.Listener;
100 jpm 30
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
31
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
103 jpm 32
import com.extjs.gxt.ui.client.event.SelectionListener;
33
import com.extjs.gxt.ui.client.event.ToolBarEvent;
69 jpm 34
import com.extjs.gxt.ui.client.store.ListStore;
172 jp_milcent 35
import com.extjs.gxt.ui.client.store.Store;
111 jpm 36
import com.extjs.gxt.ui.client.widget.Component;
102 jpm 37
import com.extjs.gxt.ui.client.widget.ContentPanel;
153 jpm 38
import com.extjs.gxt.ui.client.widget.Info;
69 jpm 39
import com.extjs.gxt.ui.client.widget.LayoutContainer;
100 jpm 40
import com.extjs.gxt.ui.client.widget.TabItem;
41
import com.extjs.gxt.ui.client.widget.TabPanel;
188 jp_milcent 42
import com.extjs.gxt.ui.client.widget.WidgetComponent;
69 jpm 43
import com.extjs.gxt.ui.client.widget.button.Button;
108 jpm 44
import com.extjs.gxt.ui.client.widget.form.CheckBox;
45
import com.extjs.gxt.ui.client.widget.form.CheckBoxGroup;
69 jpm 46
import com.extjs.gxt.ui.client.widget.form.ComboBox;
100 jpm 47
import com.extjs.gxt.ui.client.widget.form.DateField;
119 jpm 48
import com.extjs.gxt.ui.client.widget.form.Field;
100 jpm 49
import com.extjs.gxt.ui.client.widget.form.FieldSet;
69 jpm 50
import com.extjs.gxt.ui.client.widget.form.FormPanel;
172 jp_milcent 51
import com.extjs.gxt.ui.client.widget.form.HiddenField;
103 jpm 52
import com.extjs.gxt.ui.client.widget.form.LabelField;
102 jpm 53
import com.extjs.gxt.ui.client.widget.form.NumberField;
109 jpm 54
import com.extjs.gxt.ui.client.widget.form.Radio;
55
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
164 jp_milcent 56
import com.extjs.gxt.ui.client.widget.form.TextArea;
69 jpm 57
import com.extjs.gxt.ui.client.widget.form.TextField;
58
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
59
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
102 jpm 60
import com.extjs.gxt.ui.client.widget.grid.CellEditor;
61
import com.extjs.gxt.ui.client.widget.grid.CheckBoxSelectionModel;
62
import com.extjs.gxt.ui.client.widget.grid.CheckColumnConfig;
63
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
64
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
65
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
69 jpm 66
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
67
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
68
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
69
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
100 jpm 70
import com.extjs.gxt.ui.client.widget.layout.FormData;
69 jpm 71
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
110 jpm 72
import com.extjs.gxt.ui.client.widget.tips.ToolTipConfig;
102 jpm 73
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
74
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
75
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
91 jpm 76
import com.google.gwt.core.client.GWT;
100 jpm 77
import com.google.gwt.i18n.client.DateTimeFormat;
102 jpm 78
import com.google.gwt.i18n.client.NumberFormat;
192 jp_milcent 79
import com.google.gwt.user.client.Event;
133 jpm 80
import com.google.gwt.user.client.Window;
188 jp_milcent 81
import com.google.gwt.user.client.ui.HTML;
82
import com.google.gwt.user.client.ui.Widget;
69 jpm 83
 
84
public class FormStructureVue extends LayoutContainer implements Rafraichissable {
115 jpm 85
 
86
	private Constantes i18nC = null;
119 jpm 87
	private Mediateur mediateur = null;
88
	private Modele modele = null ;
89
 
156 jp_milcent 90
	private String mode = "AJOUT";
206 jp_milcent 91
	private FormPanel structureFormPanneau = null;
133 jpm 92
	private int tabIndex = 100;
206 jp_milcent 93
	private TabPanel onglets = null;
192 jp_milcent 94
 
206 jp_milcent 95
	private TabItem identificationOnglet = null;
192 jp_milcent 96
	private TabItem personnelOnglet = null;
97
	private TabItem conservationOnglet = null;
98
	private TabItem valorisationOnglet = null;
206 jp_milcent 99
 
100
	private HiddenField<String> idStructureChp = null;
115 jpm 101
 
206 jp_milcent 102
	private StructureConservation conservation = null;
103
	private StructureValorisation valorisation = null;
104
 
105
	// Onglet IDENTIFICATION
91 jpm 106
	private ListStore<Valeur> magazinLstpr = null;
107
	private ComboBox<Valeur> comboLstpr = null;
108
	private ListStore<Valeur> magazinLstpu = null;
109
	private ComboBox<Valeur> comboLstpu = null;
103 jpm 110
	private ListStore<Valeur> magazinLiStatut = null;
111
	private ComboBox<Valeur> comboLiStatut = null;
112
	private ListStore<Valeur> magazinLiFonction = null;
113
	private ComboBox<Valeur> comboLiFonction = null;
100 jpm 114
	private ComboBox<InterneValeur> comboAcronyme = null;
115
	private TextField<String> ihChp = null;
116
	private TextField<String> mnhnChp = null;
117
	private ComboBox<InterneValeur> comboTypeStructure = null;
206 jp_milcent 118
	private TextField<String> nomStructureChp;
119
	private DateField dateFondationChp;
120
	private TextArea adrChp;
121
	private TextField<String> cpChp;
122
	private TextField<String> villeChp;
123
	private TextField<String> regionChp;
124
	private TextField<String> telChp;
125
	private TextField<String> faxChp;
126
	private TextField<String> emailChp;
127
	private TextField<String> urlChp;
128
	private ListStore<Valeur> magazinPays;
129
	private ComboBox<Valeur> comboPays;
192 jp_milcent 130
 
206 jp_milcent 131
	// Onglet PERSONNEL
103 jpm 132
	private EditorGrid<Personne> grillePersonnel = null;
133
	private ListStore<Personne> personnelGrilleMagazin = null;
134
	private LabelField nbreTotalPersonnelChp = null;
206 jp_milcent 135
	private NumberField nbreTotalPersonneStructureChp = null;
136
 
137
	// Onglet CONSERVATION
138
	private RadioGroup formationMarkRGrpChp;
139
	private RadioGroup interetFormationMarkRGrpChp;
140
	private RadioGroup collectionCommuneMarkRGrpChp;
141
	private RadioGroup accesControleMarkRGrpChp;
142
	private RadioGroup restaurationMarkRGrpChp;
143
	private RadioGroup traitementMarkRGrpChp;
144
	private RadioGroup collectionAcquisitionMarkRGrpChp;
145
	private RadioGroup echantillonAcquisitionMarkRGrpChp;
146
	private TextField<String> localStockageAutreChp;
147
	private TextField<String> meubleStockageAutreChp;
148
	private TextField<String> parametreStockageAutreChp;
149
	private TextField<String> collectionAutreAutreChp;
150
	private TextField<String> autreCollectionAutreChp;
151
	private TextField<String> opRestauAutreChp;
152
	private TextField<String> autreMaterielAutreChp;
153
	private TextField<String> poisonTraitementAutreChp;
154
	private TextField<String> traitementAutreChp;
155
	private TextField<String> insecteTraitementAutreChp;
156
	private TextField<String> actionAutreChp;
157
	private TextField<String> provenanceRechercheAutreChp;
158
	private TextField<String> typeRechercheAutreChp;
115 jpm 159
	private CheckBoxGroup localStockageTrukCacGrpChp = null;
160
	private ContentPanel localStockageTrukCp = null;
161
	private CheckBoxGroup meubleStockageTrukCacGrpChp = null;
162
	private ContentPanel meubleStockageTrukCp = null;
163
	private CheckBoxGroup parametreStockageTrukCacGrpChp = null;
164
	private ContentPanel parametreStockageTrukCp = null;
111 jpm 165
	private ContentPanel collectionAutreTrukCp = null;
166
	private CheckBoxGroup collectionAutreTrukCacGrpChp = null;
115 jpm 167
	private CheckBoxGroup opRestauTrukCacGrpChp = null;
111 jpm 168
	private ContentPanel opRestauTrukCp = null;
115 jpm 169
	private CheckBoxGroup autreMaterielTrukCacGrpChp = null;
170
	private ContentPanel autreMaterielTrukCp = null;
111 jpm 171
	private ContentPanel traitementTrukCp = null;
172
	private CheckBoxGroup traitementTrukCacGrpChp = null;
115 jpm 173
	private ContentPanel poisonTraitementTrukCp = null;
111 jpm 174
	private ContentPanel insecteTraitementTrukCp = null;
175
	private CheckBoxGroup insecteTraitementTrukCacGrpChp = null;
115 jpm 176
	private CheckBoxGroup poisonTraitementTrukCacGrpChp = null;
177
	private ContentPanel autreCollectionTrukCp = null;
119 jpm 178
	private CheckBoxGroup autreCollectionTrukCacGrpChp = null;
115 jpm 179
	private ContentPanel provenanceRechercheTrukCp = null;
180
	private CheckBoxGroup provenanceRechercheTrukCacGrpChp = null;
181
	private CheckBoxGroup typeRechercheTrukCacGrpChp = null;
119 jpm 182
	private ContentPanel typeRechercheTrukCp = null;
115 jpm 183
	private TextField<String> futureActionChp = null;
184
	private TextField<String> sansMotifAccesChp = null;
185
	private TextField<String> avecMotifAccesChp = null;
186
	private TextField<String> formationChp = null;
187
	private RadioGroup traitementAcquisitionMarkRGrpChp = null;
188
	private LabelField traitementAcquisitionMarkLabel = null;
189
	private RadioGroup materielConservationCeRGrpChp = null;
119 jpm 190
 
206 jp_milcent 191
	// Onglet VALORISATION
192
	private RadioGroup actionMarkRGrpChp = null;
193
	private ContentPanel actionTrukCp = null;
194
	private CheckBoxGroup actionTrukCacGrpChp = null;
188 jp_milcent 195
	private RadioGroup futureActionMarkRGrpChp;
196
	private RadioGroup rechercheMarkRGrpChp;
197
	private RadioGroup sansMotifAccesMarkRGrpChp;
198
	private RadioGroup avecMotifAccesMarkRGrpChp;
199
	private TextField<String> publicationChp;
200
	private ContentPanel materielConservationCp;
192 jp_milcent 201
 
69 jpm 202
	public FormStructureVue() {
100 jpm 203
		//+-----------------------------------------------------------------------------------------------------------+
204
		// Initialisation de variables
115 jpm 205
		i18nC = GWT.create(Constantes.class);
69 jpm 206
		setLayout(new FitLayout());
119 jpm 207
		modele = Registry.get(RegistreId.MODELE);
208
		mediateur = Registry.get(RegistreId.MEDIATEUR);
209
 
100 jpm 210
		//+-----------------------------------------------------------------------------------------------------------+
110 jpm 211
		// Création du panneau du FORMULAIRE GÉNÉRAL
119 jpm 212
		structureFormPanneau = new FormPanel();
213
		structureFormPanneau.setFrame(true);
214
		structureFormPanneau.setIconStyle("icone-form-ajouter");
215
		structureFormPanneau.setCollapsible(false);
156 jp_milcent 216
		structureFormPanneau.setHeading(i18nC.titreAjoutFormStructurePanneau());
119 jpm 217
		structureFormPanneau.setButtonAlign(HorizontalAlignment.CENTER);
218
		structureFormPanneau.setLayout(new FlowLayout());
100 jpm 219
 
110 jpm 220
		//+-----------------------------------------------------------------------------------------------------------+
100 jpm 221
		// Création des onglets
192 jp_milcent 222
		onglets = new TabPanel();
110 jpm 223
		// NOTE : pour faire apparaître les scrollBar il faut définir la hauteur du panneau d'onglets à 100% (autoHeight ne semble pas fonctionner)
224
		onglets.setHeight("100%");
69 jpm 225
 
100 jpm 226
		//+-----------------------------------------------------------------------------------------------------------+
227
		// Onlget formulaire IDENTIFICATION
110 jpm 228
		onglets.add(creerOngletIdentification());
206 jp_milcent 229
 
100 jpm 230
		//+-----------------------------------------------------------------------------------------------------------+
231
		// Onlget formulaire PERSONNEL
103 jpm 232
		onglets.add(creerOngletPersonnel());
91 jpm 233
 
100 jpm 234
		//+-----------------------------------------------------------------------------------------------------------+
235
		// Onlget formulaire CONSERVATION
108 jpm 236
		onglets.add(creerOngletConservation());
100 jpm 237
 
238
		//+-----------------------------------------------------------------------------------------------------------+
239
		// Onlget formulaire VALORISATION
111 jpm 240
		onglets.add(creerOngletValorisation());
100 jpm 241
 
242
		//+-----------------------------------------------------------------------------------------------------------+
243
		// Gestion du FORMULAIRE GÉNÉRAL
244
 
119 jpm 245
		// Sélection de l'onglet par défaut
192 jp_milcent 246
		onglets.setSelection(valorisationOnglet);
247
 
119 jpm 248
		// Ajout des onglets au formulaire général
249
		structureFormPanneau.add(onglets);
69 jpm 250
 
251
		// Ajout des boutons au panneau formulaire
252
		Button annulerBtn = new Button("Annuler");
172 jp_milcent 253
		annulerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() {
254
 
255
			@Override
256
			public void componentSelected(ComponentEvent ce) {
257
				mediateur.clicMenu("Institutions");
258
			}
259
 
260
		});
119 jpm 261
		structureFormPanneau.addButton(annulerBtn);
69 jpm 262
		Button validerBtn = new Button("Valider");
119 jpm 263
		validerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() {
264
 
265
			@Override
266
			public void componentSelected(ComponentEvent ce) {
267
				soumettreFormulaire();
268
			}
269
 
270
		});
271
		structureFormPanneau.addButton(validerBtn);
69 jpm 272
 
273
		// Ajout du panneau Formulaire à la disposition générale
119 jpm 274
		add(structureFormPanneau);
69 jpm 275
	}
108 jpm 276
 
119 jpm 277
	private void soumettreFormulaire() {
278
		GWT.log("Soumission du formulaire", null);
192 jp_milcent 279
		Structure structure = collecterStructureIdentification();
280
		StructureConservation conservation = collecterStructureConservation();
281
		StructureValorisation valorisation = collecterStructureValorisation();
156 jp_milcent 282
		if (mode == "AJOUT") {
164 jp_milcent 283
			//mediateur.ajouterStructure(this, structure);
156 jp_milcent 284
		} else if (mode == "MODIF") {
192 jp_milcent 285
			mediateur.modifierStructure(this, structure, conservation, valorisation);
156 jp_milcent 286
		}
206 jp_milcent 287
		GWT.log("Info Structure envoyées :\n"+valorisation.toString(), null);
119 jpm 288
	}
289
 
192 jp_milcent 290
	private StructureValorisation collecterStructureValorisation() {
206 jp_milcent 291
		if (valorisationOnglet.getData("acces").equals(false)) {
292
			return valorisation;
293
		} else {
294
			// Création de l'objet
295
			StructureValorisation valorisationModifie = new StructureValorisation();
296
 
297
			// ACTION
298
			if (actionMarkRGrpChp.getValue() != null) {
299
				valorisationModifie.setAction(actionMarkRGrpChp.getValue().getValueAttribute());
300
			}
301
 
302
			// ACTION INFO
303
			valorisationModifie.setActionInfo(creerChaineDenormalisee(actionTrukCacGrpChp.getValues()));
304
			valorisationModifie.setActionInfo("AUTRE", actionAutreChp.getValue());
305
 
306
			// PUBLICATION
307
			valorisationModifie.setPublication(publicationChp.getValue());
308
 
309
			// COLLECTION AUTRE
310
			valorisationModifie.setCollectionAutre(creerChaineDenormalisee(autreCollectionTrukCacGrpChp.getValues()));
311
			valorisationModifie.setCollectionAutre("AUTRE", autreCollectionAutreChp.getValue());
312
 
313
			// ACTION FUTURE
314
			if (futureActionMarkRGrpChp.getValue() != null) {
315
				valorisationModifie.setActionFuture(futureActionMarkRGrpChp.getValue().getValueAttribute());
316
			}
317
			// ACTION FUTURE INFO
318
			valorisationModifie.setActionFutureInfo(futureActionChp.getValue());
319
 
320
			// RECHERCHE
321
			if (rechercheMarkRGrpChp.getValue() != null) {
322
				valorisationModifie.setRecherche(rechercheMarkRGrpChp.getValue().getValueAttribute());
323
			}
324
 
325
			// RECHERCHE PROVENANCE
326
			valorisationModifie.setRechercheProvenance(creerChaineDenormalisee(provenanceRechercheTrukCacGrpChp.getValues()));
327
			valorisationModifie.setRechercheProvenance("AUTRE", provenanceRechercheAutreChp.getValue());
328
 
329
			// RECHERCHE TYPE
330
			valorisationModifie.setRechercheType(creerChaineDenormalisee(typeRechercheTrukCacGrpChp.getValues()));
331
			valorisationModifie.setRechercheType("AUTRE", typeRechercheAutreChp.getValue());
332
 
333
			// ACCÈS SANS MOTIF
334
			if (sansMotifAccesMarkRGrpChp.getValue() != null) {
335
				valorisationModifie.setAccesSansMotif(sansMotifAccesMarkRGrpChp.getValue().getValueAttribute());
336
			}
337
			// ACCÈS SANS MOTIF INFO
338
			valorisationModifie.setAccesSansMotifInfo(sansMotifAccesChp.getValue());
339
 
340
			// VISITE AVEC MOTIF
341
			if (avecMotifAccesMarkRGrpChp.getValue() != null) {
342
				valorisationModifie.setVisiteAvecMotif(avecMotifAccesMarkRGrpChp.getValue().getValueAttribute());
343
			}
344
			// VISITE AVEC MOTIF INFO
345
			valorisationModifie.setVisiteAvecMotifInfo(avecMotifAccesChp.getValue());
346
 
347
			return valorisationModifie;
192 jp_milcent 348
		}
349
	}
350
 
351
	private void peuplerStructureValorisation() {
206 jp_milcent 352
		if (valorisation != null) {
353
			// ACTION
354
			actionMarkRGrpChp.get((valorisation.getAction().equals("1") ? 0 : 1)).setValue((valorisation.getAction().equals("1") ? true : false));
355
 
356
			// ACTION INFO
357
			peuplerCasesACocher(valorisation.getActionInfo(), actionTrukCacGrpChp, actionAutreChp);
358
 
359
			// PUBLICATION
360
			publicationChp.setValue(valorisation.getPublication());
361
 
362
			// COLLECTION AUTRE
363
			peuplerCasesACocher(valorisation.getCollectionAutre(), autreCollectionTrukCacGrpChp, autreCollectionAutreChp);
364
 
365
			// ACTION FUTURE
366
			futureActionMarkRGrpChp.get((valorisation.getActionFuture().equals("1") ? 0 : 1)).setValue((valorisation.getActionFuture().equals("1") ? true : false));
367
 
368
			// ACTION FUTURE INFO
369
			futureActionChp.setValue(valorisation.getActionFutureInfo());
370
 
371
			// RECHERCHE
372
			rechercheMarkRGrpChp.get((valorisation.getRecherche().equals("1") ? 0 : 1)).setValue((valorisation.getRecherche().equals("1") ? true : false));
373
			// RECHERCHE PROVENANCE
374
			peuplerCasesACocher(valorisation.getRechercheProvenance(), provenanceRechercheTrukCacGrpChp, provenanceRechercheAutreChp);
375
			// RECHERCHE TYPE
376
			peuplerCasesACocher(valorisation.getRechercheType(), typeRechercheTrukCacGrpChp, typeRechercheAutreChp);
377
 
378
			// ACCÈS SANS MOTIF
379
			sansMotifAccesMarkRGrpChp.get((valorisation.getAccesSansMotif().equals("1") ? 0 : 1)).setValue((valorisation.getAccesSansMotif().equals("1") ? true : false));
380
			// ACCÈS SANS MOTIF INFO
381
			sansMotifAccesChp.setValue(valorisation.getAccesSansMotifInfo());
382
 
383
			// VISITE AVEC MOTIF
384
			avecMotifAccesMarkRGrpChp.get((valorisation.getVisiteAvecMotif().equals("1") ? 0 : 1)).setValue((valorisation.getVisiteAvecMotif().equals("1") ? true : false));
385
			// VISITE AVEC MOTIF INFO
386
			avecMotifAccesChp.setValue(valorisation.getVisiteAvecMotifInfo());
387
		}
192 jp_milcent 388
	}
389
 
390
	private StructureConservation collecterStructureConservation() {
206 jp_milcent 391
		if (conservationOnglet.getData("acces").equals(false)) {
392
			return conservation;
393
		} else {
394
			// Création de l'objet
395
			StructureConservation conservationModifie = new StructureConservation();
192 jp_milcent 396
 
206 jp_milcent 397
			// FORMATION
398
			if (formationMarkRGrpChp.getValue() != null) {
399
				conservationModifie.setFormation(formationMarkRGrpChp.getValue().getValueAttribute());
400
			}
401
			// FORMATION INFO
402
			conservationModifie.setFormationInfo(formationChp.getValue());
403
			// FORMATION INTERET
404
			if (interetFormationMarkRGrpChp.getValue() != null) {
405
				conservationModifie.setFormationInteret(interetFormationMarkRGrpChp.getValue().getValueAttribute());
406
			}
407
 
408
			// STOCKAGE LOCAL
409
			conservationModifie.setStockageLocal(creerChaineDenormalisee(localStockageTrukCacGrpChp.getValues()));
410
			conservationModifie.setStockageLocal("AUTRE", localStockageAutreChp.getValue());
411
 
412
			// STOCKAGE MEUBLE
413
			conservationModifie.setStockageMeuble(creerChaineDenormalisee(meubleStockageTrukCacGrpChp.getValues()));
414
			conservationModifie.setStockageMeuble("AUTRE", meubleStockageAutreChp.getValue());
415
 
416
			// STOCKAGE PAREMETRE
417
			conservationModifie.setStockageParametre(creerChaineDenormalisee(parametreStockageTrukCacGrpChp.getValues()));
418
			conservationModifie.setStockageParametre("AUTRE", parametreStockageAutreChp.getValue());
419
 
420
			// COLLECTION COMMUNE
421
			if (collectionCommuneMarkRGrpChp.getValue() != null) {
422
				conservationModifie.setCollectionCommune(collectionCommuneMarkRGrpChp.getValue().getValueAttribute());
423
			}
424
			// COLLECTION AUTRE
425
			conservationModifie.setCollectionAutre(creerChaineDenormalisee(collectionAutreTrukCacGrpChp.getValues()));
426
			conservationModifie.setCollectionAutre("AUTRE", collectionAutreAutreChp.getValue());
427
 
428
			// ACCÈS CONTROLÉ
429
			if (accesControleMarkRGrpChp.getValue() != null) {
430
				conservationModifie.setAccesControle(accesControleMarkRGrpChp.getValue().getValueAttribute());
431
			}
432
 
433
			// RESTAURATION
434
			if (restaurationMarkRGrpChp.getValue() != null) {
435
				conservationModifie.setRestauration(restaurationMarkRGrpChp.getValue().getValueAttribute());
436
			}
437
			// RESTAURATION OPÉRATION
438
			conservationModifie.setRestaurationOperation(creerChaineDenormalisee(opRestauTrukCacGrpChp.getValues()));
439
			conservationModifie.setRestaurationOperation("AUTRE", opRestauAutreChp.getValue());
440
 
441
			// MATERIEL CONSERVATION
442
			if (materielConservationCeRGrpChp.getValue() != null) {
443
				conservationModifie.setMaterielConservation(materielConservationCeRGrpChp.getValue().getValueAttribute());
444
			}
445
 
446
			// MATERIEL AUTRE
447
			conservationModifie.setMaterielAutre(creerChaineDenormalisee(autreMaterielTrukCacGrpChp.getValues()));
448
			conservationModifie.setMaterielAutre("AUTRE", autreMaterielAutreChp.getValue());
449
 
450
			// TRAITEMENT
451
			if (traitementMarkRGrpChp.getValue() != null) {
452
				conservationModifie.setTraitement(traitementMarkRGrpChp.getValue().getValueAttribute());
453
			}
454
			// TRAIEMENTS
455
			conservationModifie.setTraitements(creerChaineDenormalisee(traitementTrukCacGrpChp.getValues()));
456
			conservationModifie.setTraitements("AUTRE", traitementAutreChp.getValue());
457
 
458
 
459
			// ACQUISITION COLLECTION
460
			if (collectionAcquisitionMarkRGrpChp.getValue() != null) {
461
				conservationModifie.setAcquisitionCollection(collectionAcquisitionMarkRGrpChp.getValue().getValueAttribute());
462
			}
463
 
464
			// ACQUISITION ECHANTILLON
465
			if (echantillonAcquisitionMarkRGrpChp.getValue() != null) {
466
				conservationModifie.setAcquisitionEchantillon(echantillonAcquisitionMarkRGrpChp.getValue().getValueAttribute());
467
			}
468
			// ACQUISITION TRAITEMENT
469
			if (traitementAcquisitionMarkRGrpChp.getValue() != null) {
470
				conservationModifie.setAcquisitionTraitement(traitementAcquisitionMarkRGrpChp.getValue().getValueAttribute());
471
			}
472
			// ACQUISITION TRAITEMENT POISON
473
			conservationModifie.setAcquisitionTraitementPoison(creerChaineDenormalisee(poisonTraitementTrukCacGrpChp.getValues()));
474
			conservationModifie.setAcquisitionTraitementPoison("AUTRE", poisonTraitementAutreChp.getValue());
475
			// ACQUISITION TRAITEMENT INSECTE
476
			conservationModifie.setAcquisitionTraitementInsecte(creerChaineDenormalisee(insecteTraitementTrukCacGrpChp.getValues()));
477
			conservationModifie.setAcquisitionTraitementInsecte("AUTRE", insecteTraitementAutreChp.getValue());
478
 
479
			// Retour de l'objet
480
			//GWT.log(conservationLocal.toString(), null);
481
			return conservationModifie;
192 jp_milcent 482
		}
188 jp_milcent 483
	}
484
 
192 jp_milcent 485
	private void peuplerStructureConservation() {
206 jp_milcent 486
		if (conservation != null) {
487
			// FORMATION
488
			// Bouton oui, à toujours l'index 0 donc on teste en fonction...
489
			formationMarkRGrpChp.get((conservation.getFormation().equals("1") ? 0 : 1)).setValue((conservation.getFormation().equals("1") ? true : false));
490
			// FORMATION INFO
491
			formationChp.setValue(conservation.getFormationInfo());
492
			// FORMATION INTERET
493
			interetFormationMarkRGrpChp.get((conservation.getFormationInteret().equals("1") ? 0 : 1)).setValue((conservation.getFormationInteret().equals("1") ? true : false));
494
 
495
			// STOCKAGE LOCAL
496
			peuplerCasesACocher(conservation.getStockageLocal(), localStockageTrukCacGrpChp,localStockageAutreChp);
497
 
498
			// STOCKAGE MEUBLE
499
			peuplerCasesACocher(conservation.getStockageMeuble(), meubleStockageTrukCacGrpChp, meubleStockageAutreChp);
500
 
501
			// STOCKAGE PAREMETRE
502
			peuplerCasesACocher(conservation.getStockageParametre(), parametreStockageTrukCacGrpChp, parametreStockageAutreChp);
503
 
504
			// COLLECTION COMMUNE
505
			collectionCommuneMarkRGrpChp.get((conservation.getCollectionCommune().equals("1") ? 0 : 1)).setValue((conservation.getCollectionCommune().equals("1") ? true : false));
506
			// COLLECTION AUTRE
507
			peuplerCasesACocher(conservation.getCollectionAutre(), collectionAutreTrukCacGrpChp, collectionAutreAutreChp);
508
 
509
			// ACCÈS CONTROLÉ
510
			accesControleMarkRGrpChp.get((conservation.getAccesControle().equals("1") ? 0 : 1)).setValue((conservation.getAccesControle().equals("1") ? true : false));
511
 
512
			// RESTAURATION
513
			restaurationMarkRGrpChp.get((conservation.getRestauration().equals("1") ? 0 : 1)).setValue((conservation.getRestauration().equals("1") ? true : false));
514
			// RESTAURATION OPÉRATION
515
			peuplerCasesACocher(conservation.getRestaurationOperation(), opRestauTrukCacGrpChp, opRestauAutreChp);
516
 
517
			// MATERIEL CONSERVATION
518
			peuplerBoutonsRadio(conservation.getMaterielConservation(), materielConservationCeRGrpChp);
519
 
520
			// MATERIEL AUTRE
521
			peuplerCasesACocher(conservation.getMaterielAutre(), autreMaterielTrukCacGrpChp, autreMaterielAutreChp);
522
 
523
			// TRAITEMENT
524
			traitementMarkRGrpChp.get((conservation.getTraitement().equals("1") ? 0 : 1)).setValue((conservation.getTraitement().equals("1") ? true : false));
525
			// TRAITEMENTS
526
			peuplerCasesACocher(conservation.getTraitements(), traitementTrukCacGrpChp, traitementAutreChp);
527
 
528
			// ACQUISITION COLLECTION
529
			collectionAcquisitionMarkRGrpChp.get((conservation.getAcquisitionCollection().equals("1") ? 0 : 1)).setValue((conservation.getAcquisitionCollection().equals("1") ? true : false));
530
 
531
			// ACQUISITION ECHANTILLON
532
			echantillonAcquisitionMarkRGrpChp.get((conservation.getAcquisitionEchantillon().equals("1") ? 0 : 1)).setValue((conservation.getAcquisitionEchantillon().equals("1") ? true : false));
533
 
534
			// ACQUISITION TRAITEMENT
535
			traitementAcquisitionMarkRGrpChp.get((conservation.getAcquisitionTraitement().equals("1") ? 0 : 1)).setValue((conservation.getAcquisitionTraitement().equals("1") ? true : false));
536
 
537
			// ACQUISITION TRAITEMENT POISON
538
			peuplerCasesACocher(conservation.getAcquisitionTraitementPoison(), poisonTraitementTrukCacGrpChp, poisonTraitementAutreChp);
539
			// ACQUISITION TRAITEMENT INSECTE
540
			peuplerCasesACocher(conservation.getAcquisitionTraitementInsecte(), insecteTraitementTrukCacGrpChp, insecteTraitementAutreChp);
541
		}
188 jp_milcent 542
	}
543
 
192 jp_milcent 544
	private Structure collecterStructureIdentification() {
188 jp_milcent 545
		// IDENTIFICATION
119 jpm 546
		Structure structure = new Structure();
172 jp_milcent 547
		structure.setId(idStructureChp.getValue());
119 jpm 548
		structure.setNom(nomStructureChp.getValue());
164 jp_milcent 549
		// Récupération de l'acronyme (= identifiant alternatif)
550
		structure.setIdAlternatif(null);
551
		if (comboAcronyme.getValue() != null) {
552
			String typeAcronyme = comboAcronyme.getValue().getAbr();
553
			if (typeAcronyme == "IH") {
554
				structure.setIdAlternatif(typeAcronyme+"##"+ihChp.getValue());
555
			} else if (typeAcronyme == "MNHN") {
556
				structure.setIdAlternatif(typeAcronyme+"##"+mnhnChp.getValue());
557
			}
558
		}
559
		// Récupération statut de la structure
560
		structure.setTypePublic(null);
561
		structure.setTypePrive(null);
562
		if (comboTypeStructure.getValue() != null) {
563
			String typeStructure = comboTypeStructure.getValue().getAbr();
188 jp_milcent 564
			if (typeStructure == "stpu" && comboLstpu.getValue() != null) {
164 jp_milcent 565
				structure.setTypePublic(comboLstpu.getValue().getId());
188 jp_milcent 566
			} else if (typeStructure == "stpr" && comboLstpr.getValue() != null) {
164 jp_milcent 567
				structure.setTypePrive(comboLstpr.getValue().getId());
568
			}
569
		}
156 jp_milcent 570
		structure.setDateFondation(dateFondationChp.getValue());
164 jp_milcent 571
 
119 jpm 572
		structure.setAdresse(adrChp.getValue());
573
		structure.setCodePostal(cpChp.getValue());
574
		structure.setVille(villeChp.getValue());
575
		structure.setRegion(regionChp.getValue());
164 jp_milcent 576
		structure.setPays(null);
577
		if (comboPays.getValue() != null) {
578
			structure.setPays(comboPays.getValue().getAbreviation());
172 jp_milcent 579
		} else if (comboPays.getRawValue() != "") {
580
			structure.setPays(comboPays.getRawValue());
164 jp_milcent 581
		}
119 jpm 582
 
583
		structure.setTelephone(telChp.getValue());
584
		structure.setFax(faxChp.getValue());
585
		structure.setCourriel(emailChp.getValue());
188 jp_milcent 586
		structure.setUrl(Structure.URL_SITE, urlChp.getValue());
119 jpm 587
 
188 jp_milcent 588
		// CONSERVATION
589
 
156 jp_milcent 590
		return structure;
119 jpm 591
	}
592
 
192 jp_milcent 593
	private void peuplerStructureIdentification(Structure str) {
172 jp_milcent 594
		idStructureChp.setValue(str.getId());
156 jp_milcent 595
		nomStructureChp.setValue(str.getNom());
188 jp_milcent 596
		if (!str.getIdAlternatif().isEmpty()) {
597
			String[] acronyme = str.getIdAlternatif().split("##");
598
			if (acronyme[0].matches("^IH$")) {
599
				comboAcronyme.setValue(InterneValeurListe.getTypeAcronymeIH());
600
				ihChp.setValue(acronyme[1]);
601
			} else if (acronyme[0].matches("^MNHN$")) {
602
				comboAcronyme.setValue(InterneValeurListe.getTypeAcronymeMNHN());
603
				mnhnChp.setValue(acronyme[1]);
604
			}
605
		}
172 jp_milcent 606
		if (!str.getTypePrive().isEmpty()) {
607
			if (str.getTypePrive().matches("^[0-9]+$")) {
608
				comboTypeStructure.setValue(InterneValeurListe.getTypePrivee());
609
				comboLstpr.setValue(comboLstpr.getStore().findModel("id_valeur", str.getTypePrive()));
610
			}
611
		} else if (!str.getTypePublic().isEmpty()) {
612
			if (str.getTypePublic().matches("^[0-9]+$")) {
613
				comboTypeStructure.setValue(InterneValeurListe.getTypePublique());
614
				comboLstpu.setValue(comboLstpu.getStore().findModel("id_valeur", str.getTypePublic()));
615
			}
616
		}
156 jp_milcent 617
		dateFondationChp.setValue(str.getDateFondation());
618
 
619
		adrChp.setValue(str.getAdresse());
620
		cpChp.setValue(str.getCodePostal());
621
		villeChp.setValue(str.getVille());
622
		regionChp.setValue(str.getRegion());
172 jp_milcent 623
		if (str.getPays().matches("^[A-Z]{2}$")) {
624
			comboPays.setValue(comboPays.getStore().findModel("abreviation", str.getPays()));
625
		} else {
626
			comboPays.setRawValue(str.getPays());
627
		}
156 jp_milcent 628
 
629
		telChp.setValue(str.getTelephone());
630
		faxChp.setValue(str.getFax());
631
		emailChp.setValue(str.getCourriel());
164 jp_milcent 632
		urlChp.setValue(str.getUrl("WEB"));
156 jp_milcent 633
	}
634
 
111 jpm 635
	private TabItem creerOngletValorisation() {
636
		valorisationOnglet = new TabItem();
637
		valorisationOnglet.setText("Valorisation");
638
		valorisationOnglet.setScrollMode(Scroll.AUTO);
639
		valorisationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null));
206 jp_milcent 640
		valorisationOnglet.setData("acces", false); // Permet de savoir si l'onblet a été accédé par l'utilisateur
192 jp_milcent 641
		valorisationOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {
642
			public void handleEvent(ComponentEvent be) {
206 jp_milcent 643
				// Indique que l'onglet a été rempli et a pu être modifié pour la méthode collecter...
644
				valorisationOnglet.setData("acces", true);
192 jp_milcent 645
				peuplerStructureValorisation();
646
			}
647
		});
111 jpm 648
 
119 jpm 649
		actionMarkRGrpChp = creerChoixUniqueRadioGroupe("action_mark", "ouiNon");
111 jpm 650
		actionMarkRGrpChp.setFieldLabel("Avez-vous réalisé des actions de valorisation de vos collections botaniques ou avez-vous été sollicités pour la valorisation de ces collections ?");
651
		valorisationOnglet.add(actionMarkRGrpChp);
652
 
119 jpm 653
 
111 jpm 654
		actionTrukCp = creerChoixMultipleCp("actionValorisation");
655
		actionTrukCp.hide();
115 jpm 656
		actionTrukCacGrpChp = new CheckBoxGroup();
657
		actionTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
111 jpm 658
		valorisationOnglet.add(actionTrukCp);
659
 
206 jp_milcent 660
		publicationChp = new TextArea();
111 jpm 661
		publicationChp.setFieldLabel("Quelques titres des ouvrages, articles scientifiques, ...");
206 jp_milcent 662
		valorisationOnglet.add(publicationChp, new FormData(550, 0));
111 jpm 663
 
664
		autreCollectionTrukCp = creerChoixMultipleCp("autreCollection");
119 jpm 665
		autreCollectionTrukCacGrpChp = new CheckBoxGroup();
666
		autreCollectionTrukCacGrpChp.setFieldLabel("L'organisme dispose-t-il d'autres collections (permettant une valorisation pluridisciplinaire) ?");
111 jpm 667
		valorisationOnglet.add(autreCollectionTrukCp);
668
 
188 jp_milcent 669
		futureActionMarkRGrpChp = creerChoixUniqueRadioGroupe("future_action_mark", "ouiNon");
111 jpm 670
		futureActionMarkRGrpChp.setFieldLabel("Envisagez vous des actions de valorisation dans le cadre de votre politique culturelle ?");
671
		valorisationOnglet.add(futureActionMarkRGrpChp);
672
 
206 jp_milcent 673
		futureActionChp = new TextArea();
111 jpm 674
		futureActionChp.setFieldLabel("Si oui, lesquelles ?");
675
		futureActionChp.hide();
206 jp_milcent 676
		valorisationOnglet.add(futureActionChp, new FormData(550, 0));
111 jpm 677
 
188 jp_milcent 678
		rechercheMarkRGrpChp = creerChoixUniqueRadioGroupe("recherche_mark", "ouiNon");
111 jpm 679
		rechercheMarkRGrpChp.setFieldLabel("Vos collections botaniques sont-elles utilisées pour des recherches scientifiques ?");
680
		valorisationOnglet.add(rechercheMarkRGrpChp);
681
 
682
		provenanceRechercheTrukCp = creerChoixMultipleCp("continentEtFr");
683
		provenanceRechercheTrukCp.hide();
115 jpm 684
		provenanceRechercheTrukCacGrpChp = new CheckBoxGroup();
685
		provenanceRechercheTrukCacGrpChp.setFieldLabel("Si oui, par des chercheurs (professionnels ou amateurs) de quelle provenance ?");
111 jpm 686
		valorisationOnglet.add(provenanceRechercheTrukCp);
687
 
119 jpm 688
		typeRechercheTrukCp = creerChoixMultipleCp("typeRecherche");
689
		typeRechercheTrukCp.hide();
115 jpm 690
		typeRechercheTrukCacGrpChp = new CheckBoxGroup();
691
		typeRechercheTrukCacGrpChp.setFieldLabel("Et pour quelles recherches ?");
119 jpm 692
		valorisationOnglet.add(typeRechercheTrukCp);
111 jpm 693
 
188 jp_milcent 694
		sansMotifAccesMarkRGrpChp = creerChoixUniqueRadioGroupe("sans_motif_acces_mark", "ouiNon");
111 jpm 695
		sansMotifAccesMarkRGrpChp.setFieldLabel("Peut-on consulter vos collections botaniques sans motif de recherches scientifiques ?");
696
		valorisationOnglet.add(sansMotifAccesMarkRGrpChp);
697
 
206 jp_milcent 698
		valorisationOnglet.add(sansMotifAccesChp = new TextArea(), new FormData(550, 0));
111 jpm 699
		sansMotifAccesChp.hide();
700
		sansMotifAccesChp.setFieldLabel("Si oui, quelles démarches doit-on faire pour les consulter ?");
701
 
188 jp_milcent 702
		avecMotifAccesMarkRGrpChp = creerChoixUniqueRadioGroupe("avec_motif_acces_mark", "ouiNon");
111 jpm 703
		avecMotifAccesMarkRGrpChp.setFieldLabel("Peut-on visiter vos collections botaniques avec des objectifs de recherches scientifiques ?");
704
		valorisationOnglet.add(avecMotifAccesMarkRGrpChp);
705
 
206 jp_milcent 706
		valorisationOnglet.add(avecMotifAccesChp = new TextArea(), new FormData(550, 0));
111 jpm 707
		avecMotifAccesChp.hide();
708
		avecMotifAccesChp.setFieldLabel("Si oui, quelles démarches doit-on faire pour les visiter ?");
709
 
710
		return valorisationOnglet;
711
	}
712
 
108 jpm 713
	private TabItem creerOngletConservation() {
714
		conservationOnglet = new TabItem();
715
		conservationOnglet.setText("Conservation");
110 jpm 716
		conservationOnglet.setScrollMode(Scroll.AUTO);
108 jpm 717
		conservationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null));
206 jp_milcent 718
		conservationOnglet.setData("acces", false);
192 jp_milcent 719
		conservationOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {
720
			public void handleEvent(ComponentEvent be) {
206 jp_milcent 721
				// Indique que l'onglet a été rempli et a pu être modifié pour la méthode collecter...
722
				conservationOnglet.setData("acces", true);
723
				peuplerStructureConservation();
192 jp_milcent 724
			}
725
		});
108 jpm 726
 
188 jp_milcent 727
		formationMarkRGrpChp = creerChoixUniqueRadioGroupe("formation_mark", "ouiNon");
728
		formationMarkRGrpChp.setFieldLabel("Le personnel s'occupant des collections a-t-il suivi des formations en conservations ?");
729
		conservationOnglet.add(formationMarkRGrpChp);
108 jpm 730
 
111 jpm 731
		formationChp = new TextField<String>();
732
		formationChp.hide();
733
		formationChp.setFieldLabel("Si oui, lesquelles ?");
108 jpm 734
		conservationOnglet.add(formationChp);
735
 
188 jp_milcent 736
		interetFormationMarkRGrpChp = creerChoixUniqueRadioGroupe("interet_formation_mark", "ouiNon");
737
		interetFormationMarkRGrpChp.setFieldLabel("Seriez vous intéressé par une formation à la conservation et à la restauration d'herbier ?");
738
		conservationOnglet.add(interetFormationMarkRGrpChp);
108 jpm 739
 
115 jpm 740
		localStockageTrukCp = creerChoixMultipleCp("localStockage");
741
		localStockageTrukCacGrpChp = new CheckBoxGroup();
742
		localStockageTrukCacGrpChp.setFieldLabel("Avez vous des locaux spécifiques de stockage des collections botaniques ?");
743
		conservationOnglet.add(localStockageTrukCp);
108 jpm 744
 
115 jpm 745
		meubleStockageTrukCp = creerChoixMultipleCp("meubleStockage");
746
		meubleStockageTrukCacGrpChp = new CheckBoxGroup();
747
		meubleStockageTrukCacGrpChp.setFieldLabel("Avez vous des meubles spécifiques au stockage des collections botaniques ?");
748
		conservationOnglet.add(meubleStockageTrukCp);
108 jpm 749
 
115 jpm 750
		parametreStockageTrukCp = creerChoixMultipleCp("parametreStockage");
751
		parametreStockageTrukCacGrpChp = new CheckBoxGroup();
752
		parametreStockageTrukCacGrpChp.setFieldLabel("Quels paramètres maîtrisez vous ?");
753
		conservationOnglet.add(parametreStockageTrukCp);
109 jpm 754
 
188 jp_milcent 755
		collectionCommuneMarkRGrpChp = creerChoixUniqueRadioGroupe("collection_commune_mark", "ouiNon");
111 jpm 756
		collectionCommuneMarkRGrpChp.setFieldLabel("Les collections botaniques sont-elles conservées avec d'autres collections  dans les mêmes locaux (problème de conservation en commun) ?");
757
		conservationOnglet.add(collectionCommuneMarkRGrpChp);
109 jpm 758
 
111 jpm 759
		collectionAutreTrukCp = creerChoixMultipleCp("autreCollection");
115 jpm 760
		collectionAutreTrukCacGrpChp = new CheckBoxGroup();
761
		collectionAutreTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
111 jpm 762
		collectionAutreTrukCp.hide();
763
		conservationOnglet.add(collectionAutreTrukCp);
110 jpm 764
 
188 jp_milcent 765
		accesControleMarkRGrpChp = creerChoixUniqueRadioGroupe("mark_acces_controle", "ouiNon");
115 jpm 766
		accesControleMarkRGrpChp.setFieldLabel("L'accès à vos collections botanique est-il contrôlé (ex. : manipulation réservées à des personnes compétentes) ?");
767
		conservationOnglet.add(accesControleMarkRGrpChp);
110 jpm 768
 
188 jp_milcent 769
		restaurationMarkRGrpChp = creerChoixUniqueRadioGroupe("restauration_mark", "ouiNon");
115 jpm 770
		restaurationMarkRGrpChp.setFieldLabel("Effectuez vous des opérations de restauration ou de remise en état de vos collections botaniques ?");
771
		conservationOnglet.add(restaurationMarkRGrpChp);
110 jpm 772
 
111 jpm 773
		opRestauTrukCp = creerChoixMultipleCp("opRestau");
115 jpm 774
		opRestauTrukCacGrpChp = new CheckBoxGroup();
775
		opRestauTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
111 jpm 776
		opRestauTrukCp.hide();
777
		conservationOnglet.add(opRestauTrukCp);
110 jpm 778
 
188 jp_milcent 779
		// Création d'un ContentPanel vide et du groupe de bouton radio
780
		// Le groupe de bouton radio recevra les boutons au moment de la réception des données (rafraichir()) et ser à ce moment là ajouter au ContenetPanel
781
		materielConservationCp = creerChoixMultipleCp("onep");
782
		conservationOnglet.add(materielConservationCp);
115 jpm 783
		materielConservationCeRGrpChp = creerChoixUniqueRadioGroupe("materiel_conservation_ce", "onep");
784
		materielConservationCeRGrpChp.setFieldLabel("Utilisez vous du matériel de conservation ?");
785
		materielConservationCeRGrpChp.setToolTip(new ToolTipConfig("Matériel de conservation", "matériel spécialisé pour la conservation des archives ou du patrimoine fragile. Ce matériel possède des propriétés mécaniques et chimiques qui font qu'il résiste dans le temps et que sa dégradation n'entraîne pas de dommages sur le matériel qu'il aide à conserver. Exemples : papier neutre, papier gommé, etc..."));
110 jpm 786
 
115 jpm 787
		autreMaterielTrukCp = creerChoixMultipleCp("autreMateriel");
788
		autreMaterielTrukCp.hide();
789
		autreMaterielTrukCacGrpChp = new CheckBoxGroup();
790
		autreMaterielTrukCacGrpChp.setFieldLabel("Si non, qu'utilisez vous comme matériel ?");
791
		conservationOnglet.add(autreMaterielTrukCp);
110 jpm 792
 
188 jp_milcent 793
		traitementMarkRGrpChp = creerChoixUniqueRadioGroupe("traitement_mark", "ouiNon");
794
		traitementMarkRGrpChp.setFieldLabel("Réalisez vous actuellement des traitements globaux contre les insectes ?");
795
		conservationOnglet.add(traitementMarkRGrpChp);
110 jpm 796
 
111 jpm 797
		traitementTrukCp = creerChoixMultipleCp("insecteTraitement");
115 jpm 798
		traitementTrukCp.hide();
799
		traitementTrukCacGrpChp = new CheckBoxGroup();
800
		traitementTrukCacGrpChp.setFieldLabel("Si oui, lesquels ?");
111 jpm 801
		conservationOnglet.add(traitementTrukCp);
110 jpm 802
 
188 jp_milcent 803
		collectionAcquisitionMarkRGrpChp = creerChoixUniqueRadioGroupe("collection_acquisition_mark", "ouiNon");
804
		collectionAcquisitionMarkRGrpChp.setFieldLabel("Actuellement, vos collections botaniques s'accroissent-elles de nouvelles acquisitions ?");
805
		conservationOnglet.add(collectionAcquisitionMarkRGrpChp);
110 jpm 806
 
188 jp_milcent 807
		echantillonAcquisitionMarkRGrpChp = creerChoixUniqueRadioGroupe("echantillon_acquisition_mark", "ouiNon");
808
		echantillonAcquisitionMarkRGrpChp.setFieldLabel("Actuellement, mettez vous en herbier de nouveaux échantillons ?");
809
		conservationOnglet.add(echantillonAcquisitionMarkRGrpChp);
110 jpm 810
 
115 jpm 811
		traitementAcquisitionMarkRGrpChp = creerChoixUniqueRadioGroupe("traitement_acquisition_mark", "ouiNon");
812
		traitementAcquisitionMarkRGrpChp.hide();
813
		traitementAcquisitionMarkRGrpChp.setFieldLabel("Si oui, faites-vous un traitement contre les insectes avant l'intégration dans vos collections ?");
814
		conservationOnglet.add(traitementAcquisitionMarkRGrpChp);
110 jpm 815
 
115 jpm 816
		traitementAcquisitionMarkLabel = new LabelField();
817
		traitementAcquisitionMarkLabel.hide();
818
		traitementAcquisitionMarkLabel.setFieldLabel("Si oui, lesquels ?");
819
		conservationOnglet.add(traitementAcquisitionMarkLabel);
110 jpm 820
 
115 jpm 821
		poisonTraitementTrukCp = creerChoixMultipleCp("poisonTraitement");
822
		poisonTraitementTrukCp.hide();
823
		poisonTraitementTrukCacGrpChp = new CheckBoxGroup();
824
		poisonTraitementTrukCacGrpChp.setFieldLabel("Empoisonnement");
825
		poisonTraitementTrukCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
826
		poisonTraitementTrukCacGrpChp.setLabelSeparator("");
827
		conservationOnglet.add(poisonTraitementTrukCp);
110 jpm 828
 
111 jpm 829
		insecteTraitementTrukCp = creerChoixMultipleCp("insecteTraitement");
115 jpm 830
		insecteTraitementTrukCp.hide();
831
		insecteTraitementTrukCacGrpChp = new CheckBoxGroup();
832
		insecteTraitementTrukCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
833
		insecteTraitementTrukCacGrpChp.setLabelSeparator("");
834
		insecteTraitementTrukCacGrpChp.setFieldLabel("Désinsectisation");
111 jpm 835
		conservationOnglet.add(insecteTraitementTrukCp);
110 jpm 836
 
108 jpm 837
		return conservationOnglet;
838
	}
839
 
103 jpm 840
	private TabItem creerOngletPersonnel() {
108 jpm 841
		personnelOnglet = new TabItem();
103 jpm 842
		personnelOnglet.setText("Personnel");
110 jpm 843
		personnelOnglet.setScrollMode(Scroll.AUTO);
844
		personnelOnglet.setLayout(creerFormLayout(400, LabelAlign.LEFT, null));
103 jpm 845
 
188 jp_milcent 846
		nbreTotalPersonneStructureChp = new NumberField();
103 jpm 847
		nbreTotalPersonneStructureChp.setFieldLabel("Nombre de personne travaillant dans l'institution");
848
		nbreTotalPersonneStructureChp.setFormat(NumberFormat.getFormat("#"));
849
		nbreTotalPersonneStructureChp.setToolTip("Ce champ doit contenir un nombre");
850
		personnelOnglet.add(nbreTotalPersonneStructureChp);
851
 
852
		personnelOnglet.add(this.creerGrillePersonnel());
853
 
854
		nbreTotalPersonnelChp = new LabelField();
855
		nbreTotalPersonnelChp.setFieldLabel("Nombre de personne travaillant sur les collections");
856
		nbreTotalPersonnelChp.setLabelSeparator(":");
857
		nbreTotalPersonnelChp.setValue(""+grillePersonnel.getStore().getCount());
858
		personnelOnglet.add(nbreTotalPersonnelChp);
859
 
860
		return personnelOnglet;
861
	}
862
 
102 jpm 863
	private ContentPanel creerGrillePersonnel() {
103 jpm 864
 
102 jpm 865
		List<Personne> personnes = new ArrayList<Personne>();
866
		personnes.add(new Personne(Valeur.FONCTION_DIRECTEUR));
867
		personnes.add(new Personne(Valeur.FONCTION_CONSERVATEUR));
868
 
103 jpm 869
		personnelGrilleMagazin = new ListStore<Personne>();
870
		personnelGrilleMagazin.add(personnes);
871
 
102 jpm 872
		List<ColumnConfig> configs = new ArrayList<ColumnConfig>();
873
 
874
		CheckBoxSelectionModel<Personne> sm = new CheckBoxSelectionModel<Personne>();
875
		configs.add(sm.getColumn());
103 jpm 876
 
877
		ColumnConfig column = new ColumnConfig("ce_truk_fonction", "Fonction", 100);
119 jpm 878
		modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("fonction"));
103 jpm 879
		magazinLiFonction = new ListStore<Valeur>();
880
		magazinLiFonction.add(new ArrayList<Valeur>());
881
 
882
		comboLiFonction = new ComboBox<Valeur>();
883
		comboLiFonction.setTriggerAction(TriggerAction.ALL);
884
		comboLiFonction.setEditable(true);
885
		comboLiFonction.setDisplayField("nom");
886
		//comboLiStatut.setEmptyText("Sélectionez une fonction...");
887
		comboLiFonction.setStore(magazinLiFonction);
888
 
889
		CellEditor fonctionEditor = new CellEditor(comboLiFonction) {
890
			@Override
891
			public Object preProcessValue(Object value) {
892
				if (value == null) {
893
					return value;
894
				}
895
				//GWT.log("pre : "+value.toString(), null);
896
				return comboLiFonction.getStore().findModel("nom", (String) value);
897
			}
898
 
899
			@Override
900
			public Object postProcessValue(Object value) {
901
				if (value == null) {
902
					return value;
903
				}
904
				//GWT.log("post : "+value.toString(), null);
905
				return ((Valeur) value).get("nom");
906
			}
907
		};
908
		column.setEditor(fonctionEditor);
102 jpm 909
		configs.add(column);
910
 
911
		column = new ColumnConfig();
912
		column.setId("prenom");
103 jpm 913
		column.setHeader("Prénom");
914
		column.setWidth(100);
915
		TextField<String> prenomChp = new TextField<String>();
916
		prenomChp.setAllowBlank(false);
917
		prenomChp.getMessages().setBlankText("Ce champ est obligatoire.");
918
		prenomChp.setAutoValidate(true);
919
		column.setEditor(new CellEditor(prenomChp));
102 jpm 920
		configs.add(column);
921
 
922
		column = new ColumnConfig();
923
		column.setId("nom");
924
		column.setHeader("Nom");
103 jpm 925
		column.setWidth(100);
926
		TextField<String> nomChp = new TextField<String>();
927
		nomChp.setAllowBlank(false);
928
		nomChp.getMessages().setBlankText("Ce champ est obligatoire.");
929
		nomChp.setAutoValidate(true);
930
		column.setEditor(new CellEditor(nomChp));
102 jpm 931
		configs.add(column);
932
 
103 jpm 933
		column = new ColumnConfig("tel", "Téléphone", 100);
934
		TextField<String> telChp = new TextField<String>();
935
		column.setEditor(new CellEditor(telChp));
102 jpm 936
		configs.add(column);
937
 
938
		column = new ColumnConfig("fax", "Fax", 100);
103 jpm 939
		TextField<String> faxChp = new TextField<String>();
940
		column.setEditor(new CellEditor(faxChp));
102 jpm 941
		configs.add(column);
942
 
103 jpm 943
		column = new ColumnConfig("courriel", "Courriel", 100);
944
		TextField<String> emailChp = new TextField<String>();
945
		column.setEditor(new CellEditor(emailChp));
102 jpm 946
		configs.add(column);
947
 
119 jpm 948
		modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("statut"));
103 jpm 949
		magazinLiStatut = new ListStore<Valeur>();
950
		magazinLiStatut.add(new ArrayList<Valeur>());
951
 
952
		comboLiStatut = new ComboBox<Valeur>();
953
		comboLiStatut.setTriggerAction(TriggerAction.ALL);
954
		comboLiStatut.setEditable(false);
955
		comboLiStatut.setDisplayField("nom");
956
		comboLiStatut.setEmptyText("Sélectionez un statut...");
957
		comboLiStatut.setStore(magazinLiStatut);
958
 
959
		CellEditor statutEditor = new CellEditor(comboLiStatut) {
960
			@Override
961
			public Object preProcessValue(Object value) {
962
				if (value == null) {
963
					return value;
964
				}
965
				//GWT.log("pre : "+value.toString(), null);
966
				return comboLiStatut.getStore().findModel("nom", (String) value);
967
			}
968
 
969
			@Override
970
			public Object postProcessValue(Object value) {
971
				if (value == null) {
972
					return value;
973
				}
974
				//GWT.log("post : "+value.toString(), null);
975
				return ((Valeur) value).get("nom");
976
			}
977
		};
978
		column = new ColumnConfig("statut", "Statut", 100);
979
		column.setEditor(statutEditor);
102 jpm 980
		configs.add(column);
981
 
103 jpm 982
		column = new ColumnConfig("tps_w", "Temps travail", 100);
983
		column.setNumberFormat(NumberFormat.getFormat("##"));
984
		NumberField tpsWChp = new NumberField();
985
		tpsWChp.setFormat(NumberFormat.getFormat("##"));
986
		tpsWChp.setToolTip("Ce champ doit contenir un nombre");
987
		column.setEditor(new CellEditor(tpsWChp));
988
		configs.add(column);
989
 
990
		column = new ColumnConfig("specialites", "Spécialités botaniques", 150);
991
		TextField<String> speChp = new TextField<String>();
992
		column.setEditor(new CellEditor(speChp));
993
		configs.add(column);
994
 
995
		CheckColumnConfig checkColumn = new CheckColumnConfig("mark_contact", "Contact ?", 60);
102 jpm 996
		configs.add(checkColumn);
997
 
998
		ContentPanel cp = new ContentPanel();
999
		cp.setHeading("Personnes travaillant sur les collections");
110 jpm 1000
		cp.setIconStyle("icone-table");
1001
		cp.setScrollMode(Scroll.AUTO);
103 jpm 1002
		cp.setLayout(new FitLayout());
110 jpm 1003
		cp.setSize(1100, 200);
102 jpm 1004
		cp.setFrame(true);
1005
 
1006
		ToolBar toolBar = new ToolBar();
103 jpm 1007
 
1008
		TextToolItem ajouterPersonnelBtn = new TextToolItem("Ajouter", "icone-vcard-ajouter");
1009
		ajouterPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {
1010
			@Override
1011
			public void componentSelected(ToolBarEvent ce) {
1012
				Personne personne = new Personne();
1013
				grillePersonnel.stopEditing();
1014
				personnelGrilleMagazin.insert(personne, 0);
1015
				grillePersonnel.startEditing(0, 0);
1016
				// Mise à jour du nombre de personnel travaillant sur les collections
1017
				nbreTotalPersonnelChp.setValue(""+grillePersonnel.getStore().getCount());
1018
				// Activation du bouton supprimer si la grille contient un élément
1019
				if (grillePersonnel.getStore().getCount() > 0) {
1020
					ce.component.enable();
1021
				}
1022
			}
1023
		});
1024
		toolBar.add(ajouterPersonnelBtn);
1025
		toolBar.add(new SeparatorToolItem());
1026
		TextToolItem supprimerPersonnelBtn = new TextToolItem("Supprimer", "icone-vcard-supprimer");
1027
		supprimerPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {
1028
			@Override
1029
			public void componentSelected(ToolBarEvent ce) {
1030
				grillePersonnel.getStore().remove(grillePersonnel.getStore().getAt(0));
1031
				// Mise à jour du nombre de personnel travaillant sur les collections
1032
				nbreTotalPersonnelChp.setValue(""+grillePersonnel.getStore().getCount());
1033
				// Désactivation du bouton supprimer si la grille contient plus d'élément
1034
				if (grillePersonnel.getStore().getCount() == 0) {
1035
					ce.item.disable();
1036
				}
1037
			}
1038
		});
1039
		toolBar.add(supprimerPersonnelBtn);
102 jpm 1040
		cp.setTopComponent(toolBar);
1041
 
1042
		ColumnModel cm = new ColumnModel(configs);
1043
 
103 jpm 1044
		grillePersonnel = new EditorGrid<Personne>(personnelGrilleMagazin, cm);
1045
		grillePersonnel.setBorders(true);
1046
		grillePersonnel.setSelectionModel(sm);
1047
		grillePersonnel.addPlugin(sm);
1048
		grillePersonnel.addPlugin(checkColumn);
110 jpm 1049
  		grillePersonnel.setAutoExpandColumn("specialites");
102 jpm 1050
 
103 jpm 1051
		cp.add(grillePersonnel);
102 jpm 1052
		return cp;
1053
	}
1054
 
110 jpm 1055
	private TabItem creerOngletIdentification() {
1056
		//+-----------------------------------------------------------------------------------------------------------+
1057
		// Onlget formulaire IDENTIFICATION
192 jp_milcent 1058
		identificationOnglet = new TabItem();
1059
		identificationOnglet.setId("identification");
1060
		identificationOnglet.setText("Identification");
110 jpm 1061
		identificationOnglet.setLayout(new FormLayout());
1062
 
1063
		//+-----------------------------------------------------------------------------------------------------------+
172 jp_milcent 1064
		// Champs cachés
1065
		idStructureChp = new HiddenField<String>();
1066
 
1067
		//+-----------------------------------------------------------------------------------------------------------+
110 jpm 1068
		// Fieldset IDENTITÉ
1069
		FieldSet fieldSetIdentite = new FieldSet();
1070
		fieldSetIdentite.setHeading("Identité");
1071
		fieldSetIdentite.setCollapsible(true);
1072
		fieldSetIdentite.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4));
1073
 
119 jpm 1074
		nomStructureChp = new TextField<String>();
133 jpm 1075
		nomStructureChp.setTabIndex(100);
110 jpm 1076
		nomStructureChp.setFieldLabel("Nom de la structure");
1077
		nomStructureChp.setAllowBlank(false);
1078
		nomStructureChp.getMessages().setBlankText("Ce champ est obligatoire.");
1079
		fieldSetIdentite.add(nomStructureChp, new FormData(450, 0));
1080
 
1081
		// Création du sous-formulaire : Acronyme
1082
		LayoutContainer ligne = new LayoutContainer();
1083
		ligne.setLayout(new ColumnLayout());
1084
		LayoutContainer gauche = new LayoutContainer();
1085
		gauche.setLayout(creerFormLayout(200, LabelAlign.LEFT, 0));
1086
		LayoutContainer droite = new LayoutContainer();
1087
		droite.setLayout(creerFormLayout(0, null, 0));
1088
 
1089
		ListStore<InterneValeur> acronymes = new ListStore<InterneValeur>();
1090
		acronymes.add(InterneValeurListe.getTypeAcronyme());
1091
 
133 jpm 1092
		comboAcronyme = new ComboBox<InterneValeur>();
1093
		comboAcronyme.setTabIndex(101);
110 jpm 1094
		comboAcronyme.setEmptyText("Sélectioner un type d'acronyme...");
1095
		comboAcronyme.setFieldLabel("Acronymes");
1096
		comboAcronyme.setDisplayField("nom");
1097
		comboAcronyme.setStore(acronymes);
1098
		comboAcronyme.setEditable(false);
1099
		comboAcronyme.setTypeAhead(true);
1100
		comboAcronyme.setTriggerAction(TriggerAction.ALL);
1101
		comboAcronyme.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {
1102
			@Override
1103
			public void selectionChanged(SelectionChangedEvent<InterneValeur> se) {
1104
				String acronymeAbr = se.getSelectedItem().getAbr();
1105
				if (acronymeAbr.equals("IH")) {
1106
					mnhnChp.hide();
1107
					ihChp.show();
1108
				} else if (acronymeAbr.equals("MNHN")) {
1109
					ihChp.hide();
1110
					mnhnChp.show();
1111
				} else if (acronymeAbr.equals("")) {
1112
					ihChp.hide();
1113
					mnhnChp.hide();
1114
					comboAcronyme.clearSelections();
1115
				}
1116
			}
1117
        });
1118
		gauche.add(comboAcronyme);
1119
 
1120
		ihChp = new TextField<String>();
1121
		//ihChp.setEmptyText("Index Herbariorum");
133 jpm 1122
		ihChp.setTabIndex(102);
110 jpm 1123
		ihChp.setLabelSeparator("");
1124
		ihChp.setToolTip("Index Herbariorum : herbier de plus de 5000 échantillons");
1125
		ihChp.hide();
1126
		droite.add(ihChp);
1127
 
133 jpm 1128
		mnhnChp = new TextField<String>();
1129
		mnhnChp.setTabIndex(103);
110 jpm 1130
		//mnhnChp.setEmptyText("MNHN");
1131
		mnhnChp.setLabelSeparator("");
1132
		mnhnChp.setToolTip("Acronyme MNHN : herbier de moins de 5000 échantillons");
1133
		mnhnChp.hide();
1134
		droite.add(mnhnChp);
1135
 
1136
		ligne.add(gauche, new ColumnData(0.5));
1137
		ligne.add(droite, new ColumnData(0.5));
1138
		fieldSetIdentite.add(ligne);
1139
 
1140
		// Création du sous-formulaire : Type de Structure
1141
		LayoutContainer ligneTs = new LayoutContainer();
1142
		ligneTs.setLayout(new ColumnLayout());
1143
 
1144
		LayoutContainer gaucheTs = new LayoutContainer();
1145
		gaucheTs.setLayout(creerFormLayout(200, LabelAlign.LEFT, 0));
1146
 
1147
		LayoutContainer droiteTs = new LayoutContainer();
1148
		droiteTs.setLayout(creerFormLayout(0, null, 0));
1149
 
1150
		ListStore<InterneValeur> typesStructure = new ListStore<InterneValeur>();
1151
		typesStructure.add(InterneValeurListe.getTypeStructure());
1152
 
133 jpm 1153
		comboTypeStructure = new ComboBox<InterneValeur>();
1154
		comboTypeStructure.setTabIndex(104);
110 jpm 1155
		comboTypeStructure.setEmptyText("Sélectioner un type de structure...");
1156
		comboTypeStructure.setFieldLabel("Statut des structures");
1157
		comboTypeStructure.setDisplayField("nom");
1158
		comboTypeStructure.setStore(typesStructure);
1159
		comboTypeStructure.setEditable(false);
1160
		comboTypeStructure.setTypeAhead(true);
1161
		comboTypeStructure.setTriggerAction(TriggerAction.ALL);
1162
		comboTypeStructure.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {
1163
			@Override
1164
			public void selectionChanged(SelectionChangedEvent<InterneValeur> se) {
1165
				String typeAbr = se.getSelectedItem().getAbr();
1166
				if (typeAbr.equals("stpu")) {
1167
					comboLstpr.hide();
1168
					comboLstpu.show();
1169
				} else if (typeAbr.equals("stpr")) {
1170
					comboLstpu.hide();
1171
					comboLstpr.show();
1172
				} else if (typeAbr.equals("")) {
1173
					comboLstpr.hide();
1174
					comboLstpu.hide();
1175
					comboTypeStructure.clearSelections();
1176
				}
1177
			}
1178
        });
1179
		gaucheTs.add(comboTypeStructure);
1180
 
119 jpm 1181
		modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpu"));
110 jpm 1182
		magazinLstpu = new ListStore<Valeur>();
1183
		magazinLstpu.add(new ArrayList<Valeur>());
133 jpm 1184
		comboLstpu = new ComboBox<Valeur>();
1185
		comboLstpu.setTabIndex(105);
110 jpm 1186
		//comboLstpu.setFieldLabel("Statut des structures publiques");
1187
		comboLstpu.setLabelSeparator("");
1188
		comboLstpu.setDisplayField("nom");
1189
		comboLstpu.setEditable(false);
1190
		comboLstpu.setTriggerAction(TriggerAction.ALL);
1191
		comboLstpu.setStore(magazinLstpu);
1192
		comboLstpu.hide();
1193
		droiteTs.add(comboLstpu);
1194
 
119 jpm 1195
		modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpr"));
110 jpm 1196
		magazinLstpr = new ListStore<Valeur>();
1197
		magazinLstpr.add(new ArrayList<Valeur>());
133 jpm 1198
		comboLstpr = new ComboBox<Valeur>();
1199
		comboLstpr.setTabIndex(106);
110 jpm 1200
		//comboLstpr.setFieldLabel("Statut des structures privées");
1201
		comboLstpr.setLabelSeparator("");
1202
		comboLstpr.setDisplayField("nom");
1203
		comboLstpr.setEditable(false);
1204
		comboLstpr.setTriggerAction(TriggerAction.ALL);
1205
		comboLstpr.setStore(magazinLstpr);
1206
		comboLstpr.hide();
1207
		droiteTs.add(comboLstpr);
1208
 
1209
		ligneTs.add(gaucheTs, new ColumnData(0.5));
1210
		ligneTs.add(droiteTs, new ColumnData(0.5));
1211
		fieldSetIdentite.add(ligneTs);
1212
 
119 jpm 1213
		dateFondationChp = new DateField();
133 jpm 1214
		dateFondationChp.setTabIndex(107);
110 jpm 1215
		dateFondationChp.setFieldLabel("Date de fondation");
1216
		dateFondationChp.getPropertyEditor().getFormat();
1217
		dateFondationChp.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy"));
1218
		dateFondationChp.getMessages().setInvalidText("La valeur saisie n'est pas une date valide. La date doit être au format «jj/mm/aaaa».");
1219
		fieldSetIdentite.add(dateFondationChp);
1220
 
1221
		identificationOnglet.add(fieldSetIdentite);
1222
 
1223
		//+-----------------------------------------------------------------------------------------------------------+
1224
		// Fieldset ADRESSE
1225
		LayoutContainer principalFdAdresse = new LayoutContainer();
1226
		principalFdAdresse.setLayout(new ColumnLayout());
1227
 
1228
		LayoutContainer gaucheFdAdresse = new LayoutContainer();
1229
		gaucheFdAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
1230
 
1231
		LayoutContainer droiteFdAdresse = new LayoutContainer();
1232
		droiteFdAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
1233
 
1234
		FieldSet fieldSetAdresse = new FieldSet();
1235
		fieldSetAdresse.setHeading("Adresse");
1236
		fieldSetAdresse.setCollapsible(true);
1237
 
1238
		fieldSetAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 4));
1239
 
164 jp_milcent 1240
		adrChp = new TextArea();
133 jpm 1241
		adrChp.setTabIndex(108);
110 jpm 1242
		adrChp.setFieldLabel("Adresse");
1243
		fieldSetAdresse.add(adrChp, new FormData(550, 0));
1244
 
133 jpm 1245
		cpChp = new TextField<String>();
1246
		cpChp.setTabIndex(109);
110 jpm 1247
		cpChp.setFieldLabel("Code postal");
1248
		gaucheFdAdresse.add(cpChp);
1249
 
133 jpm 1250
		villeChp = new TextField<String>();
1251
		villeChp.setTabIndex(110);
110 jpm 1252
		villeChp.setFieldLabel("Ville");
1253
		droiteFdAdresse.add(villeChp);
1254
 
133 jpm 1255
		regionChp = new TextField<String>();
1256
		regionChp.setTabIndex(111);
110 jpm 1257
		regionChp.setFieldLabel("Région");
1258
		gaucheFdAdresse.add(regionChp);
1259
 
164 jp_milcent 1260
		//paysChp = new TextField<String>();
1261
		//paysChp.setTabIndex(112);
1262
		//paysChp.setFieldLabel("Pays");
1263
		modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("pays"));
1264
		magazinPays = new ListStore<Valeur>();
1265
		magazinPays.add(new ArrayList<Valeur>());
1266
		comboPays = new ComboBox<Valeur>();
1267
		comboPays.setTabIndex(112);
1268
		comboPays.setFieldLabel("Pays");
172 jp_milcent 1269
		comboPays.setEmptyText("Sélectioner un pays...");
164 jp_milcent 1270
		comboPays.setEditable(true);
1271
		comboPays.setLabelSeparator("");
1272
		comboPays.setDisplayField("nom");
172 jp_milcent 1273
		comboPays.setTemplate(getTemplatePays());
1274
		comboPays.setTypeAhead(true);
164 jp_milcent 1275
		comboPays.setTriggerAction(TriggerAction.ALL);
1276
		comboPays.setStore(magazinPays);
1277
		droiteFdAdresse.add(comboPays);
110 jpm 1278
 
1279
		principalFdAdresse.add(gaucheFdAdresse, new ColumnData(.5));
1280
		principalFdAdresse.add(droiteFdAdresse, new ColumnData(.5));
1281
		fieldSetAdresse.add(principalFdAdresse);
1282
		identificationOnglet.add(fieldSetAdresse);
1283
 
1284
		//+-----------------------------------------------------------------------------------------------------------+
1285
		// Fieldset TÉLÉPHONE et EMAIL
1286
		LayoutContainer principalFdTelMail = new LayoutContainer();
1287
		principalFdTelMail.setLayout(new ColumnLayout());
1288
 
1289
		LayoutContainer gaucheFdTelMail = new LayoutContainer();
1290
		gaucheFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
1291
 
1292
		LayoutContainer droiteFdTelMail = new LayoutContainer();
1293
		droiteFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
1294
 
1295
		FieldSet fieldSetTelMail = new FieldSet();
1296
		fieldSetTelMail.setHeading("Communication");
1297
		fieldSetTelMail.setCollapsible(true);
1298
 
1299
		fieldSetTelMail.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4));
1300
 
133 jpm 1301
		telChp = new TextField<String>();
1302
		telChp.setTabIndex(113);
110 jpm 1303
		telChp.setFieldLabel("Téléphone");
1304
		gaucheFdTelMail.add(telChp);
1305
 
133 jpm 1306
		faxChp = new TextField<String>();
1307
		faxChp.setTabIndex(114);
110 jpm 1308
		faxChp.setFieldLabel("Fax");
1309
		droiteFdTelMail.add(faxChp);
1310
 
133 jpm 1311
		emailChp = new TextField<String>();
1312
		emailChp.setTabIndex(115);
110 jpm 1313
		emailChp.setFieldLabel("Courriel");
1314
		emailChp.setToolTip("Saisir le courriel de l'organisation, pas de courriel individuel. Ex. : accueil@organisation.org");
1315
		gaucheFdTelMail.add(emailChp);
1316
 
133 jpm 1317
		urlChp = new TextField<String>();
1318
		urlChp.setTabIndex(116);
110 jpm 1319
		urlChp.setFieldLabel("Site web");
1320
		droiteFdTelMail.add(urlChp);
1321
 
1322
		principalFdTelMail.add(gaucheFdTelMail, new ColumnData(.5));
1323
		principalFdTelMail.add(droiteFdTelMail, new ColumnData(.5));
1324
		fieldSetTelMail.add(principalFdTelMail);
1325
		identificationOnglet.add(fieldSetTelMail);
1326
 
1327
		return identificationOnglet;
1328
	}
1329
 
172 jp_milcent 1330
	private native String getTemplatePays() /*-{
1331
		return  [
1332
		'<tpl for=".">',
1333
		'<div class="x-combo-list-item">{nom} ({abreviation})</div>',
1334
		'</tpl>'
1335
		].join("");
1336
		}-*/;
1337
 
192 jp_milcent 1338
	private void peuplerCasesACocher(String donnees, CheckBoxGroup groupeCac, TextField<String> champAutre) {
1339
		String[] valeurs = donnees.split(";;");
1340
		for (int i = 0; i < valeurs.length; i++) {
1341
			if (valeurs[i].startsWith("AUTRE##")) {
1342
				champAutre.setValue(valeurs[i].replaceFirst("^AUTRE##", ""));
1343
			} else {
1344
				List<CheckBox> cases = groupeCac.getAll();
1345
				for (int j = 0; j < cases.size(); j++) {
1346
					if (cases.get(j).getId().equals("val-"+valeurs[i])) {
1347
						cases.get(j).setValue(true);
1348
					}
1349
				}
1350
			}
1351
		}
1352
	}
1353
 
1354
	private void peuplerBoutonsRadio(String valeur, RadioGroup groupeBr) {
1355
		List<Radio> boutons = groupeBr.getAll();
1356
		String id = valeur+"_"+groupeBr.getName().replace("_grp", "");
1357
		for (int i = 0; i < boutons.size(); i++) {
1358
			if (boutons.get(i).getId().equals(id)) {
1359
				boutons.get(i).setValue(true);
1360
			}
1361
		}
1362
	}
1363
 
1364
	private String creerChaineDenormalisee(List<CheckBox> liste) {
1365
		String identifiants = "";
1366
		int taille = liste.size();
1367
		for (int i = 0; i < taille; i++) {
1368
			CheckBox cac = liste.get(i);
1369
			if (cac.isEnabled()) {
1370
				identifiants = identifiants.concat(";;"+cac.getData("id"));
1371
			}
1372
		}
1373
		return identifiants.replaceFirst("^;;", "");
1374
	}
1375
 
108 jpm 1376
	/** Méthode simplifiant la création de FormLayout.
110 jpm 1377
	 * Chacun des paramètres peut prendre la valeur null pour utiliser la valeur par défaut.
108 jpm 1378
	 *
110 jpm 1379
	 * @param labelWidth largeur des labels.
108 jpm 1380
	 * @param labelAlign alignement des labels
1381
	 * @param padding padding du layout
1382
	 * @return
1383
	 */
1384
	private FormLayout creerFormLayout(Integer labelWidth, LabelAlign labelAlign, Integer padding) {
1385
		FormLayout formLayout = new FormLayout();
110 jpm 1386
		if (labelWidth != null) {
1387
			formLayout.setLabelWidth(labelWidth);
1388
		}
1389
		if (labelAlign != null) {
1390
			formLayout.setLabelAlign(labelAlign);
1391
		}
108 jpm 1392
		if (padding != null) {
1393
			formLayout.setPadding(padding);
1394
		}
1395
		return formLayout;
1396
	}
1397
 
109 jpm 1398
	/** Méthode simplifiant la création de bouton radio oui/non
1399
	 *
1400
	 * @param listeNom nom de la liste de valeur
1401
	 * @return
1402
	 */
115 jpm 1403
	private RadioGroup creerChoixUniqueRadioGroupe(String groupeNom, String listeNom) {
1404
		groupeNom += "_grp";
1405
		// NOTE : il semblerait qu'il faille aussi utiliser setName() pour éviter tout problème...
1406
		RadioGroup radioGroup = new RadioGroup(groupeNom);
1407
		radioGroup.setName(groupeNom);
119 jpm 1408
 
188 jp_milcent 1409
		if (listeNom.equals("ouiNon")) {
115 jpm 1410
			ValeurListe ouiNonListe = new ValeurListe();
188 jp_milcent 1411
			ouiNonListe.ajouter(new Valeur("1", "Oui", "NULL", "NULL"));
1412
			ouiNonListe.ajouter(new Valeur("0", "Non", "NULL", "NULL"));
115 jpm 1413
			creerChoixUniqueBoutonRadio(radioGroup, ouiNonListe);
1414
		}
109 jpm 1415
 
115 jpm 1416
		return radioGroup;
109 jpm 1417
	}
1418
 
115 jpm 1419
	private void creerChoixUniqueBoutonRadio(RadioGroup radioGroupe, ValeurListe listeValeurs) {
1420
		for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
1421
			Valeur val = listeValeurs.get(it.next());
1422
 
1423
			Radio radioBtn = new Radio();
119 jpm 1424
			radioBtn.setName(radioGroupe.getName().replace("_grp", ""));
188 jp_milcent 1425
			radioBtn.setId(val.getId()+"_"+radioBtn.getName());
115 jpm 1426
			radioBtn.setBoxLabel(val.getNom());
188 jp_milcent 1427
			radioBtn.setValueAttribute(val.getId());
119 jpm 1428
			radioBtn.addListener(Events.Change, new Listener<ComponentEvent>() {
115 jpm 1429
 
119 jpm 1430
				public void handleEvent(ComponentEvent be) {
133 jpm 1431
					//Window.alert(((Radio) be.component).getName());
1432
					afficherChampSupplementaire(((Radio) be.component));
115 jpm 1433
				}
1434
 
1435
			});
119 jpm 1436
 
115 jpm 1437
			if (! val.getDescription().equals("NULL")) {
1438
				radioBtn.setToolTip(new ToolTipConfig(val.getNom(), val.getDescription()));
1439
			}
188 jp_milcent 1440
			radioGroupe.add(radioBtn);
115 jpm 1441
		}
1442
	}
1443
 
1444
	private void afficherChampSupplementaire(Radio radioBtn) {
119 jpm 1445
		//GWT.log("Nom btn : "+radioBtn.getName()+" - Nom group : "+radioBtn.getGroup().getName(), null);
115 jpm 1446
		// Valeur du bouton radio déclenchant l'affichage des composants cachés
1447
		String valeurPourAfficher = "oui";
111 jpm 1448
 
115 jpm 1449
		// Construction de la liste des composants à afficher/cacher
1450
		String radioGroupeNom = radioBtn.getGroup().getName();
1451
		ArrayList<Object> composants = new ArrayList<Object>();
1452
		if (radioGroupeNom.equals("action_mark_grp")) {
1453
			composants.add(actionTrukCp);
1454
		} else if (radioGroupeNom.equals("future_action_mark_grp")) {
1455
			composants.add(futureActionChp);
1456
		} else if (radioGroupeNom.equals("sans_motif_acces_mark_grp")) {
1457
			composants.add(sansMotifAccesChp);
1458
		} else if (radioGroupeNom.equals("avec_motif_acces_mark_grp")) {
1459
			composants.add(avecMotifAccesChp);
1460
		} else if (radioGroupeNom.equals("recherche_mark_grp")) {
1461
			composants.add(provenanceRechercheTrukCp);
119 jpm 1462
			composants.add(typeRechercheTrukCp);
115 jpm 1463
		} else if (radioGroupeNom.equals("formation_mark_grp")) {
1464
			composants.add(formationChp);
1465
		} else if (radioGroupeNom.equals("collection_commune_mark_grp")) {
1466
			composants.add(collectionAutreTrukCp);
1467
		} else if (radioGroupeNom.equals("restauration_mark_grp")) {
1468
			composants.add(opRestauTrukCp);
1469
		} else if (radioGroupeNom.equals("traitement_mark_grp")) {
1470
			composants.add(traitementTrukCp);
1471
		} else if (radioGroupeNom.equals("echantillon_acquisition_mark_grp")) {
1472
			composants.add(traitementAcquisitionMarkRGrpChp);
1473
		} else if (radioGroupeNom.equals("traitement_acquisition_mark_grp")) {
1474
			composants.add(traitementAcquisitionMarkLabel);
1475
			composants.add(poisonTraitementTrukCp);
1476
			composants.add(insecteTraitementTrukCp);
1477
		} else if (radioGroupeNom.equals("materiel_conservation_ce_grp")) {
1478
			composants.add(autreMaterielTrukCp);
1479
			valeurPourAfficher = "non";
1480
		}
111 jpm 1481
 
115 jpm 1482
		// Nous affichons/cachons les composant de la liste
1483
		final int tailleMax = composants.size();
1484
		//GWT.log("Id : "+radioBtn.getId()+" - Class : "+radioBtn.getClass().toString()+"- Taille : "+tailleMax, null);
119 jpm 1485
		//Window.alert("Radio grp nom : "+radioGroupeNom+" - Id btn : "+radioBtn.getId()+" - Class : "+radioBtn.getClass().toString()+"- Taille : "+tailleMax);
111 jpm 1486
		for (int i = 0; i < tailleMax; i++) {
1487
			// En fonction du type de bouton cliquer, on affiche ou cache les champs
115 jpm 1488
			String type = radioBtn.getBoxLabel().toLowerCase();
119 jpm 1489
			//GWT.log(type, null);
115 jpm 1490
			if (radioBtn.getValue() == true) {
1491
				if (type.equals(valeurPourAfficher)) {
1492
					((Component) composants.get(i)).show();
1493
				} else {
1494
					((Component) composants.get(i)).hide();
1495
				}
111 jpm 1496
			}
1497
			// Si on a à faire à un ContentPanel, on l'actualise pour déclencher l'affichage
115 jpm 1498
			if (composants.get(i) instanceof ContentPanel) {
1499
				((ContentPanel) composants.get(i)).layout();
111 jpm 1500
			}
1501
		}
1502
 
1503
	}
1504
 
109 jpm 1505
	/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
1506
	 * Apelle un service retournant la liste des valeurs représentant les cases à cocher.
1507
	 * Ajoute ou pas un champ "Autre".
1508
	 *
1509
	 * @param listeNom nom de la liste de valeur
1510
	 * @return
1511
	 */
1512
	private ContentPanel creerChoixMultipleCp(String listeNom) {
119 jpm 1513
		modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeNom));
109 jpm 1514
		ContentPanel cp = new ContentPanel();
1515
		cp.setLayout(creerFormLayout(650, LabelAlign.TOP, 0));
1516
		cp.setHeaderVisible(false);
1517
		return cp;
1518
	}
1519
 
1520
	/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
1521
	 * Apelle un service retournant la liste des valeurs représentant les cases à cocher.
1522
	 * Ajoute ou pas un champ "Autre".
1523
	 *
1524
	 * @param cp panneau conteant le groupe de case à cocher
1525
	 * @param cacGroup le groupe de case à cocher
1526
	 * @param listeValeurs la liste de valeurs à transformer en case à cocher
1527
	 * @param boolAutreChp booléen indiquant si oui ou non le champ autre doit apparaître
1528
	 * @return
1529
	 */
188 jp_milcent 1530
	private void creerChoixMultipleCac(ContentPanel cp, CheckBoxGroup cacGroupe, ValeurListe listeValeurs, Field<String> autreChp) {
110 jpm 1531
		cacGroupe.setAutoWidth(true);
188 jp_milcent 1532
		cacGroupe.setData("liste_id", listeValeurs.getId());
109 jpm 1533
		for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
111 jpm 1534
			Valeur val = listeValeurs.get(it.next());
1535
			String nom =  val.get("nom");
109 jpm 1536
			CheckBox cac = new CheckBox();
115 jpm 1537
			cac.setId("val-"+val.getId());
188 jp_milcent 1538
			cac.setData("id", val.getId());
111 jpm 1539
			cac.setBoxLabel(nom);
1540
			if (! val.getDescription().equals("NULL")) {
1541
				cac.setToolTip(new ToolTipConfig(val.getNom(), val.getDescription()));
109 jpm 1542
			}
1543
			cacGroupe.add(cac);
1544
		}
1545
		cp.add(cacGroupe);
1546
 
188 jp_milcent 1547
		if (autreChp != null) {
109 jpm 1548
			ContentPanel autreCp = new ContentPanel();
1549
			autreCp.setLayout(creerFormLayout(75, LabelAlign.TOP, 0));
1550
			autreCp.setHeaderVisible(false);
188 jp_milcent 1551
			autreChp.setId("autre-"+listeValeurs.getId());
119 jpm 1552
			autreChp.setFieldLabel("Autre");
1553
			autreChp.setLabelStyle("font-weight:normal;");
1554
			autreCp.add(autreChp);
109 jpm 1555
			cp.add(autreCp);
1556
		}
1557
 
1558
		cp.layout();
1559
	}
1560
 
69 jpm 1561
	public void rafraichir(Object nouvelleDonnees) {
153 jpm 1562
		if (nouvelleDonnees instanceof Information) {
1563
			Information info = (Information) nouvelleDonnees;
206 jp_milcent 1564
			if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) {
156 jp_milcent 1565
				GWT.log(info.getMessages().toString(), null);
1566
			}
172 jp_milcent 1567
			if (info.getType().equals("modif_structure")) {
1568
				Info.display("Modification d'une institution", info.toString());
1569
			} else if (info.getType().equals("ajout_structure")) {
153 jpm 1570
				Info.display("Ajout d'une Institution", info.toString());
156 jp_milcent 1571
			} else if (info.getType().equals("selection_structure")) {
172 jp_milcent 1572
				Info.display("Modification d'une institution", info.toString());
156 jp_milcent 1573
				mode = "MODIF";
206 jp_milcent 1574
				GWT.log("Mode du formulaire : "+mode, null);
188 jp_milcent 1575
				String titre = i18nC.titreModifFormStructurePanneau();
1576
				if (info.getDonnee(0) != null) {
1577
					Structure str = (Structure) info.getDonnee(0);
1578
					titre += " - ID : "+str.getId();
192 jp_milcent 1579
					peuplerStructureIdentification(str);
188 jp_milcent 1580
				}
1581
				if (info.getDonnee(1) != null) {
192 jp_milcent 1582
					conservation = (StructureConservation) info.getDonnee(1);
1583
					if (onglets.getSelectedItem().equals(conservationOnglet)) {
1584
						peuplerStructureConservation();
1585
					}
188 jp_milcent 1586
				}
192 jp_milcent 1587
				if (info.getDonnee(2) != null) {
1588
					valorisation = (StructureValorisation) info.getDonnee(2);
206 jp_milcent 1589
					if (valorisation != null) {
1590
						GWT.log(valorisation.toString(), null);
1591
						if (onglets.getSelectedItem().equals(valorisationOnglet)) {
1592
							peuplerStructureValorisation();
1593
						}
1594
					}
192 jp_milcent 1595
				}
188 jp_milcent 1596
				structureFormPanneau.setHeading(titre);
153 jpm 1597
			}
119 jpm 1598
		} else if (nouvelleDonnees instanceof ValeurListe) {
91 jpm 1599
			ValeurListe listeValeurs = (ValeurListe) nouvelleDonnees;
1600
 
1601
			List<Valeur> liste = new ArrayList<Valeur>();
1602
			for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
1603
				liste.add(listeValeurs.get(it.next()));
1604
			}
1605
			// Test pour savoir si la liste contient des éléments
1606
			if (liste.size() > 0) {
1607
				Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
1608
				if (listeValeurs.getId().equals(config.getListeId("stpr"))) {
1609
					magazinLstpr.removeAll();
1610
					magazinLstpr.add(liste);
1611
					comboLstpr.setStore(magazinLstpr);
1612
				}
1613
				if (listeValeurs.getId().equals(config.getListeId("stpu"))) {
1614
					magazinLstpu.removeAll();
1615
					magazinLstpu.add(liste);
1616
					comboLstpu.setStore(magazinLstpu);
1617
				}
103 jpm 1618
				if (listeValeurs.getId().equals(config.getListeId("statut"))) {
1619
					magazinLiStatut.removeAll();
1620
					magazinLiStatut.add(liste);
1621
					comboLiStatut.setStore(magazinLiStatut);
1622
				}
1623
				if (listeValeurs.getId().equals(config.getListeId("fonction"))) {
1624
					magazinLiFonction.removeAll();
1625
					magazinLiFonction.add(liste);
1626
					comboLiFonction.setStore(magazinLiFonction);
1627
				}
164 jp_milcent 1628
				if (listeValeurs.getId().equals(config.getListeId("pays"))) {
1629
					magazinPays.removeAll();
1630
					magazinPays.add(liste);
1631
					comboPays.setStore(magazinPays);
1632
				}
108 jpm 1633
				if (listeValeurs.getId().equals(config.getListeId("localStockage"))) {
188 jp_milcent 1634
					localStockageAutreChp = new TextField<String>();
1635
					creerChoixMultipleCac(localStockageTrukCp, localStockageTrukCacGrpChp, listeValeurs, localStockageAutreChp);
108 jpm 1636
				}
1637
				if (listeValeurs.getId().equals(config.getListeId("meubleStockage"))) {
188 jp_milcent 1638
					meubleStockageAutreChp = new TextField<String>();
1639
					creerChoixMultipleCac(meubleStockageTrukCp, meubleStockageTrukCacGrpChp, listeValeurs, meubleStockageAutreChp);
108 jpm 1640
				}
109 jpm 1641
				if (listeValeurs.getId().equals(config.getListeId("parametreStockage"))) {
188 jp_milcent 1642
					parametreStockageAutreChp = new TextField<String>();
1643
					creerChoixMultipleCac(parametreStockageTrukCp, parametreStockageTrukCacGrpChp, listeValeurs, parametreStockageAutreChp);
109 jpm 1644
				}
110 jpm 1645
				if (listeValeurs.getId().equals(config.getListeId("autreCollection"))) {
111 jpm 1646
					if (collectionAutreTrukCp.getItemByItemId("collectionAutreTrukCacGrpChp") == null) {
1647
						collectionAutreTrukCacGrpChp.setId("collectionAutreTrukCacGrpChp");
188 jp_milcent 1648
						collectionAutreAutreChp = new TextField<String>();
1649
						creerChoixMultipleCac(collectionAutreTrukCp, collectionAutreTrukCacGrpChp, listeValeurs, collectionAutreAutreChp);
111 jpm 1650
					}
1651
					if (autreCollectionTrukCp.getItemByItemId("autreCollectionTrukCacGrpChp") == null) {
119 jpm 1652
						autreCollectionTrukCacGrpChp.setId("autreCollectionTrukCacGrpChp");
188 jp_milcent 1653
						autreCollectionAutreChp = new TextField<String>();
1654
						creerChoixMultipleCac(autreCollectionTrukCp, autreCollectionTrukCacGrpChp, listeValeurs, autreCollectionAutreChp);
111 jpm 1655
					}
110 jpm 1656
				}
1657
				if (listeValeurs.getId().equals(config.getListeId("opRestau"))) {
188 jp_milcent 1658
					opRestauAutreChp = new TextField<String>();
1659
					creerChoixMultipleCac(opRestauTrukCp, opRestauTrukCacGrpChp, listeValeurs, opRestauAutreChp);
110 jpm 1660
				}
1661
				if (listeValeurs.getId().equals(config.getListeId("onep"))) {
115 jpm 1662
					creerChoixUniqueBoutonRadio(materielConservationCeRGrpChp, listeValeurs);
188 jp_milcent 1663
					materielConservationCp.add(materielConservationCeRGrpChp);
1664
					materielConservationCp.layout();
110 jpm 1665
				}
1666
				if (listeValeurs.getId().equals(config.getListeId("autreMateriel"))) {
188 jp_milcent 1667
					autreMaterielAutreChp = new TextField<String>();
1668
					creerChoixMultipleCac(autreMaterielTrukCp, autreMaterielTrukCacGrpChp, listeValeurs, autreMaterielAutreChp);
110 jpm 1669
				}
1670
				if (listeValeurs.getId().equals(config.getListeId("poisonTraitement"))) {
188 jp_milcent 1671
					poisonTraitementAutreChp = new TextField<String>();
1672
					creerChoixMultipleCac(poisonTraitementTrukCp, poisonTraitementTrukCacGrpChp, listeValeurs, poisonTraitementAutreChp);
110 jpm 1673
				}
1674
				if (listeValeurs.getId().equals(config.getListeId("insecteTraitement"))) {
115 jpm 1675
					if (traitementTrukCp.getItemByItemId("traitementTrukCacGrpChp") == null) {
1676
						traitementTrukCacGrpChp.setId("traitementTrukCacGrpChp");
188 jp_milcent 1677
						traitementAutreChp = new TextField<String>();
1678
						creerChoixMultipleCac(traitementTrukCp, traitementTrukCacGrpChp, listeValeurs, traitementAutreChp);
110 jpm 1679
					}
115 jpm 1680
					if (insecteTraitementTrukCp.getItemByItemId("insecteTraitementTrukCacGrpChp") == null) {
1681
						insecteTraitementTrukCacGrpChp.setId("insecteTraitementTrukCacGrpChp");
188 jp_milcent 1682
						insecteTraitementAutreChp = new TextField<String>();
1683
						creerChoixMultipleCac(insecteTraitementTrukCp, insecteTraitementTrukCacGrpChp, listeValeurs, insecteTraitementAutreChp);
110 jpm 1684
					}
1685
				}
111 jpm 1686
				if (listeValeurs.getId().equals(config.getListeId("actionValorisation"))) {
188 jp_milcent 1687
					actionAutreChp = new TextField<String>();
1688
					creerChoixMultipleCac(actionTrukCp, actionTrukCacGrpChp, listeValeurs, actionAutreChp);
111 jpm 1689
				}
1690
				if (listeValeurs.getId().equals(config.getListeId("continentEtFr"))) {
188 jp_milcent 1691
					provenanceRechercheAutreChp = new TextField<String>();
1692
					creerChoixMultipleCac(provenanceRechercheTrukCp, provenanceRechercheTrukCacGrpChp, listeValeurs, provenanceRechercheAutreChp);
111 jpm 1693
				}
1694
				if (listeValeurs.getId().equals(config.getListeId("typeRecherche"))) {
206 jp_milcent 1695
					typeRechercheAutreChp = new TextField<String>();
1696
					creerChoixMultipleCac(typeRechercheTrukCp, typeRechercheTrukCacGrpChp, listeValeurs, typeRechercheAutreChp);
111 jpm 1697
				}
110 jpm 1698
				//GWT.log("La liste #"+listeValeurs.getId()+" a été reçue!", null);
91 jpm 1699
			} else {
1700
				GWT.log("La liste #"+listeValeurs.getId()+" ne contient aucune valeurs!", null);
1701
			}
1702
		}
69 jpm 1703
	}
100 jpm 1704
 
115 jpm 1705
}