Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1680 Rev 1764
1
package org.tela_botanica.client.vues.collection;
1
package org.tela_botanica.client.vues.collection;
2
 
2
 
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
 
4
 
5
import org.tela_botanica.client.ComposantClass;
5
import org.tela_botanica.client.ComposantClass;
6
import org.tela_botanica.client.Mediateur;
6
import org.tela_botanica.client.Mediateur;
7
import org.tela_botanica.client.composants.ChampCaseACocher;
7
import org.tela_botanica.client.composants.ChampCaseACocher;
8
import org.tela_botanica.client.composants.ChampComboBoxListeValeurs;
8
import org.tela_botanica.client.composants.ChampComboBoxListeValeurs;
9
import org.tela_botanica.client.composants.ChampComboBoxRechercheTempsReelPaginable;
9
import org.tela_botanica.client.composants.ChampComboBoxRechercheTempsReelPaginable;
10
import org.tela_botanica.client.composants.ChampMultiValeurs;
10
import org.tela_botanica.client.composants.ChampMultiValeurs;
11
import org.tela_botanica.client.composants.ConteneurMultiChamps;
11
import org.tela_botanica.client.composants.ConteneurMultiChamps;
12
import org.tela_botanica.client.composants.pagination.ProxyCollections;
12
import org.tela_botanica.client.composants.pagination.ProxyCollections;
13
import org.tela_botanica.client.composants.pagination.ProxyProjets;
-
 
14
import org.tela_botanica.client.composants.pagination.ProxyStructures;
13
import org.tela_botanica.client.composants.pagination.ProxyStructures;
15
import org.tela_botanica.client.interfaces.Rafraichissable;
14
import org.tela_botanica.client.interfaces.Rafraichissable;
16
import org.tela_botanica.client.modeles.ValeurListe;
15
import org.tela_botanica.client.modeles.ValeurListe;
17
import org.tela_botanica.client.modeles.collection.Collection;
16
import org.tela_botanica.client.modeles.collection.Collection;
18
import org.tela_botanica.client.modeles.projet.Projet;
-
 
19
import org.tela_botanica.client.modeles.structure.Structure;
17
import org.tela_botanica.client.modeles.structure.Structure;
20
import org.tela_botanica.client.synchronisation.Sequenceur;
18
import org.tela_botanica.client.synchronisation.Sequenceur;
21
import org.tela_botanica.client.util.Debug;
19
import org.tela_botanica.client.util.Debug;
22
import org.tela_botanica.client.util.UtilString;
20
import org.tela_botanica.client.util.UtilString;
23
import org.tela_botanica.client.vues.Formulaire;
21
import org.tela_botanica.client.vues.Formulaire;
24
import org.tela_botanica.client.vues.FormulaireOnglet;
22
import org.tela_botanica.client.vues.FormulaireOnglet;
25
 
23
 
26
import com.extjs.gxt.ui.client.data.ModelData;
24
import com.extjs.gxt.ui.client.data.ModelData;
27
import com.extjs.gxt.ui.client.data.ModelType;
25
import com.extjs.gxt.ui.client.data.ModelType;
28
import com.extjs.gxt.ui.client.event.Events;
26
import com.extjs.gxt.ui.client.event.Events;
29
import com.extjs.gxt.ui.client.util.Margins;
27
import com.extjs.gxt.ui.client.util.Margins;
30
import com.extjs.gxt.ui.client.widget.Text;
28
import com.extjs.gxt.ui.client.widget.Text;
31
import com.extjs.gxt.ui.client.widget.form.Field;
29
import com.extjs.gxt.ui.client.widget.form.Field;
32
import com.extjs.gxt.ui.client.widget.form.FieldSet;
30
import com.extjs.gxt.ui.client.widget.form.FieldSet;
33
import com.extjs.gxt.ui.client.widget.form.HiddenField;
31
import com.extjs.gxt.ui.client.widget.form.HiddenField;
34
import com.extjs.gxt.ui.client.widget.form.NumberField;
32
import com.extjs.gxt.ui.client.widget.form.NumberField;
35
import com.extjs.gxt.ui.client.widget.form.TextArea;
33
import com.extjs.gxt.ui.client.widget.form.TextArea;
36
import com.extjs.gxt.ui.client.widget.form.TextField;
34
import com.extjs.gxt.ui.client.widget.form.TextField;
37
import com.extjs.gxt.ui.client.widget.form.Validator;
35
import com.extjs.gxt.ui.client.widget.form.Validator;
38
import com.extjs.gxt.ui.client.widget.layout.FormData;
36
import com.extjs.gxt.ui.client.widget.layout.FormData;
39
import com.extjs.gxt.ui.client.widget.layout.HBoxLayoutData;
37
import com.extjs.gxt.ui.client.widget.layout.HBoxLayoutData;
40
import com.google.gwt.i18n.client.NumberFormat;
38
import com.google.gwt.i18n.client.NumberFormat;
41
 
39
 
