Subversion Repositories eFlore/Applications.coel

Rev

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

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