Subversion Repositories eFlore/Applications.coel

Rev

Rev 1925 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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