42
public class CollectionFormGeneral extends FormulaireOnglet implements Rafraichissable {
40
public class CollectionFormGeneral extends FormulaireOnglet implements Rafraichissable {
43
	
41
	
44
	public static final String ID = "general";
42
	public static final String ID = "general";
45
	private Collection collection = null;
43
	private Collection collection = null;
46
	private Collection collectionCollectee = null;
44
	private Collection collectionCollectee = null;
47
 
45
 
48
	private HiddenField<String> idCollectionChp = null;
46
	private HiddenField<String> idCollectionChp = null;
49
	
-
 
50
	private ChampComboBoxRechercheTempsReelPaginable projetsCombo = null;
47
	
51
	private ChampComboBoxRechercheTempsReelPaginable structuresCombo = null;
48
	private ChampComboBoxRechercheTempsReelPaginable structuresCombo = null;
52
	private ChampComboBoxRechercheTempsReelPaginable collectionsCombo = null;
49
	private ChampComboBoxRechercheTempsReelPaginable collectionsCombo = null;
53
	
50
	
54
	private ChampCaseACocher periodeConstitutionChp = null;
51
	private ChampCaseACocher periodeConstitutionChp = null;
55
	private ChampComboBoxListeValeurs groupementPrincipeCombo = null;
52
	private ChampComboBoxListeValeurs groupementPrincipeCombo = null;
56
	private ChampMultiValeurs lieuCouvertureChp = null;
53
	private ChampMultiValeurs lieuCouvertureChp = null;
57
 
54
 
58
	private ChampComboBoxListeValeurs specimenTypeCombo = null;
55
	private ChampComboBoxListeValeurs specimenTypeCombo = null;
59
	private ChampComboBoxListeValeurs precisionTypeNbreCombo = null;
56
	private ChampComboBoxListeValeurs precisionTypeNbreCombo = null;
60
	private NumberField nbreTypeChp = null;
57
	private NumberField nbreTypeChp = null;
61
	private ChampComboBoxListeValeurs classementSpecimenTypeCombo = null;
58
	private ChampComboBoxListeValeurs classementSpecimenTypeCombo = null;
62
	
59
	
63
	private ChampComboBoxListeValeurs typeDepotCombo = null;
60
	private ChampComboBoxListeValeurs typeDepotCombo = null;
64
	private TextField<String> coteChp = null;
61
	private TextField<String> coteChp = null;
65
	private ChampMultiValeurs idAlternatifsChp = null;
62
	private ChampMultiValeurs idAlternatifsChp = null;
66
	private ChampMultiValeurs nomsAlternatifsChp = null;
63
	private ChampMultiValeurs nomsAlternatifsChp = null;
67
	private ChampMultiValeurs codesAlternatifsChp = null;
64
	private ChampMultiValeurs codesAlternatifsChp = null;
68
	
65
	
69
	private TextArea descriptionSpecialisteChp = null;
66
	private TextArea descriptionSpecialisteChp = null;
70
	private TextArea descriptionChp = null;
67
	private TextArea descriptionChp = null;
71
	private TextArea historiqueChp = null;
68
	private TextArea historiqueChp = null;
72
	private ChampMultiValeurs urlsChp = null;
69
	private ChampMultiValeurs urlsChp = null;
73
 
70
 
74
	private ChampComboBoxListeValeurs butRealisationCombo = null;
71
	private ChampComboBoxListeValeurs butRealisationCombo = null;
75
	
72
	
76
	private Sequenceur sequenceur = new Sequenceur();
73
	private Sequenceur sequenceur = new Sequenceur();
77
	
74
	
78
	public CollectionFormGeneral(Formulaire formulaireCourrant) {
75
	public CollectionFormGeneral(Formulaire formulaireCourrant) {
79
		initialiserOnglet(formulaireCourrant);
76
		initialiserOnglet(formulaireCourrant);
80
		setId(ID);
77
		setId(ID);
81
		setText(Mediateur.i18nC.collectionGeneral());
78
		setText(Mediateur.i18nC.collectionGeneral());
82
		
79
		
83
		creerChampsCache();
80
		creerChampsCache();
84
		creerFieldsetLiaison();
81
		creerFieldsetLiaison();
85
		creerFieldsetAdministratif();
82
		creerFieldsetAdministratif();
86
		creerFieldsetDescription();
83
		creerFieldsetDescription();
87
		creerFieldsetCouverture();
84
		creerFieldsetCouverture();
88
		creerFieldsetType();
85
		creerFieldsetType();
89
	}
86
	}
90
 
87
 
91
	private void initialiserCollection() {
88
	private void initialiserCollection() {
92
		collection = ((CollectionForm) formulaire).collection;
89
		collection = ((CollectionForm) formulaire).collection;
93
		collectionCollectee = ((CollectionForm) formulaire).collectionCollectee;
90
		collectionCollectee = ((CollectionForm) formulaire).collectionCollectee;
94
	}
91
	}
95
	
92
	
96
	private void creerChampsCache() {
93
	private void creerChampsCache() {
97
		// Champs cachés
94
		// Champs cachés
98
		idCollectionChp = new HiddenField<String>();
95
		idCollectionChp = new HiddenField<String>();
99
		this.add(idCollectionChp);
96
		this.add(idCollectionChp);
100
	}
97
	}
101
	
98
	
102
	private void creerFieldsetLiaison() {
99
	private void creerFieldsetLiaison() {
103
		
100
		
104
		FieldSet liaisonFieldSet = new FieldSet();
101
		FieldSet liaisonFieldSet = new FieldSet();
105
		liaisonFieldSet.setHeadingHtml(i18nC.liaisonTitreCollection());
102
		liaisonFieldSet.setHeadingHtml(i18nC.liaisonTitreCollection());
106
		liaisonFieldSet.setCollapsible(true);
103
		liaisonFieldSet.setCollapsible(true);
107
		liaisonFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
104
		liaisonFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
108
		
105
		
109
		
106
		
110
		//+-----------------------------------------------------------------------------------------------------------+
107
		//+-----------------------------------------------------------------------------------------------------------+
111
		// Champ Projets
-
 
112
		
-
 
113
		ModelType modelTypeProjets = new ModelType();
-
 
114
		modelTypeProjets.setRoot("projets");
-
 
115
		modelTypeProjets.setTotalName("nbElements");
-
 
116
		modelTypeProjets.addField("cpr_nom");
-
 
117
		modelTypeProjets.addField("cpr_id_projet");
-
 
118
		
-
 
119
		String displayNameProjets = "cpr_nom";
-
 
120
		ProxyProjets<ModelData> proxyProjets = new ProxyProjets<ModelData>(null);
-
 
121
		
-
 
122
		projetsCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyProjets, modelTypeProjets, displayNameProjets);
-
 
123
		projetsCombo.setWidth(250, 600);
-
 
124
		projetsCombo.getCombo().setTabIndex(tabIndex++);
-
 
125
		projetsCombo.getCombo().setFieldLabel(i18nC.projetChamp());
-
 
126
		projetsCombo.getCombo().setForceSelection(true);
-
 
127
		projetsCombo.getCombo().addStyleName(ComposantClass.OBLIGATOIRE);
-
 
128
		projetsCombo.getCombo().addListener(Events.Valid, Formulaire.creerEcouteurChampObligatoire());
-
 
129
		
-
 
130
		projetsCombo.getCombo().setValidator(new Validator() {
-
 
131
			public String validate(Field<?> field, String value) {
-
 
132
				String retour = null;
-
 
133
				if (field.getRawValue().equals("")) {
-
 
134
					field.setValue(null);
-
 
135
				} else if (projetsCombo.getStore().findModel("cpr_nom", field.getRawValue()) == null) {
-
 
136
					String contenuBrut = field.getRawValue();
-
 
137
					field.setValue(null);
-
 
138
					field.setRawValue(contenuBrut);
-
 
139
					retour = "Veuillez sélectionner une valeur ou laisser le champ vide";
-
 
140
				}
-
 
141
				return retour;
-
 
142
			}
-
 
143
		});
-
 
144
 
-
 
145
		liaisonFieldSet.add(projetsCombo, new FormData(600, 0));
-
 
146
		
-
 
147
		
-
 
148
		//+-----------------------------------------------------------------------------------------------------------+
-
 
149
		// Champ Structures
108
		// Champ Structures
150
 
109
 
151
		ModelType modelTypeStructures = new ModelType();
110
		ModelType modelTypeStructures = new ModelType();
152
		modelTypeStructures.setRoot("structures");
111
		modelTypeStructures.setRoot("structures");
153
		modelTypeStructures.setTotalName("nbElements");
112
		modelTypeStructures.setTotalName("nbElements");
154
		modelTypeStructures.addField("cs_nom");
113
		modelTypeStructures.addField("cs_nom");
155
		modelTypeStructures.addField("cs_id_structure");
114
		modelTypeStructures.addField("cs_id_structure");
156
		
115
		
157
		String displayNameStructures = "cs_nom";
116
		String displayNameStructures = "cs_nom";
158
		ProxyStructures<ModelData> proxyStructures = new ProxyStructures<ModelData>(null);
117
		ProxyStructures<ModelData> proxyStructures = new ProxyStructures<ModelData>(null);
159
		
118
		
160
		structuresCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyStructures, modelTypeStructures, displayNameStructures);
119
		structuresCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyStructures, modelTypeStructures, displayNameStructures);
161
		structuresCombo.setWidth(250, 600);
120
		structuresCombo.setWidth(250, 600);
162
		structuresCombo.getCombo().setTabIndex(tabIndex++);
121
		structuresCombo.getCombo().setTabIndex(tabIndex++);
163
		structuresCombo.getCombo().setFieldLabel(i18nC.lienStructureCollection());
122
		structuresCombo.getCombo().setFieldLabel(i18nC.lienStructureCollection());
164
		structuresCombo.getCombo().setForceSelection(true);
123
		structuresCombo.getCombo().setForceSelection(true);
165
		
124
		
166
		structuresCombo.getCombo().setValidator(new Validator() {
125
		structuresCombo.getCombo().setValidator(new Validator() {
167
			public String validate(Field<?> field, String value) {
126
			public String validate(Field<?> field, String value) {
168
				String retour = null;
127
				String retour = null;
169
				if (field.getRawValue().equals("")) {
128
				if (field.getRawValue().equals("")) {
170
					field.setValue(null);
129
					field.setValue(null);
171
				} else if (structuresCombo.getStore().findModel("cs_nom", field.getRawValue()) == null) {
130
				} else if (structuresCombo.getStore().findModel("cs_nom", field.getRawValue()) == null) {
172
					String contenuBrut = field.getRawValue();
131
					String contenuBrut = field.getRawValue();
173
					field.setValue(null);
132
					field.setValue(null);
174
					field.setRawValue(contenuBrut);
133
					field.setRawValue(contenuBrut);
175
					retour = "Veuillez sélectionner une valeur ou laisser le champ vide";
134
					retour = "Veuillez sélectionner une valeur ou laisser le champ vide";
176
				}
135
				}
177
				return retour;
136
				return retour;
178
			}
137
			}
179
		});
138
		});
180
 
139
 
181
		liaisonFieldSet.add(structuresCombo, new FormData(600, 0));
140
		liaisonFieldSet.add(structuresCombo, new FormData(600, 0));
182
		
141
		
183
		
142
		
184
		//+-----------------------------------------------------------------------------------------------------------+
143
		//+-----------------------------------------------------------------------------------------------------------+
185
		// Champ Collections
144
		// Champ Collections
186
		
145
		
187
		ModelType modelTypeCollections = new ModelType();
146
		ModelType modelTypeCollections = new ModelType();
188
		modelTypeCollections.setRoot("collections");
147
		modelTypeCollections.setRoot("collections");
189
		modelTypeCollections.setTotalName("nbElements");
148
		modelTypeCollections.setTotalName("nbElements");
190
		modelTypeCollections.addField("cc_nom");
149
		modelTypeCollections.addField("cc_nom");
191
		modelTypeCollections.addField("cc_id_collection");
150
		modelTypeCollections.addField("cc_id_collection");
192
		modelTypeCollections.addField("cc_ce_mere");
151
		modelTypeCollections.addField("cc_ce_mere");
193
		
152
		
194
		String displayNameCollections = "cc_nom";
153
		String displayNameCollections = "cc_nom";
195
		ProxyCollections<ModelData> proxyCollections = new ProxyCollections<ModelData>(null);
154
		ProxyCollections<ModelData> proxyCollections = new ProxyCollections<ModelData>(null);
196
		
155
		
197
		collectionsCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyCollections, modelTypeCollections, displayNameCollections);
156
		collectionsCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyCollections, modelTypeCollections, displayNameCollections);
198
		collectionsCombo.setWidth(250, 600);
157
		collectionsCombo.setWidth(250, 600);
199
		collectionsCombo.getCombo().setTabIndex(tabIndex++);
158
		collectionsCombo.getCombo().setTabIndex(tabIndex++);
200
		collectionsCombo.getCombo().setFieldLabel(i18nC.lienMereCollection());
159
		collectionsCombo.getCombo().setFieldLabel(i18nC.lienMereCollection());
201
		collectionsCombo.getCombo().setForceSelection(true);
160
		collectionsCombo.getCombo().setForceSelection(true);
202
		
161
		
203
		collectionsCombo.getCombo().setValidator(new Validator() {
162
		collectionsCombo.getCombo().setValidator(new Validator() {
204
			public String validate(Field<?> field, String value) {
163
			public String validate(Field<?> field, String value) {
205
				String retour = null;
164
				String retour = null;
206
				if (field.getRawValue().equals("")) {
165
				if (field.getRawValue().equals("")) {
207
					field.setValue(null);
166
					field.setValue(null);
208
				} else if (collectionsCombo.getStore().findModel("cc_nom", field.getRawValue()) == null) {
167
				} else if (collectionsCombo.getStore().findModel("cc_nom", field.getRawValue()) == null) {
209
					String contenuBrut = field.getRawValue();
168
					String contenuBrut = field.getRawValue();
210
					field.setValue(null);
169
					field.setValue(null);
211
					field.setRawValue(contenuBrut);
170
					field.setRawValue(contenuBrut);
212
					retour = "Veuillez sélectionner une valeur ou laisser le champ vide";
171
					retour = "Veuillez sélectionner une valeur ou laisser le champ vide";
213
				}
172
				}
214
				return retour;
173
				return retour;
215
			}
174
			}
216
		});
175
		});
217
 
176
 
218
		liaisonFieldSet.add(collectionsCombo, new FormData(600, 0));
177
		liaisonFieldSet.add(collectionsCombo, new FormData(600, 0));
219
		
178
		
220
		this.add(liaisonFieldSet);
179
		this.add(liaisonFieldSet);
221
	}
180
	}
222
	
181
	
223
	private void creerFieldsetAdministratif() {
182
	private void creerFieldsetAdministratif() {
224
		// Fieldset ADMINISTRATIF
183
		// Fieldset ADMINISTRATIF
225
		FieldSet administratifFieldSet = new FieldSet();
184
		FieldSet administratifFieldSet = new FieldSet();
226
		administratifFieldSet.setHeadingHtml(i18nC.collectionGeneralTitre());
185
		administratifFieldSet.setHeadingHtml(i18nC.collectionGeneralTitre());
227
		administratifFieldSet.setCollapsible(true);
186
		administratifFieldSet.setCollapsible(true);
228
		administratifFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
187
		administratifFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
229
		
188
		
230
		typeDepotCombo = new ChampComboBoxListeValeurs(i18nC.typeDepot(), "typeDepot", tabIndex++);
189
		typeDepotCombo = new ChampComboBoxListeValeurs(i18nC.typeDepot(), "typeDepot", tabIndex++);
231
		administratifFieldSet.add(typeDepotCombo);
190
		administratifFieldSet.add(typeDepotCombo);
232
		
191
		
233
		coteChp = new TextField<String>();
192
		coteChp = new TextField<String>();
234
		coteChp.setTabIndex(tabIndex++);
193
		coteChp.setTabIndex(tabIndex++);
235
		coteChp.setFieldLabel(i18nC.cote());
194
		coteChp.setFieldLabel(i18nC.cote());
236
		administratifFieldSet.add(coteChp, new FormData(450, 0));
195
		administratifFieldSet.add(coteChp, new FormData(450, 0));
237
		
196
		
238
		idAlternatifsChp = new ChampMultiValeurs(i18nC.idAlternatifCollection());
197
		idAlternatifsChp = new ChampMultiValeurs(i18nC.idAlternatifCollection());
239
		administratifFieldSet.add(idAlternatifsChp);
198
		administratifFieldSet.add(idAlternatifsChp);
240
		
199
		
241
		nomsAlternatifsChp = new ChampMultiValeurs(i18nC.intituleAlternatifCollection());
200
		nomsAlternatifsChp = new ChampMultiValeurs(i18nC.intituleAlternatifCollection());
242
		administratifFieldSet.add(nomsAlternatifsChp);
201
		administratifFieldSet.add(nomsAlternatifsChp);
243
				
202
				
244
		codesAlternatifsChp = new ChampMultiValeurs(i18nC.codeAlternatifCollection());
203
		codesAlternatifsChp = new ChampMultiValeurs(i18nC.codeAlternatifCollection());
245
		administratifFieldSet.add(codesAlternatifsChp);
204
		administratifFieldSet.add(codesAlternatifsChp);
246
		
205
		
247
		this.add(administratifFieldSet);
206
		this.add(administratifFieldSet);
248
	}
207
	}
249
	
208
	
250
	private void creerFieldsetDescription() {
209
	private void creerFieldsetDescription() {
251
		// Fieldset DESCRIPTION
210
		// Fieldset DESCRIPTION
252
		FieldSet descriptionFieldSet = new FieldSet();
211
		FieldSet descriptionFieldSet = new FieldSet();
253
		descriptionFieldSet.setHeadingHtml(i18nC.collectionDescriptionTitre());
212
		descriptionFieldSet.setHeadingHtml(i18nC.collectionDescriptionTitre());
254
		descriptionFieldSet.setCollapsible(true);
213
		descriptionFieldSet.setCollapsible(true);
255
		descriptionFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
214
		descriptionFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
256
 
215
 
257
		descriptionChp = new TextArea();
216
		descriptionChp = new TextArea();
258
		descriptionChp.setFieldLabel(i18nC.description());
217
		descriptionChp.setFieldLabel(i18nC.description());
259
		descriptionFieldSet.add(descriptionChp, new FormData(550, 0));
218
		descriptionFieldSet.add(descriptionChp, new FormData(550, 0));
260
		
219
		
261
		descriptionSpecialisteChp = new TextArea();
220
		descriptionSpecialisteChp = new TextArea();
262
		descriptionSpecialisteChp.setFieldLabel(i18nC.descriptionSpecialiste());
221
		descriptionSpecialisteChp.setFieldLabel(i18nC.descriptionSpecialiste());
263
		descriptionFieldSet.add(descriptionSpecialisteChp, new FormData(550, 0));
222
		descriptionFieldSet.add(descriptionSpecialisteChp, new FormData(550, 0));
264
		
223
		
265
		historiqueChp = new TextArea();
224
		historiqueChp = new TextArea();
266
		historiqueChp.setFieldLabel(i18nC.historique());
225
		historiqueChp.setFieldLabel(i18nC.historique());
267
		descriptionFieldSet.add(historiqueChp, new FormData(550, 0));
226
		descriptionFieldSet.add(historiqueChp, new FormData(550, 0));
268
		
227
		
269
		urlsChp = new ChampMultiValeurs(i18nC.urlsCollection());
228
		urlsChp = new ChampMultiValeurs(i18nC.urlsCollection());
270
		descriptionFieldSet.add(urlsChp);
229
		descriptionFieldSet.add(urlsChp);
271
 
230
 
272
		this.add(descriptionFieldSet);
231
		this.add(descriptionFieldSet);
273
	}
232
	}
274
	
233
	
275
	private void creerFieldsetCouverture() {
234
	private void creerFieldsetCouverture() {
276
		FieldSet couvertureFieldSet = new FieldSet();
235
		FieldSet couvertureFieldSet = new FieldSet();
277
		couvertureFieldSet.setHeadingHtml("Couvertures");
236
		couvertureFieldSet.setHeadingHtml("Couvertures");
278
		couvertureFieldSet.setCollapsible(true);
237
		couvertureFieldSet.setCollapsible(true);
279
		couvertureFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
238
		couvertureFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
280
		
239
		
281
		periodeConstitutionChp = new ChampCaseACocher(i18nC.periodeConstitution(), "siecleNaturaliste", false);
240
		periodeConstitutionChp = new ChampCaseACocher(i18nC.periodeConstitution(), "siecleNaturaliste", false);
282
		couvertureFieldSet.add(periodeConstitutionChp);
241
		couvertureFieldSet.add(periodeConstitutionChp);
283
		
242
		
284
		groupementPrincipeCombo = new ChampComboBoxListeValeurs(i18nC.groupementPrincipeCollection(), "groupementPrincipe", tabIndex++);
243
		groupementPrincipeCombo = new ChampComboBoxListeValeurs(i18nC.groupementPrincipeCollection(), "groupementPrincipe", tabIndex++);
285
		groupementPrincipeCombo.setToolTip(i18nC.groupementPrincipeCollectionInfo());
244
		groupementPrincipeCombo.setToolTip(i18nC.groupementPrincipeCollectionInfo());
286
		couvertureFieldSet.add(groupementPrincipeCombo);
245
		couvertureFieldSet.add(groupementPrincipeCombo);
287
		
246
		
288
		butRealisationCombo = new ChampComboBoxListeValeurs(i18nC.butCollection(), "realisationBut", tabIndex++);
247
		butRealisationCombo = new ChampComboBoxListeValeurs(i18nC.butCollection(), "realisationBut", tabIndex++);
289
		couvertureFieldSet.add(butRealisationCombo);
248
		couvertureFieldSet.add(butRealisationCombo);
290
		
249
		
291
		lieuCouvertureChp = new ChampMultiValeurs(i18nC.lieuCouvertureCollection());
250
		lieuCouvertureChp = new ChampMultiValeurs(i18nC.lieuCouvertureCollection());
292
		couvertureFieldSet.add(lieuCouvertureChp);
251
		couvertureFieldSet.add(lieuCouvertureChp);
293
		
252
		
294
		this.add(couvertureFieldSet);
253
		this.add(couvertureFieldSet);
295
	}
254
	}
296
	
255
	
297
	private void creerFieldsetType() {
256
	private void creerFieldsetType() {
298
		FieldSet typeFieldSet = new FieldSet();
257
		FieldSet typeFieldSet = new FieldSet();
299
		typeFieldSet.setHeadingHtml("Spécimens «types»");
258
		typeFieldSet.setHeadingHtml("Spécimens «types»");
300
		typeFieldSet.setCollapsible(true);
259
		typeFieldSet.setCollapsible(true);
301
		typeFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
260
		typeFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut));
302
		
261
		
303
		specimenTypeCombo = new ChampComboBoxListeValeurs(i18nC.specimenTypeCollection(), "onpi", tabIndex++);
262
		specimenTypeCombo = new ChampComboBoxListeValeurs(i18nC.specimenTypeCollection(), "onpi", tabIndex++);
304
		typeFieldSet.add(specimenTypeCombo);
263
		typeFieldSet.add(specimenTypeCombo);
305
		
264
		
306
		ConteneurMultiChamps nbreTypeConteneur = new ConteneurMultiChamps(i18nC.nbreSpecimenTypeCollection());
265
		ConteneurMultiChamps nbreTypeConteneur = new ConteneurMultiChamps(i18nC.nbreSpecimenTypeCollection());
307
		
266
		
308
		nbreTypeChp = new NumberField();
267
		nbreTypeChp = new NumberField();
309
		nbreTypeChp.setFormat(NumberFormat.getFormat("#"));
268
		nbreTypeChp.setFormat(NumberFormat.getFormat("#"));
310
		nbreTypeConteneur.ajouterChamp(nbreTypeChp, new HBoxLayoutData(new Margins(0, 20, 0, 0)));
269
		nbreTypeConteneur.ajouterChamp(nbreTypeChp, new HBoxLayoutData(new Margins(0, 20, 0, 0)));
311
		
270
		
312
		precisionTypeNbreCombo = new ChampComboBoxListeValeurs(null, "ea");
271
		precisionTypeNbreCombo = new ChampComboBoxListeValeurs(null, "ea");
313
		precisionTypeNbreCombo.setTrie("id_valeur");
272
		precisionTypeNbreCombo.setTrie("id_valeur");
314
		precisionTypeNbreCombo.setEmptyText(i18nC.precisionNbreSpecimenTypeCollectionChpVide());
273
		precisionTypeNbreCombo.setEmptyText(i18nC.precisionNbreSpecimenTypeCollectionChpVide());
315
		nbreTypeConteneur.ajouterChamp(precisionTypeNbreCombo);
274
		nbreTypeConteneur.ajouterChamp(precisionTypeNbreCombo);
316
		
275
		
317
		typeFieldSet.add(nbreTypeConteneur);
276
		typeFieldSet.add(nbreTypeConteneur);
318
				
277
				
319
		classementSpecimenTypeCombo = new ChampComboBoxListeValeurs(i18nC.classementSpecimenTypeCollection(), "typeClassement", tabIndex++);
278
		classementSpecimenTypeCombo = new ChampComboBoxListeValeurs(i18nC.classementSpecimenTypeCollection(), "typeClassement", tabIndex++);
320
		typeFieldSet.add(classementSpecimenTypeCombo);
279
		typeFieldSet.add(classementSpecimenTypeCombo);
321
		
280
		
322
		Text infoType = new Text(i18nC.specimenTypeCollectionInfo());
281
		Text infoType = new Text(i18nC.specimenTypeCollectionInfo());
323
		typeFieldSet.add(infoType);
282
		typeFieldSet.add(infoType);
324
		
283
		
325
		this.add(typeFieldSet);
284
		this.add(typeFieldSet);
326
	}
285
	}
327
	
286
	
328
	public void peupler() {
287
	public void peupler() {
329
		initialiserCollection();
288
		initialiserCollection();
330
		if (collection != null) {
289
		if (collection != null) {
331
			idCollectionChp.setValue(collection.getId());
290
			idCollectionChp.setValue(collection.getId());
332
			setValeurComboProjets();
-
 
333
			setValeurComboStructures();
291
			setValeurComboStructures();
334
			setValeurComboCollections();
292
			setValeurComboCollections();
335
			
293
			
336
			typeDepotCombo.peupler(collection.getTypeDepot());
294
			typeDepotCombo.peupler(collection.getTypeDepot());
337
			coteChp.setValue(collection.getCote());
295
			coteChp.setValue(collection.getCote());
338
			idAlternatifsChp.peupler(collection.getIdAlternatif());
296
			idAlternatifsChp.peupler(collection.getIdAlternatif());
339
			nomsAlternatifsChp.peupler(collection.getNomAlternatif());
297
			nomsAlternatifsChp.peupler(collection.getNomAlternatif());
340
			codesAlternatifsChp.peupler(collection.getCode());
298
			codesAlternatifsChp.peupler(collection.getCode());
341
			
299
			
342
			descriptionChp.setValue(collection.getDescription());
300
			descriptionChp.setValue(collection.getDescription());
343
			descriptionSpecialisteChp.setValue(collection.getDescriptionSpecialiste());
301
			descriptionSpecialisteChp.setValue(collection.getDescriptionSpecialiste());
344
			historiqueChp.setValue(collection.getHistorique());
302
			historiqueChp.setValue(collection.getHistorique());
345
			urlsChp.peupler(collection.getUrls());
303
			urlsChp.peupler(collection.getUrls());
346
			
304
			
347
			periodeConstitutionChp.peupler(collection.getPeriodeConstitution());			
305
			periodeConstitutionChp.peupler(collection.getPeriodeConstitution());			
348
			groupementPrincipeCombo.peupler(collection.getGroupementPrincipe());
306
			groupementPrincipeCombo.peupler(collection.getGroupementPrincipe());
349
			butRealisationCombo.peupler(collection.getGroupementBut());
307
			butRealisationCombo.peupler(collection.getGroupementBut());
350
			lieuCouvertureChp.peupler(collection.getCouvertureLieu());
308
			lieuCouvertureChp.peupler(collection.getCouvertureLieu());
351
			
309
			
352
			specimenTypeCombo.peupler(collection.getSpecimenType());
310
			specimenTypeCombo.peupler(collection.getSpecimenType());
353
			nbreTypeChp.setValue((collection.getSpecimenTypeNbre().equals("") ? 0 : Integer.parseInt(collection.getSpecimenTypeNbre())));
311
			nbreTypeChp.setValue((collection.getSpecimenTypeNbre().equals("") ? 0 : Integer.parseInt(collection.getSpecimenTypeNbre())));
354
			precisionTypeNbreCombo.peupler(collection.getSpecimenTypeNbrePrecision());
312
			precisionTypeNbreCombo.peupler(collection.getSpecimenTypeNbrePrecision());
355
			classementSpecimenTypeCombo.peupler(collection.getSpecimenTypeClassement());
313
			classementSpecimenTypeCombo.peupler(collection.getSpecimenTypeClassement());
356
		}
314
		}
357
	}
315
	}
358
	
316
	
359
	public ArrayList<String> verifier() {
317
	public ArrayList<String> verifier() {
360
		ArrayList<String> messages = new ArrayList<String>();
318
		ArrayList<String> messages = new ArrayList<String>();
361
		if (projetsCombo.getCombo().getValue() == null || !projetsCombo.getCombo().isValid()) {
-
 
362
			messages.add(i18nM.selectionObligatoire(i18nC.articleUn()+" "+i18nC.projetSingulier(), i18nC.articleLa()+" "+i18nC.collectionSingulier()));
-
 
363
		}
-
 
364
		return messages;
319
		return messages;
365
	}
320
	}
366
	
321
	
367
	public void collecter() {
322
	public void collecter() {
368
		initialiserCollection();
323
		initialiserCollection();
369
		// l'onglet collection est obligatoirement rempli lors d'un ajout
324
		// l'onglet collection est obligatoirement rempli lors d'un ajout
370
		if (this.mode == Formulaire.MODE_AJOUTER || etreAccede()) {
325
		if (this.mode == Formulaire.MODE_AJOUTER || etreAccede()) {
371
			collectionCollectee.setId(idCollectionChp.getValue());
326
			collectionCollectee.setId(idCollectionChp.getValue());
372
			collectionCollectee.setIdProjet(getValeurComboProjets());
-
 
373
			collectionCollectee.setIdStructure(getValeurComboStructures());
327
			collectionCollectee.setIdStructure(getValeurComboStructures());
374
			collectionCollectee.setCollectionMereId(getValeurComboCollections());
328
			collectionCollectee.setCollectionMereId(getValeurComboCollections());
375
			
329
			
376
			collectionCollectee.setTypeDepot(typeDepotCombo.getValeur());
330
			collectionCollectee.setTypeDepot(typeDepotCombo.getValeur());
377
			collectionCollectee.setCote(coteChp.getValue());
331
			collectionCollectee.setCote(coteChp.getValue());
378
			collectionCollectee.setIdAlternatif(idAlternatifsChp.getValeurs());
332
			collectionCollectee.setIdAlternatif(idAlternatifsChp.getValeurs());
379
			collectionCollectee.setNomAlternatif(nomsAlternatifsChp.getValeurs());
333
			collectionCollectee.setNomAlternatif(nomsAlternatifsChp.getValeurs());
380
			collectionCollectee.setCode(codesAlternatifsChp.getValeurs());
334
			collectionCollectee.setCode(codesAlternatifsChp.getValeurs());
381
			
335
			
382
			collectionCollectee.setDescription(descriptionChp.getValue());
336
			collectionCollectee.setDescription(descriptionChp.getValue());
383
			collectionCollectee.setDescriptionSpecialiste(descriptionSpecialisteChp.getValue());
337
			collectionCollectee.setDescriptionSpecialiste(descriptionSpecialisteChp.getValue());
384
			collectionCollectee.setHistorique(historiqueChp.getValue());
338
			collectionCollectee.setHistorique(historiqueChp.getValue());
385
			collectionCollectee.setUrls(urlsChp.getValeurs());
339
			collectionCollectee.setUrls(urlsChp.getValeurs());
386
			
340
			
387
			collectionCollectee.setPeriodeConstitution(periodeConstitutionChp.getValeur());
341
			collectionCollectee.setPeriodeConstitution(periodeConstitutionChp.getValeur());
388
			collectionCollectee.setGroupementPrincipe(groupementPrincipeCombo.getValeur());
342
			collectionCollectee.setGroupementPrincipe(groupementPrincipeCombo.getValeur());
389
			collectionCollectee.setGroupementBut(butRealisationCombo.getValeur());
343
			collectionCollectee.setGroupementBut(butRealisationCombo.getValeur());
390
			collectionCollectee.setCouvertureLieu(lieuCouvertureChp.getValeurs());
344
			collectionCollectee.setCouvertureLieu(lieuCouvertureChp.getValeurs());
391
			
345
			
392
			collectionCollectee.setSpecimenType(specimenTypeCombo.getValeur());
346
			collectionCollectee.setSpecimenType(specimenTypeCombo.getValeur());
393
			if (nbreTypeChp.getValue() != null) {
347
			if (nbreTypeChp.getValue() != null) {
394
				collectionCollectee.setSpecimenTypeNbre(nbreTypeChp.getValue().toString());
348
				collectionCollectee.setSpecimenTypeNbre(nbreTypeChp.getValue().toString());
395
			}
349
			}
396
			collectionCollectee.setSpecimenTypeNbrePrecision(precisionTypeNbreCombo.getValeur());
350
			collectionCollectee.setSpecimenTypeNbrePrecision(precisionTypeNbreCombo.getValeur());
397
			collectionCollectee.setSpecimenTypeClassement(classementSpecimenTypeCombo.getValeur());
351
			collectionCollectee.setSpecimenTypeClassement(classementSpecimenTypeCombo.getValeur());
398
		}
352
		}
399
	}
-
 
400
	
-
 
401
	private String getValeurComboProjets() {
-
 
402
		String valeur = "";
-
 
403
		if (projetsCombo.getCombo().getValue() != null) {
-
 
404
			Projet projet = new Projet(projetsCombo.getValeur());
-
 
405
			valeur = projet.getId();
-
 
406
		}
-
 
407
		return valeur;
-
 
408
	}
-
 
409
	private void setValeurComboProjets() {		
-
 
410
		if (projetsCombo.getCombo().getStore() != null
-
 
411
				&& collection != null
-
 
412
				&& collection.getIdProjet() != null
-
 
413
				&& !UtilString.isEmpty(collection.getIdProjet())) {
-
 
414
			projetsCombo.chargerValeurInitiale(collection.getIdProjet(), "cpr_id_projet");
-
 
415
		} else {
-
 
416
			projetsCombo.getCombo().setValue(null);
-
 
417
		}
-
 
418
	}
353
	}
419
	
354
	
420
	private String getValeurComboStructures() {
355
	private String getValeurComboStructures() {
421
		String valeur = "";
356
		String valeur = "";
422
		if (structuresCombo.getCombo().getValue() != null) {
357
		if (structuresCombo.getCombo().getValue() != null) {
423
			Structure structure = new Structure(structuresCombo.getValeur());
358
			Structure structure = new Structure(structuresCombo.getValeur());
424
			valeur = structure.getId();
359
			valeur = structure.getId();
425
		}
360
		}
426
		return valeur;
361
		return valeur;
427
	}
362
	}
428
	private void setValeurComboStructures() {
363
	private void setValeurComboStructures() {
429
		if (structuresCombo.getCombo().getStore() != null
364
		if (structuresCombo.getCombo().getStore() != null
430
				&& collection != null
365
				&& collection != null
431
				&& collection.getStructureNom() != null
366
				&& collection.getStructureNom() != null
432
				&& !UtilString.isEmpty(collection.getStructureNom())) {
367
				&& !UtilString.isEmpty(collection.getStructureNom())) {
433
			structuresCombo.chargerValeurInitiale(collection.getStructureNom(), "cs_nom");
368
			structuresCombo.chargerValeurInitiale(collection.getStructureNom(), "cs_nom");
434
		} else {
369
		} else {
435
			structuresCombo.getCombo().setValue(null);
370
			structuresCombo.getCombo().setValue(null);
436
		}
371
		}
437
	}
372
	}
438
	
373
	
439
	private String getValeurComboCollections() {
374
	private String getValeurComboCollections() {
440
		String valeur = "";
375
		String valeur = "";
441
		if (collectionsCombo.getCombo().getValue() != null) {
376
		if (collectionsCombo.getCombo().getValue() != null) {
442
			Collection collection = new Collection(collectionsCombo.getValeur());
377
			Collection collection = new Collection(collectionsCombo.getValeur());
443
			valeur = collection.getId();
378
			valeur = collection.getId();
444
		}
379
		}
445
		return valeur;
380
		return valeur;
446
	}
381
	}
447
	private void setValeurComboCollections() {		
382
	private void setValeurComboCollections() {		
448
		if (collectionsCombo.getCombo().getStore() != null
383
		if (collectionsCombo.getCombo().getStore() != null
449
				&& collection != null
384
				&& collection != null
450
				&& collection.getCollectionMereNom() != null
385
				&& collection.getCollectionMereNom() != null
451
				&& !UtilString.isEmpty(collection.getCollectionMereNom())) {
386
				&& !UtilString.isEmpty(collection.getCollectionMereNom())) {
452
			collectionsCombo.chargerValeurInitiale(collection.getCollectionMereNom(), "cc_nom");
387
			collectionsCombo.chargerValeurInitiale(collection.getCollectionMereNom(), "cc_nom");
453
		}
388
		}
454
	}
389
	}
455
	
390
	
456
	public void rafraichir(Object nouvellesDonnees) {
391
	public void rafraichir(Object nouvellesDonnees) {
457
		if (nouvellesDonnees instanceof ValeurListe) {
392
		if (nouvellesDonnees instanceof ValeurListe) {
458
			ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
393
			ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
459
			rafraichirValeurListe(listeValeurs);
394
			rafraichirValeurListe(listeValeurs);
460
		} else {
395
		} else {
461
			Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()));
396
			Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()));
462
		}
397
		}
463
	}
398
	}
464
	
399
	
465
	private void rafraichirValeurListe(ValeurListe listeValeurs) {
400
	private void rafraichirValeurListe(ValeurListe listeValeurs) {
466
		if (listeValeurs.getId().equals(config.getListeId("typeDepot"))) {
401
		if (listeValeurs.getId().equals(config.getListeId("typeDepot"))) {
467
			Formulaire.rafraichirComboBox(listeValeurs, typeDepotCombo);
402
			Formulaire.rafraichirComboBox(listeValeurs, typeDepotCombo);
468
		} else {
403
		} else {
469
			Debug.log("Gestion de la liste "+listeValeurs.getId()+" non implémenté!");
404
			Debug.log("Gestion de la liste "+listeValeurs.getId()+" non implémenté!");
470
		}
405
		}
471
	}
406
	}
472
	
407
	
473
	
408
	
474
 
409
 
475
}
410
}