Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 295 Rev 306
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
2
 
2
 
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
import java.util.Iterator;
4
import java.util.Iterator;
5
import java.util.List;
5
import java.util.List;
6
 
6
 
7
import org.tela_botanica.client.Mediateur;
7
import org.tela_botanica.client.Mediateur;
8
import org.tela_botanica.client.Modele;
8
import org.tela_botanica.client.Modele;
9
import org.tela_botanica.client.RegistreId;
9
import org.tela_botanica.client.RegistreId;
10
import org.tela_botanica.client.i18n.Constantes;
10
import org.tela_botanica.client.i18n.Constantes;
11
import org.tela_botanica.client.interfaces.Rafraichissable;
11
import org.tela_botanica.client.interfaces.Rafraichissable;
12
import org.tela_botanica.client.modeles.Configuration;
12
import org.tela_botanica.client.modeles.Configuration;
13
import org.tela_botanica.client.modeles.Information;
13
import org.tela_botanica.client.modeles.Information;
14
import org.tela_botanica.client.modeles.InterneValeur;
14
import org.tela_botanica.client.modeles.InterneValeur;
15
import org.tela_botanica.client.modeles.InterneValeurListe;
15
import org.tela_botanica.client.modeles.InterneValeurListe;
16
import org.tela_botanica.client.modeles.Personne;
16
import org.tela_botanica.client.modeles.Personne;
17
import org.tela_botanica.client.modeles.PersonneListe;
17
import org.tela_botanica.client.modeles.PersonneListe;
18
import org.tela_botanica.client.modeles.Projet;
18
import org.tela_botanica.client.modeles.Projet;
19
import org.tela_botanica.client.modeles.ProjetListe;
19
import org.tela_botanica.client.modeles.ProjetListe;
20
import org.tela_botanica.client.modeles.Structure;
20
import org.tela_botanica.client.modeles.Structure;
21
import org.tela_botanica.client.modeles.StructureAPersonne;
21
import org.tela_botanica.client.modeles.StructureAPersonne;
22
import org.tela_botanica.client.modeles.StructureAPersonneListe;
22
import org.tela_botanica.client.modeles.StructureAPersonneListe;
23
import org.tela_botanica.client.modeles.StructureConservation;
23
import org.tela_botanica.client.modeles.StructureConservation;
24
import org.tela_botanica.client.modeles.StructureValorisation;
24
import org.tela_botanica.client.modeles.StructureValorisation;
25
import org.tela_botanica.client.modeles.Valeur;
25
import org.tela_botanica.client.modeles.Valeur;
26
import org.tela_botanica.client.modeles.ValeurListe;
26
import org.tela_botanica.client.modeles.ValeurListe;
27
import org.tela_botanica.client.util.UtilArray;
27
import org.tela_botanica.client.util.UtilArray;
28
 
28
 
29
import com.extjs.gxt.ui.client.Events;
29
import com.extjs.gxt.ui.client.Events;
30
import com.extjs.gxt.ui.client.Registry;
30
import com.extjs.gxt.ui.client.Registry;
31
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
31
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
32
import com.extjs.gxt.ui.client.Style.Scroll;
32
import com.extjs.gxt.ui.client.Style.Scroll;
33
import com.extjs.gxt.ui.client.event.BaseEvent;
33
import com.extjs.gxt.ui.client.event.BaseEvent;
34
import com.extjs.gxt.ui.client.event.ComponentEvent;
34
import com.extjs.gxt.ui.client.event.ComponentEvent;
35
import com.extjs.gxt.ui.client.event.GridEvent;
35
import com.extjs.gxt.ui.client.event.GridEvent;
36
import com.extjs.gxt.ui.client.event.KeyListener;
36
import com.extjs.gxt.ui.client.event.KeyListener;
37
import com.extjs.gxt.ui.client.event.Listener;
37
import com.extjs.gxt.ui.client.event.Listener;
38
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
38
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
39
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
39
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
40
import com.extjs.gxt.ui.client.event.SelectionListener;
40
import com.extjs.gxt.ui.client.event.SelectionListener;
41
import com.extjs.gxt.ui.client.event.ToolBarEvent;
41
import com.extjs.gxt.ui.client.event.ToolBarEvent;
42
import com.extjs.gxt.ui.client.store.ListStore;
42
import com.extjs.gxt.ui.client.store.ListStore;
43
import com.extjs.gxt.ui.client.store.Record;
43
import com.extjs.gxt.ui.client.store.Record;
44
import com.extjs.gxt.ui.client.store.Store;
44
import com.extjs.gxt.ui.client.store.Store;
45
import com.extjs.gxt.ui.client.store.StoreEvent;
45
import com.extjs.gxt.ui.client.store.StoreEvent;
46
import com.extjs.gxt.ui.client.widget.Component;
46
import com.extjs.gxt.ui.client.widget.Component;
47
import com.extjs.gxt.ui.client.widget.ContentPanel;
47
import com.extjs.gxt.ui.client.widget.ContentPanel;
48
import com.extjs.gxt.ui.client.widget.Info;
48
import com.extjs.gxt.ui.client.widget.Info;
49
import com.extjs.gxt.ui.client.widget.LayoutContainer;
49
import com.extjs.gxt.ui.client.widget.LayoutContainer;
50
import com.extjs.gxt.ui.client.widget.TabItem;
50
import com.extjs.gxt.ui.client.widget.TabItem;
51
import com.extjs.gxt.ui.client.widget.TabPanel;
51
import com.extjs.gxt.ui.client.widget.TabPanel;
52
import com.extjs.gxt.ui.client.widget.button.Button;
52
import com.extjs.gxt.ui.client.widget.button.Button;
53
import com.extjs.gxt.ui.client.widget.form.CheckBox;
53
import com.extjs.gxt.ui.client.widget.form.CheckBox;
54
import com.extjs.gxt.ui.client.widget.form.CheckBoxGroup;
54
import com.extjs.gxt.ui.client.widget.form.CheckBoxGroup;
55
import com.extjs.gxt.ui.client.widget.form.ComboBox;
55
import com.extjs.gxt.ui.client.widget.form.ComboBox;
56
import com.extjs.gxt.ui.client.widget.form.DateField;
56
import com.extjs.gxt.ui.client.widget.form.DateField;
57
import com.extjs.gxt.ui.client.widget.form.Field;
57
import com.extjs.gxt.ui.client.widget.form.Field;
58
import com.extjs.gxt.ui.client.widget.form.FieldSet;
58
import com.extjs.gxt.ui.client.widget.form.FieldSet;
59
import com.extjs.gxt.ui.client.widget.form.FormPanel;
59
import com.extjs.gxt.ui.client.widget.form.FormPanel;
60
import com.extjs.gxt.ui.client.widget.form.HiddenField;
60
import com.extjs.gxt.ui.client.widget.form.HiddenField;
61
import com.extjs.gxt.ui.client.widget.form.LabelField;
61
import com.extjs.gxt.ui.client.widget.form.LabelField;
62
import com.extjs.gxt.ui.client.widget.form.NumberField;
62
import com.extjs.gxt.ui.client.widget.form.NumberField;
63
import com.extjs.gxt.ui.client.widget.form.Radio;
63
import com.extjs.gxt.ui.client.widget.form.Radio;
64
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
64
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
65
import com.extjs.gxt.ui.client.widget.form.TextArea;
65
import com.extjs.gxt.ui.client.widget.form.TextArea;
66
import com.extjs.gxt.ui.client.widget.form.TextField;
66
import com.extjs.gxt.ui.client.widget.form.TextField;
67
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
67
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
68
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
68
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
69
import com.extjs.gxt.ui.client.widget.grid.CellEditor;
69
import com.extjs.gxt.ui.client.widget.grid.CellEditor;
70
import com.extjs.gxt.ui.client.widget.grid.CheckColumnConfig;
70
import com.extjs.gxt.ui.client.widget.grid.CheckColumnConfig;
71
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
71
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
72
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
72
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
73
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
73
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
74
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
74
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
75
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
75
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
76
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
76
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
77
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
77
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
78
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
78
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
79
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
79
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
80
import com.extjs.gxt.ui.client.widget.layout.FormData;
80
import com.extjs.gxt.ui.client.widget.layout.FormData;
81
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
81
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
82
import com.extjs.gxt.ui.client.widget.tips.ToolTipConfig;
82
import com.extjs.gxt.ui.client.widget.tips.ToolTipConfig;
83
import com.extjs.gxt.ui.client.widget.toolbar.AdapterToolItem;
83
import com.extjs.gxt.ui.client.widget.toolbar.AdapterToolItem;
84
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
84
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
85
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
85
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
86
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
86
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
87
import com.google.gwt.core.client.GWT;
87
import com.google.gwt.core.client.GWT;
88
import com.google.gwt.i18n.client.DateTimeFormat;
88
import com.google.gwt.i18n.client.DateTimeFormat;
89
import com.google.gwt.i18n.client.NumberFormat;
89
import com.google.gwt.i18n.client.NumberFormat;
90
import com.google.gwt.user.client.Window;
90
import com.google.gwt.user.client.Window;
91
 
91
 
92
public class FormStructureVue extends LayoutContainer implements Rafraichissable {
92
public class FormStructureVue extends LayoutContainer implements Rafraichissable {
93
	
93
	
94
	private static final String MODE_AJOUTER = "AJOUT";
94
	public static final String MODE_AJOUTER = "AJOUT";
95
	private static final String MODE_MODIFIER = "MODIF";
95
	public static final String MODE_MODIFIER = "MODIF";
96
	
96
	
97
	private Constantes i18nC = null;
97
	private Constantes i18nC = null;
98
	private Mediateur mediateur = null;
98
	private Mediateur mediateur = null;
99
	private Modele modele = null ;
99
	private Modele modele = null ;
100
 
100
 
101
	private String mode = "AJOUT";
101
	private String mode = null;
102
	private int tabIndex = 100;
102
	private int tabIndex = 100;
103
	private FormPanel structureFormPanneau = null;
103
	private FormPanel structureFormPanneau = null;
104
	private TabPanel onglets = null;
104
	private TabPanel onglets = null;
105
 
105
 
106
	private TabItem identificationOnglet = null;
106
	private TabItem identificationOnglet = null;
107
	private TabItem personnelOnglet = null;
107
	private TabItem personnelOnglet = null;
108
	private TabItem conservationOnglet = null;
108
	private TabItem conservationOnglet = null;
109
	private TabItem valorisationOnglet = null;
109
	private TabItem valorisationOnglet = null;
110
 
110
 
111
	private HiddenField<String> idStructureChp = null;
111
	private HiddenField<String> idStructureChp = null;
112
	
112
	
113
	// Onglet IDENTIFICATION
113
	// Onglet IDENTIFICATION
114
	private Structure identification;
114
	private Structure identification;
115
	private ListStore<Valeur> magazinLstpr = null;
115
	private ListStore<Valeur> magazinLstpr = null;
116
	private ComboBox<Valeur> comboLstpr = null;
116
	private ComboBox<Valeur> comboLstpr = null;
117
	private ListStore<Valeur> magazinLstpu = null;
117
	private ListStore<Valeur> magazinLstpu = null;
118
	private ComboBox<Valeur> comboLstpu = null;
118
	private ComboBox<Valeur> comboLstpu = null;
119
	private ListStore<Valeur> magazinLiStatut = null;
119
	private ListStore<Valeur> magazinLiStatut = null;
120
	private ComboBox<Valeur> comboLiStatut = null;
120
	private ComboBox<Valeur> comboLiStatut = null;
121
	private ListStore<Valeur> fonctionsMagazin = null;
121
	private ListStore<Valeur> fonctionsMagazin = null;
122
	private ComboBox<Valeur> fonctionsCombo = null;
122
	private ComboBox<Valeur> fonctionsCombo = null;
123
	private ComboBox<InterneValeur> comboAcronyme = null;
123
	private ComboBox<InterneValeur> comboAcronyme = null;
124
	private TextField<String> ihChp = null;
124
	private TextField<String> ihChp = null;
125
	private TextField<String> mnhnChp = null;
125
	private TextField<String> mnhnChp = null;
126
	private ComboBox<InterneValeur> comboTypeStructure = null;
126
	private ComboBox<InterneValeur> comboTypeStructure = null;
127
	private TextField<String> nomStructureChp;
127
	private TextField<String> nomStructureChp;
128
	private DateField dateFondationChp;
128
	private DateField dateFondationChp;
129
	private TextArea adrChp;
129
	private TextArea adrChp;
130
	private TextField<String> cpChp;
130
	private TextField<String> cpChp;
131
	private TextField<String> villeChp;
131
	private TextField<String> villeChp;
132
	private TextField<String> regionChp;
132
	private TextField<String> regionChp;
133
	private TextField<String> telChp;
133
	private TextField<String> telChp;
134
	private TextField<String> faxChp;
134
	private TextField<String> faxChp;
135
	private TextField<String> emailChp;
135
	private TextField<String> emailChp;
136
	private TextField<String> urlChp;
136
	private TextField<String> urlChp;
137
	private ListStore<Valeur> magazinPays;
137
	private ListStore<Valeur> magazinPays;
138
	private ComboBox<Valeur> comboPays;
138
	private ComboBox<Valeur> comboPays;
139
 
139
 
140
	// Onglet PERSONNEL
140
	// Onglet PERSONNEL
141
	private StructureAPersonneListe personnel;
141
	private StructureAPersonneListe personnel;
142
	private StructureAPersonneListe personnelAjoute = null;
142
	private StructureAPersonneListe personnelAjoute = null;
143
	private StructureAPersonneListe personnelModifie = null;
143
	private StructureAPersonneListe personnelModifie = null;
144
	private StructureAPersonneListe personnelSupprime = null;
144
	private StructureAPersonneListe personnelSupprime = null;
145
	private NumberField nbreTotalPersonneStructureChp = null;
145
	private NumberField nbreTotalPersonneStructureChp = null;
146
	private EditorGrid<StructureAPersonne> grillePersonnel = null;
146
	private EditorGrid<StructureAPersonne> grillePersonnel = null;
147
	private ListStore<StructureAPersonne> personnelGrilleMagazin = null;
147
	private ListStore<StructureAPersonne> personnelGrilleMagazin = null;
148
	
148
	
149
	// Onglet CONSERVATION
149
	// Onglet CONSERVATION
150
	private StructureConservation conservation = null;
150
	private StructureConservation conservation = null;
151
	private RadioGroup formationMarkRGrpChp;
151
	private RadioGroup formationMarkRGrpChp;
152
	private RadioGroup interetFormationMarkRGrpChp;
152
	private RadioGroup interetFormationMarkRGrpChp;
153
	private RadioGroup collectionCommuneMarkRGrpChp;
153
	private RadioGroup collectionCommuneMarkRGrpChp;
154
	private RadioGroup accesControleMarkRGrpChp;
154
	private RadioGroup accesControleMarkRGrpChp;
155
	private RadioGroup restaurationMarkRGrpChp;
155
	private RadioGroup restaurationMarkRGrpChp;
156
	private RadioGroup traitementMarkRGrpChp;
156
	private RadioGroup traitementMarkRGrpChp;
157
	private RadioGroup collectionAcquisitionMarkRGrpChp;
157
	private RadioGroup collectionAcquisitionMarkRGrpChp;
158
	private RadioGroup echantillonAcquisitionMarkRGrpChp;
158
	private RadioGroup echantillonAcquisitionMarkRGrpChp;
159
	private TextField<String> localStockageAutreChp;
159
	private TextField<String> localStockageAutreChp;
160
	private TextField<String> meubleStockageAutreChp;
160
	private TextField<String> meubleStockageAutreChp;
161
	private TextField<String> parametreStockageAutreChp;
161
	private TextField<String> parametreStockageAutreChp;
162
	private TextField<String> collectionAutreAutreChp;
162
	private TextField<String> collectionAutreAutreChp;
163
	private TextField<String> autreCollectionAutreChp;
163
	private TextField<String> autreCollectionAutreChp;
164
	private TextField<String> opRestauAutreChp;
164
	private TextField<String> opRestauAutreChp;
165
	private TextField<String> autreMaterielAutreChp;
165
	private TextField<String> autreMaterielAutreChp;
166
	private TextField<String> poisonTraitementAutreChp;
166
	private TextField<String> poisonTraitementAutreChp;
167
	private TextField<String> traitementAutreChp;
167
	private TextField<String> traitementAutreChp;
168
	private TextField<String> insecteTraitementAutreChp;
168
	private TextField<String> insecteTraitementAutreChp;
169
	private TextField<String> actionAutreChp;
169
	private TextField<String> actionAutreChp;
170
	private TextField<String> provenanceRechercheAutreChp;
170
	private TextField<String> provenanceRechercheAutreChp;
171
	private TextField<String> typeRechercheAutreChp;
171
	private TextField<String> typeRechercheAutreChp;
172
	private CheckBoxGroup localStockageTrukCacGrpChp = null;
172
	private CheckBoxGroup localStockageTrukCacGrpChp = null;
173
	private ContentPanel localStockageTrukCp = null;
173
	private ContentPanel localStockageTrukCp = null;
174
	private CheckBoxGroup meubleStockageTrukCacGrpChp = null;
174
	private CheckBoxGroup meubleStockageTrukCacGrpChp = null;
175
	private ContentPanel meubleStockageTrukCp = null;
175
	private ContentPanel meubleStockageTrukCp = null;
176
	private CheckBoxGroup parametreStockageTrukCacGrpChp = null;
176
	private CheckBoxGroup parametreStockageTrukCacGrpChp = null;
177
	private ContentPanel parametreStockageTrukCp = null;
177
	private ContentPanel parametreStockageTrukCp = null;
178
	private ContentPanel collectionAutreTrukCp = null;
178
	private ContentPanel collectionAutreTrukCp = null;
179
	private CheckBoxGroup collectionAutreTrukCacGrpChp = null;
179
	private CheckBoxGroup collectionAutreTrukCacGrpChp = null;
180
	private CheckBoxGroup opRestauTrukCacGrpChp = null;
180
	private CheckBoxGroup opRestauTrukCacGrpChp = null;
181
	private ContentPanel opRestauTrukCp = null;
181
	private ContentPanel opRestauTrukCp = null;
182
	private CheckBoxGroup autreMaterielTrukCacGrpChp = null;
182
	private CheckBoxGroup autreMaterielTrukCacGrpChp = null;
183
	private ContentPanel autreMaterielTrukCp = null;
183
	private ContentPanel autreMaterielTrukCp = null;
184
	private ContentPanel traitementTrukCp = null;
184
	private ContentPanel traitementTrukCp = null;
185
	private CheckBoxGroup traitementTrukCacGrpChp = null;
185
	private CheckBoxGroup traitementTrukCacGrpChp = null;
186
	private ContentPanel poisonTraitementTrukCp = null;
186
	private ContentPanel poisonTraitementTrukCp = null;
187
	private ContentPanel insecteTraitementTrukCp = null;
187
	private ContentPanel insecteTraitementTrukCp = null;
188
	private CheckBoxGroup insecteTraitementTrukCacGrpChp = null;
188
	private CheckBoxGroup insecteTraitementTrukCacGrpChp = null;
189
	private CheckBoxGroup poisonTraitementTrukCacGrpChp = null;
189
	private CheckBoxGroup poisonTraitementTrukCacGrpChp = null;
190
	private ContentPanel autreCollectionTrukCp = null;
190
	private ContentPanel autreCollectionTrukCp = null;
191
	private CheckBoxGroup autreCollectionTrukCacGrpChp = null;
191
	private CheckBoxGroup autreCollectionTrukCacGrpChp = null;
192
	private ContentPanel provenanceRechercheTrukCp = null;
192
	private ContentPanel provenanceRechercheTrukCp = null;
193
	private CheckBoxGroup provenanceRechercheTrukCacGrpChp = null;
193
	private CheckBoxGroup provenanceRechercheTrukCacGrpChp = null;
194
	private CheckBoxGroup typeRechercheTrukCacGrpChp = null;
194
	private CheckBoxGroup typeRechercheTrukCacGrpChp = null;
195
	private ContentPanel typeRechercheTrukCp = null;
195
	private ContentPanel typeRechercheTrukCp = null;
196
	private TextField<String> futureActionChp = null;
196
	private TextField<String> futureActionChp = null;
197
	private TextField<String> sansMotifAccesChp = null;
197
	private TextField<String> sansMotifAccesChp = null;
198
	private TextField<String> avecMotifAccesChp = null;
198
	private TextField<String> avecMotifAccesChp = null;
199
	private TextField<String> formationChp = null;
199
	private TextField<String> formationChp = null;
200
	private RadioGroup traitementAcquisitionMarkRGrpChp = null;
200
	private RadioGroup traitementAcquisitionMarkRGrpChp = null;
201
	private LabelField traitementAcquisitionMarkLabel = null;
201
	private LabelField traitementAcquisitionMarkLabel = null;
202
	private RadioGroup materielConservationCeRGrpChp = null;
202
	private RadioGroup materielConservationCeRGrpChp = null;
203
 
203
 
204
	// Onglet VALORISATION
204
	// Onglet VALORISATION
205
	private StructureValorisation valorisation = null;
205
	private StructureValorisation valorisation = null;
206
	private RadioGroup actionMarkRGrpChp = null;
206
	private RadioGroup actionMarkRGrpChp = null;
207
	private ContentPanel actionTrukCp = null;
207
	private ContentPanel actionTrukCp = null;
208
	private CheckBoxGroup actionTrukCacGrpChp = null;
208
	private CheckBoxGroup actionTrukCacGrpChp = null;
209
	private RadioGroup futureActionMarkRGrpChp;
209
	private RadioGroup futureActionMarkRGrpChp;
210
	private RadioGroup rechercheMarkRGrpChp;
210
	private RadioGroup rechercheMarkRGrpChp;
211
	private RadioGroup sansMotifAccesMarkRGrpChp;
211
	private RadioGroup sansMotifAccesMarkRGrpChp;
212
	private RadioGroup avecMotifAccesMarkRGrpChp;
212
	private RadioGroup avecMotifAccesMarkRGrpChp;
213
	private TextField<String> publicationChp;
213
	private TextField<String> publicationChp;
214
	private ContentPanel materielConservationCp;
214
	private ContentPanel materielConservationCp;
215
	private ListStore<Personne> personneExistanteMagazin;
215
	private ListStore<Personne> personneExistanteMagazin;
216
	private ComboBox<Personne> personneExistanteCombo;
216
	private ComboBox<Personne> personneExistanteCombo;
217
	private TextToolItem supprimerPersonnelBtn;
217
	private TextToolItem supprimerPersonnelBtn;
218
	private ListStore<Projet> projetsMagazin;
218
	private ListStore<Projet> projetsMagazin;
219
	private ComboBox<Projet> projetsCombo;
219
	private ComboBox<Projet> projetsCombo;
220
	private CellEditor fonctionEditor;
220
	private CellEditor fonctionEditor;
221
	private List<Valeur> fonctionsListe;
221
	private List<Valeur> fonctionsListe;
222
 
222
 
223
 
223
 
224
	public FormStructureVue() {
224
	public FormStructureVue(String modeDeCreation) {
225
		//+-----------------------------------------------------------------------------------------------------------+		
225
		//+-----------------------------------------------------------------------------------------------------------+		
-
 
226
		// Initialisation de variables
226
		// Initialisation de variables
227
		mode = modeDeCreation;
227
		i18nC = GWT.create(Constantes.class);
228
		i18nC = GWT.create(Constantes.class);
228
		setLayout(new FitLayout());
229
		setLayout(new FitLayout());
229
		modele = Registry.get(RegistreId.MODELE);
230
		modele = Registry.get(RegistreId.MODELE);
230
		mediateur = Registry.get(RegistreId.MEDIATEUR);
231
		mediateur = Registry.get(RegistreId.MEDIATEUR);
231
			
232
			
232
		//+-----------------------------------------------------------------------------------------------------------+
233
		//+-----------------------------------------------------------------------------------------------------------+
233
		// Création du panneau du FORMULAIRE GÉNÉRAL
234
		// Création du panneau du FORMULAIRE GÉNÉRAL
234
		structureFormPanneau = new FormPanel();
235
		structureFormPanneau = new FormPanel();
235
		structureFormPanneau.setFrame(true);
236
		structureFormPanneau.setFrame(true);
236
		structureFormPanneau.setIconStyle("icone-form-ajouter");  
237
		structureFormPanneau.setIconStyle("icone-form-ajouter");  
237
		structureFormPanneau.setCollapsible(false);  
238
		structureFormPanneau.setCollapsible(false);  
238
		structureFormPanneau.setHeading(i18nC.titreAjoutFormStructurePanneau());
239
		structureFormPanneau.setHeading(i18nC.titreAjoutFormStructurePanneau());
239
		structureFormPanneau.setButtonAlign(HorizontalAlignment.CENTER);  
240
		structureFormPanneau.setButtonAlign(HorizontalAlignment.CENTER);  
240
		structureFormPanneau.setLayout(new FlowLayout());
241
		structureFormPanneau.setLayout(new FlowLayout());
241
 
242
 
242
		//+-----------------------------------------------------------------------------------------------------------+
243
		//+-----------------------------------------------------------------------------------------------------------+
243
		// Création des onglets
244
		// Création des onglets
244
		onglets = new TabPanel();
245
		onglets = new TabPanel();
245
		// NOTE : pour faire apparaître les scrollBar il faut définir la hauteur du panneau d'onglets à 100% (autoHeight ne semble pas fonctionner) 
246
		// NOTE : pour faire apparaître les scrollBar il faut définir la hauteur du panneau d'onglets à 100% (autoHeight ne semble pas fonctionner) 
246
		onglets.setHeight("100%");
247
		onglets.setHeight("100%");
247
		
248
		
248
		//+-----------------------------------------------------------------------------------------------------------+
249
		//+-----------------------------------------------------------------------------------------------------------+
249
		// Onlget formulaire IDENTIFICATION
250
		// Onlget formulaire IDENTIFICATION
250
		onglets.add(creerOngletIdentification());
251
		onglets.add(creerOngletIdentification());
251
		
252
		
252
		//+-----------------------------------------------------------------------------------------------------------+
253
		//+-----------------------------------------------------------------------------------------------------------+
253
		// Onlget formulaire PERSONNEL
254
		// Onlget formulaire PERSONNEL
254
		onglets.add(creerOngletPersonnel());
255
		onglets.add(creerOngletPersonnel());
255
		
256
		
256
		//+-----------------------------------------------------------------------------------------------------------+
257
		//+-----------------------------------------------------------------------------------------------------------+
257
		// Onlget formulaire CONSERVATION
258
		// Onlget formulaire CONSERVATION
258
		onglets.add(creerOngletConservation());
259
		onglets.add(creerOngletConservation());
259
		
260
		
260
		//+-----------------------------------------------------------------------------------------------------------+
261
		//+-----------------------------------------------------------------------------------------------------------+
261
		// Onlget formulaire VALORISATION
262
		// Onlget formulaire VALORISATION
262
		onglets.add(creerOngletValorisation());
263
		onglets.add(creerOngletValorisation());
263
		
264
		
264
		//+-----------------------------------------------------------------------------------------------------------+
265
		//+-----------------------------------------------------------------------------------------------------------+
265
		// Gestion du FORMULAIRE GÉNÉRAL
266
		// Gestion du FORMULAIRE GÉNÉRAL
266
		
267
		
267
		// Sélection de l'onglet par défaut
268
		// Sélection de l'onglet par défaut
268
		onglets.setSelection(personnelOnglet);
269
		//onglets.setSelection(personnelOnglet);
269
		
270
		
270
		// Ajout des onglets au formulaire général
271
		// Ajout des onglets au formulaire général
271
		structureFormPanneau.add(onglets);
272
		structureFormPanneau.add(onglets);
272
		
273
		
273
		// Ajout des boutons au panneau formulaire
274
		// Ajout des boutons au panneau formulaire
274
		Button annulerBtn = new Button("Annuler");
275
		Button annulerBtn = new Button("Annuler");
275
		annulerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() {
276
		annulerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() {
276
 
277
 
277
			@Override
278
			@Override
278
			public void componentSelected(ComponentEvent ce) {
279
			public void componentSelected(ComponentEvent ce) {
279
				mediateur.clicMenu("Institutions");
280
				mediateur.clicMenu("Institutions");
280
			}
281
			}
281
			
282
			
282
		});
283
		});
283
		structureFormPanneau.addButton(annulerBtn);
284
		structureFormPanneau.addButton(annulerBtn);
284
		Button validerBtn = new Button("Valider");
285
		Button validerBtn = new Button("Valider");
285
		validerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() {
286
		validerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() {
286
 
287
 
287
			@Override
288
			@Override
288
			public void componentSelected(ComponentEvent ce) {
289
			public void componentSelected(ComponentEvent ce) {
289
				soumettreFormulaire();
290
				soumettreFormulaire();
290
			}
291
			}
291
			
292
			
292
		});
293
		});
293
		structureFormPanneau.addButton(validerBtn);
294
		structureFormPanneau.addButton(validerBtn);
294
		
295
		
295
		// Ajout du panneau Formulaire à la disposition générale
296
		// Ajout du panneau Formulaire à la disposition générale
296
		add(structureFormPanneau);
297
		add(structureFormPanneau);		
297
	}
298
	}
298
	
299
	
299
	private void soumettreFormulaire() {
300
	private void soumettreFormulaire() {
300
		// Vérification de la validité des champs du formulaire
301
		// Vérification de la validité des champs du formulaire
301
		if (verifierFormulaire()) {
302
		if (verifierFormulaire()) {
302
			GWT.log("Soumission du formulaire", null);
303
			GWT.log("Soumission du formulaire", null);
303
			// Collecte des données du formulaire
304
			// Collecte des données du formulaire
304
			Structure structure = collecterStructureIdentification();
305
			Structure structure = collecterStructureIdentification();
305
			StructureConservation conservation = collecterStructureConservation();
306
			StructureConservation conservation = collecterStructureConservation();
306
			StructureValorisation valorisation = collecterStructureValorisation();
307
			StructureValorisation valorisation = collecterStructureValorisation();
307
			collecterStructurePersonnel();
308
			collecterStructurePersonnel();
308
			
309
			
309
			if (mode.equals("AJOUT")) {
310
			if (mode.equals("AJOUT")) {
310
				// Ajout des informations sur la Structure
311
				// Ajout des informations sur la Structure
311
				mediateur.ajouterStructure(this, structure, conservation, valorisation);
312
				mediateur.ajouterStructure(this, structure, conservation, valorisation);
312
				// L'ajout des relations StructureAPersonne se fait quand la structure a été ajoutée
313
				// L'ajout des relations StructureAPersonne se fait quand la structure a été ajoutée
313
				// Voir la méthode rafraichir().
314
				// Voir la méthode rafraichir().
314
			} else if (mode.equals("MODIF")) {
315
			} else if (mode.equals("MODIF")) {
315
				// Modification des informations sur la Structure
316
				// Modification des informations sur la Structure
-
 
317
				if (structure == null && conservation == null && valorisation == null) {
-
 
318
					Info.display("Modification d'une institution", "Rien n'a été enregistré car le formulaire n'a pas été modifié.");
-
 
319
				} else {
316
				mediateur.modifierStructure(this, structure, conservation, valorisation);
320
					mediateur.modifierStructure(this, identification.getId(), structure, conservation, valorisation);
-
 
321
				}
317
				// Modification des relations StructureAPersonne
322
				if (personnelModifie.size() == 0 && personnelAjoute.size() == 0 && personnelSupprime.size() == 0) {
-
 
323
					Info.display("Modification du personnel", "Rien n'a été enregistré car le formulaire n'a pas été modifié.");
-
 
324
				} else {
318
				GWT.log("Personnel modifié :"+personnelModifie.size(), null);
325
					if (personnelModifie.size() != 0) {
319
				mediateur.modifierStructureAPersonne(this, personnelModifie);
326
						mediateur.modifierStructureAPersonne(this, personnelModifie);
-
 
327
					}
320
				// Ajout des relations StructureAPersonne
328
					// Ajout des relations StructureAPersonne
321
				GWT.log("Personnel ajouté :"+personnelAjoute.size(), null);
329
					if (personnelAjoute.size() != 0) {
322
				mediateur.ajouterStructureAPersonne(this, identification.getId(), personnelAjoute);
330
						mediateur.ajouterStructureAPersonne(this, identification.getId(), personnelAjoute);
-
 
331
					}
323
				// Suppression des relations StructureAPersonne
332
					// Suppression des relations StructureAPersonne
324
				GWT.log("Personnel supprimé :"+personnelSupprime.size(), null);
333
					if (personnelSupprime.size() != 0) {
325
				mediateur.supprimerStructureAPersonne(this, personnelSupprime);
334
						mediateur.supprimerStructureAPersonne(this, personnelSupprime);
-
 
335
					}
326
				// Nous rechargeons la liste du Personnel
336
					// Nous rechargeons la liste du Personnel
327
				rafraichirPersonnel();
337
					rafraichirPersonnel();
-
 
338
				}
328
			}
339
			}
329
		}
340
		}
330
	}
341
	}
331
	
342
	
332
	private Boolean verifierFormulaire() {
343
	private Boolean verifierFormulaire() {
333
		ArrayList<String> messages = new ArrayList<String>();
344
		ArrayList<String> messages = new ArrayList<String>();
334
		
345
		
335
		// Vérification des infos sur le nom de la structure
346
		// Vérification des infos sur le nom de la structure
336
		if (	(identificationOnglet.getData("acces").equals(true) && nomStructureChp.getValue() == null) ||
347
		if (	(identificationOnglet.getData("acces").equals(true) && nomStructureChp.getValue() == null) ||
337
				(identificationOnglet.getData("acces").equals(true) && nomStructureChp.getValue().equals("")) ||
348
				(identificationOnglet.getData("acces").equals(true) && nomStructureChp.getValue().equals("")) ||
338
				(identificationOnglet.getData("acces").equals(false) && identification.getNom().equals(""))) {
349
				(identificationOnglet.getData("acces").equals(false) && identification.getNom().equals(""))) {
339
			messages.add("Veuillez indiquez un nom à l'institution.");
350
			messages.add("Veuillez indiquez un nom à l'institution.");
340
		}
351
		}
341
		
352
		
342
		// Vérification des infos sur le projet de la structure
353
		// Vérification des infos sur le projet de la structure
343
		if (	(identificationOnglet.getData("acces").equals(true) && projetsCombo.getValue() == null) ||
354
		if (	(identificationOnglet.getData("acces").equals(true) && projetsCombo.getValue() == null) ||
344
				(identificationOnglet.getData("acces").equals(true) && projetsCombo.getValue().equals("")) ||
355
				(identificationOnglet.getData("acces").equals(true) && projetsCombo.getValue().equals("")) ||
345
				(identificationOnglet.getData("acces").equals(false) && identification.getIdProjet().equals(""))) {
356
				(identificationOnglet.getData("acces").equals(false) && identification.getIdProjet().equals(""))) {
346
			messages.add("Veuillez sélectionner un projet pour l'institution.");
357
			messages.add("Veuillez sélectionner un projet pour l'institution.");
347
		}
358
		}
348
		
359
		
349
		// Vérification du Personnel
360
		// Vérification du Personnel
350
		if (personnelOnglet.getData("acces").equals(true)) {
361
		if (personnelOnglet.getData("acces").equals(true)) {
351
			String personnelNumero = "";
362
			String personnelNumero = "";
352
			int nbrePersonne = personnelGrilleMagazin.getCount();
363
			int nbrePersonne = personnelGrilleMagazin.getCount();
353
			for (int i = 0; i < nbrePersonne; i++) {
364
			for (int i = 0; i < nbrePersonne; i++) {
354
				StructureAPersonne personne = personnelGrilleMagazin.getAt(i);
365
				StructureAPersonne personne = personnelGrilleMagazin.getAt(i);
355
				if (personne.getNom().equals("") || personne.getPrenom().equals("")) {
366
				if (personne.getNom().equals("") || personne.getPrenom().equals("")) {
356
					personnelNumero += (i != 0 ? ", " : "")+(i+1);
367
					personnelNumero += (i != 0 ? ", " : "")+(i+1);
357
				}
368
				}
358
			}
369
			}
359
			if (!personnelNumero.equals("")) {
370
			if (!personnelNumero.equals("")) {
360
				messages.add("Veuillez indiquez un prénom et un nom au personnel numéro : "+personnelNumero);
371
				messages.add("Veuillez indiquez un prénom et un nom au personnel numéro : "+personnelNumero);
361
			}
372
			}
362
		}
373
		}
363
 
374
 
364
		// Affichage des messages d'alerte
375
		// Affichage des messages d'alerte
365
		if (messages.size() != 0) {
376
		if (messages.size() != 0) {
366
			String[] a = {};
377
			String[] a = {};
367
			a = messages.toArray(a);
378
			a = messages.toArray(a);
368
			Window.alert(UtilArray.implode(a, "\n\n"));
379
			Window.alert(UtilArray.implode(a, "\n\n"));
369
			return false;
380
			return false;
370
		}
381
		}
371
		return true;
382
		return true;
372
	}
383
	}
373
	
384
	
374
	private StructureValorisation collecterStructureValorisation() {
385
	private StructureValorisation collecterStructureValorisation() {
-
 
386
		StructureValorisation valorisationARetourner = null;
375
		if (valorisationOnglet.getData("acces").equals(false)) {
387
		if (valorisationOnglet.getData("acces").equals(true)) {
376
			return valorisation;
-
 
377
		} else {
-
 
378
			// Création de l'objet
388
			// Création de l'objet
379
			StructureValorisation valorisationModifie = new StructureValorisation();
389
			StructureValorisation valorisationCollectee = (StructureValorisation) valorisation.cloner(new StructureValorisation());
380
			
390
			
381
			// ACTION
391
			// ACTION
382
			if (actionMarkRGrpChp.getValue() != null) {
392
			if (actionMarkRGrpChp.getValue() != null) {
383
				valorisationModifie.setAction(actionMarkRGrpChp.getValue().getValueAttribute());
393
				valorisationCollectee.setAction(actionMarkRGrpChp.getValue().getValueAttribute());
384
			}
394
			}
385
			
395
			
386
			// ACTION INFO
396
			// ACTION INFO
387
			valorisationModifie.setActionInfo(creerChaineDenormalisee(actionTrukCacGrpChp.getValues()));
397
			valorisationCollectee.setActionInfo(creerChaineDenormalisee(actionTrukCacGrpChp.getValues()));
388
			valorisationModifie.setActionInfo("AUTRE", actionAutreChp.getValue());
398
			valorisationCollectee.setActionInfo("AUTRE", actionAutreChp.getValue());
389
			
399
			
390
			// PUBLICATION
400
			// PUBLICATION
391
			valorisationModifie.setPublication(publicationChp.getValue());
401
			valorisationCollectee.setPublication(publicationChp.getValue());
392
			
402
			
393
			// COLLECTION AUTRE
403
			// COLLECTION AUTRE
394
			valorisationModifie.setCollectionAutre(creerChaineDenormalisee(autreCollectionTrukCacGrpChp.getValues()));
404
			valorisationCollectee.setCollectionAutre(creerChaineDenormalisee(autreCollectionTrukCacGrpChp.getValues()));
395
			valorisationModifie.setCollectionAutre("AUTRE", autreCollectionAutreChp.getValue());
405
			valorisationCollectee.setCollectionAutre("AUTRE", autreCollectionAutreChp.getValue());
396
			
406
			
397
			// ACTION FUTURE
407
			// ACTION FUTURE
398
			if (futureActionMarkRGrpChp.getValue() != null) {
408
			if (futureActionMarkRGrpChp.getValue() != null) {
399
				valorisationModifie.setActionFuture(futureActionMarkRGrpChp.getValue().getValueAttribute());
409
				valorisationCollectee.setActionFuture(futureActionMarkRGrpChp.getValue().getValueAttribute());
400
			}
410
			}
401
			// ACTION FUTURE INFO
411
			// ACTION FUTURE INFO
402
			valorisationModifie.setActionFutureInfo(futureActionChp.getValue());
412
			valorisationCollectee.setActionFutureInfo(futureActionChp.getValue());
403
			
413
			
404
			// RECHERCHE
414
			// RECHERCHE
405
			if (rechercheMarkRGrpChp.getValue() != null) {
415
			if (rechercheMarkRGrpChp.getValue() != null) {
406
				valorisationModifie.setRecherche(rechercheMarkRGrpChp.getValue().getValueAttribute());
416
				valorisationCollectee.setRecherche(rechercheMarkRGrpChp.getValue().getValueAttribute());
407
			}
417
			}
408
			
418
			
409
			// RECHERCHE PROVENANCE
419
			// RECHERCHE PROVENANCE
410
			valorisationModifie.setRechercheProvenance(creerChaineDenormalisee(provenanceRechercheTrukCacGrpChp.getValues()));
420
			valorisationCollectee.setRechercheProvenance(creerChaineDenormalisee(provenanceRechercheTrukCacGrpChp.getValues()));
411
			valorisationModifie.setRechercheProvenance("AUTRE", provenanceRechercheAutreChp.getValue());
421
			valorisationCollectee.setRechercheProvenance("AUTRE", provenanceRechercheAutreChp.getValue());
412
			
422
			
413
			// RECHERCHE TYPE
423
			// RECHERCHE TYPE
414
			valorisationModifie.setRechercheType(creerChaineDenormalisee(typeRechercheTrukCacGrpChp.getValues()));
424
			valorisationCollectee.setRechercheType(creerChaineDenormalisee(typeRechercheTrukCacGrpChp.getValues()));
415
			valorisationModifie.setRechercheType("AUTRE", typeRechercheAutreChp.getValue());
425
			valorisationCollectee.setRechercheType("AUTRE", typeRechercheAutreChp.getValue());
416
			
426
			
417
			// ACCÈS SANS MOTIF
427
			// ACCÈS SANS MOTIF
418
			if (sansMotifAccesMarkRGrpChp.getValue() != null) {
428
			if (sansMotifAccesMarkRGrpChp.getValue() != null) {
419
				valorisationModifie.setAccesSansMotif(sansMotifAccesMarkRGrpChp.getValue().getValueAttribute());
429
				valorisationCollectee.setAccesSansMotif(sansMotifAccesMarkRGrpChp.getValue().getValueAttribute());
420
			}
430
			}
421
			// ACCÈS SANS MOTIF INFO
431
			// ACCÈS SANS MOTIF INFO
422
			valorisationModifie.setAccesSansMotifInfo(sansMotifAccesChp.getValue());
432
			valorisationCollectee.setAccesSansMotifInfo(sansMotifAccesChp.getValue());
423
			
433
			
424
			// VISITE AVEC MOTIF
434
			// VISITE AVEC MOTIF
425
			if (avecMotifAccesMarkRGrpChp.getValue() != null) {
435
			if (avecMotifAccesMarkRGrpChp.getValue() != null) {
426
				valorisationModifie.setVisiteAvecMotif(avecMotifAccesMarkRGrpChp.getValue().getValueAttribute());
436
				valorisationCollectee.setVisiteAvecMotif(avecMotifAccesMarkRGrpChp.getValue().getValueAttribute());
427
			}
437
			}
428
			// VISITE AVEC MOTIF INFO
438
			// VISITE AVEC MOTIF INFO
429
			valorisationModifie.setVisiteAvecMotifInfo(avecMotifAccesChp.getValue());
439
			valorisationCollectee.setVisiteAvecMotifInfo(avecMotifAccesChp.getValue());
-
 
440
			
-
 
441
			// Retour de l'objet
430
			
442
			if (!valorisationCollectee.comparer(valorisation)) {
-
 
443
				valorisationARetourner = valorisation = valorisationCollectee;
431
			return valorisationModifie;
444
			}
-
 
445
		}
432
		}
446
		return valorisationARetourner;
433
	}
447
	}
434
	
448
	
435
	private void peuplerStructureValorisation() {
449
	private void peuplerStructureValorisation() {
436
		if (valorisation != null && valorisationOnglet.getData("acces").equals(false)) {
450
		if (valorisation != null && valorisationOnglet.getData("acces").equals(false)) {
437
			// ACTION
451
			// ACTION
438
			actionMarkRGrpChp.get((valorisation.getAction().equals("1") ? 0 : 1)).setValue(true);
452
			actionMarkRGrpChp.get((valorisation.getAction().equals("1") ? 0 : 1)).setValue(true);
439
			
453
			
440
			// ACTION INFO
454
			// ACTION INFO
441
			peuplerCasesACocher(valorisation.getActionInfo(), actionTrukCacGrpChp, actionAutreChp);
455
			peuplerCasesACocher(valorisation.getActionInfo(), actionTrukCacGrpChp, actionAutreChp);
442
			
456
			
443
			// PUBLICATION
457
			// PUBLICATION
444
			publicationChp.setValue(valorisation.getPublication());
458
			publicationChp.setValue(valorisation.getPublication());
445
			
459
			
446
			// COLLECTION AUTRE
460
			// COLLECTION AUTRE
447
			peuplerCasesACocher(valorisation.getCollectionAutre(), autreCollectionTrukCacGrpChp, autreCollectionAutreChp);
461
			peuplerCasesACocher(valorisation.getCollectionAutre(), autreCollectionTrukCacGrpChp, autreCollectionAutreChp);
448
			
462
			
449
			// ACTION FUTURE
463
			// ACTION FUTURE
450
			futureActionMarkRGrpChp.get((valorisation.getActionFuture().equals("1") ? 0 : 1)).setValue(true);
464
			futureActionMarkRGrpChp.get((valorisation.getActionFuture().equals("1") ? 0 : 1)).setValue(true);
451
			
465
			
452
			// ACTION FUTURE INFO
466
			// ACTION FUTURE INFO
453
			futureActionChp.setValue(valorisation.getActionFutureInfo());
467
			futureActionChp.setValue(valorisation.getActionFutureInfo());
454
			
468
			
455
			// RECHERCHE
469
			// RECHERCHE
456
			rechercheMarkRGrpChp.get((valorisation.getRecherche().equals("1") ? 0 : 1)).setValue(true);
470
			rechercheMarkRGrpChp.get((valorisation.getRecherche().equals("1") ? 0 : 1)).setValue(true);
457
			// RECHERCHE PROVENANCE
471
			// RECHERCHE PROVENANCE
458
			peuplerCasesACocher(valorisation.getRechercheProvenance(), provenanceRechercheTrukCacGrpChp, provenanceRechercheAutreChp);
472
			peuplerCasesACocher(valorisation.getRechercheProvenance(), provenanceRechercheTrukCacGrpChp, provenanceRechercheAutreChp);
459
			// RECHERCHE TYPE
473
			// RECHERCHE TYPE
460
			peuplerCasesACocher(valorisation.getRechercheType(), typeRechercheTrukCacGrpChp, typeRechercheAutreChp);
474
			peuplerCasesACocher(valorisation.getRechercheType(), typeRechercheTrukCacGrpChp, typeRechercheAutreChp);
461
 
475
 
462
			// ACCÈS SANS MOTIF
476
			// ACCÈS SANS MOTIF
463
			sansMotifAccesMarkRGrpChp.get((valorisation.getAccesSansMotif().equals("1") ? 0 : 1)).setValue(true);
477
			sansMotifAccesMarkRGrpChp.get((valorisation.getAccesSansMotif().equals("1") ? 0 : 1)).setValue(true);
464
			// ACCÈS SANS MOTIF INFO
478
			// ACCÈS SANS MOTIF INFO
465
			sansMotifAccesChp.setValue(valorisation.getAccesSansMotifInfo());
479
			sansMotifAccesChp.setValue(valorisation.getAccesSansMotifInfo());
466
			
480
			
467
			// VISITE AVEC MOTIF
481
			// VISITE AVEC MOTIF
468
			avecMotifAccesMarkRGrpChp.get((valorisation.getVisiteAvecMotif().equals("1") ? 0 : 1)).setValue(true);
482
			avecMotifAccesMarkRGrpChp.get((valorisation.getVisiteAvecMotif().equals("1") ? 0 : 1)).setValue(true);
469
			// VISITE AVEC MOTIF INFO
483
			// VISITE AVEC MOTIF INFO
470
			avecMotifAccesChp.setValue(valorisation.getVisiteAvecMotifInfo());
484
			avecMotifAccesChp.setValue(valorisation.getVisiteAvecMotifInfo());
471
			
485
			
472
			// Indique que l'onglet a été rempli et a pu être modifié pour la méthode collecter... 
486
			// Indique que l'onglet a été rempli et a pu être modifié pour la méthode collecter... 
473
			valorisationOnglet.setData("acces", true);
487
			valorisationOnglet.setData("acces", true);
474
		}
488
		}
475
	}
489
	}
476
	
490
	
477
	private StructureConservation collecterStructureConservation() {
491
	private StructureConservation collecterStructureConservation() {
-
 
492
		StructureConservation conservationARetourner = null;
478
		if (conservationOnglet.getData("acces").equals(false)) {
493
		if (conservationOnglet.getData("acces").equals(true)) {
479
			return conservation;
-
 
480
		} else {
-
 
481
			// Création de l'objet
494
			// Création de l'objet
482
			StructureConservation conservationModifie = new StructureConservation();
495
			StructureConservation conservationCollectee = (StructureConservation) conservation.cloner(new StructureConservation());
483
			
496
			
484
			// FORMATION
497
			// FORMATION
485
			if (formationMarkRGrpChp.getValue() != null) {
498
			if (formationMarkRGrpChp.getValue() != null) {
486
				conservationModifie.setFormation(formationMarkRGrpChp.getValue().getValueAttribute());
499
				conservationCollectee.setFormation(formationMarkRGrpChp.getValue().getValueAttribute());
487
			}
500
			}
488
			// FORMATION INFO
501
			// FORMATION INFO
489
			conservationModifie.setFormationInfo(formationChp.getValue());
502
			conservationCollectee.setFormationInfo(formationChp.getValue());
490
			// FORMATION INTERET
503
			// FORMATION INTERET
491
			if (interetFormationMarkRGrpChp.getValue() != null) {
504
			if (interetFormationMarkRGrpChp.getValue() != null) {
492
				conservationModifie.setFormationInteret(interetFormationMarkRGrpChp.getValue().getValueAttribute());
505
				conservationCollectee.setFormationInteret(interetFormationMarkRGrpChp.getValue().getValueAttribute());
493
			}
506
			}
494
			
507
			
495
			// STOCKAGE LOCAL
508
			// STOCKAGE LOCAL
496
			conservationModifie.setStockageLocal(creerChaineDenormalisee(localStockageTrukCacGrpChp.getValues()));
509
			conservationCollectee.setStockageLocal(creerChaineDenormalisee(localStockageTrukCacGrpChp.getValues()));
497
			conservationModifie.setStockageLocal("AUTRE", localStockageAutreChp.getValue());
510
			conservationCollectee.setStockageLocal("AUTRE", localStockageAutreChp.getValue());
498
	
511
	
499
			// STOCKAGE MEUBLE
512
			// STOCKAGE MEUBLE
500
			conservationModifie.setStockageMeuble(creerChaineDenormalisee(meubleStockageTrukCacGrpChp.getValues()));
513
			conservationCollectee.setStockageMeuble(creerChaineDenormalisee(meubleStockageTrukCacGrpChp.getValues()));
501
			conservationModifie.setStockageMeuble("AUTRE", meubleStockageAutreChp.getValue());
514
			conservationCollectee.setStockageMeuble("AUTRE", meubleStockageAutreChp.getValue());
502
			
515
			
503
			// STOCKAGE PAREMETRE
516
			// STOCKAGE PAREMETRE
504
			conservationModifie.setStockageParametre(creerChaineDenormalisee(parametreStockageTrukCacGrpChp.getValues()));
517
			conservationCollectee.setStockageParametre(creerChaineDenormalisee(parametreStockageTrukCacGrpChp.getValues()));
505
			conservationModifie.setStockageParametre("AUTRE", parametreStockageAutreChp.getValue());
518
			conservationCollectee.setStockageParametre("AUTRE", parametreStockageAutreChp.getValue());
506
			
519
			
507
			// COLLECTION COMMUNE
520
			// COLLECTION COMMUNE
508
			if (collectionCommuneMarkRGrpChp.getValue() != null) {
521
			if (collectionCommuneMarkRGrpChp.getValue() != null) {
509
				conservationModifie.setCollectionCommune(collectionCommuneMarkRGrpChp.getValue().getValueAttribute());
522
				conservationCollectee.setCollectionCommune(collectionCommuneMarkRGrpChp.getValue().getValueAttribute());
510
			}
523
			}
511
			// COLLECTION AUTRE
524
			// COLLECTION AUTRE
512
			conservationModifie.setCollectionAutre(creerChaineDenormalisee(collectionAutreTrukCacGrpChp.getValues()));
525
			conservationCollectee.setCollectionAutre(creerChaineDenormalisee(collectionAutreTrukCacGrpChp.getValues()));
513
			conservationModifie.setCollectionAutre("AUTRE", collectionAutreAutreChp.getValue());
526
			conservationCollectee.setCollectionAutre("AUTRE", collectionAutreAutreChp.getValue());
514
			
527
			
515
			// ACCÈS CONTROLÉ
528
			// ACCÈS CONTROLÉ
516
			if (accesControleMarkRGrpChp.getValue() != null) {
529
			if (accesControleMarkRGrpChp.getValue() != null) {
517
				conservationModifie.setAccesControle(accesControleMarkRGrpChp.getValue().getValueAttribute());
530
				conservationCollectee.setAccesControle(accesControleMarkRGrpChp.getValue().getValueAttribute());
518
			}
531
			}
519
			
532
			
520
			// RESTAURATION
533
			// RESTAURATION
521
			if (restaurationMarkRGrpChp.getValue() != null) {
534
			if (restaurationMarkRGrpChp.getValue() != null) {
522
				conservationModifie.setRestauration(restaurationMarkRGrpChp.getValue().getValueAttribute());
535
				conservationCollectee.setRestauration(restaurationMarkRGrpChp.getValue().getValueAttribute());
523
			}
536
			}
524
			// RESTAURATION OPÉRATION
537
			// RESTAURATION OPÉRATION
525
			conservationModifie.setRestaurationOperation(creerChaineDenormalisee(opRestauTrukCacGrpChp.getValues()));
538
			conservationCollectee.setRestaurationOperation(creerChaineDenormalisee(opRestauTrukCacGrpChp.getValues()));
526
			conservationModifie.setRestaurationOperation("AUTRE", opRestauAutreChp.getValue());
539
			conservationCollectee.setRestaurationOperation("AUTRE", opRestauAutreChp.getValue());
527
			
540
			
528
			// MATERIEL CONSERVATION
541
			// MATERIEL CONSERVATION
529
			if (materielConservationCeRGrpChp.getValue() != null) {
542
			if (materielConservationCeRGrpChp.getValue() != null) {
530
				conservationModifie.setMaterielConservation(materielConservationCeRGrpChp.getValue().getValueAttribute());
543
				conservationCollectee.setMaterielConservation(materielConservationCeRGrpChp.getValue().getValueAttribute());
531
			}
544
			}
532
				
545
				
533
			// MATERIEL AUTRE
546
			// MATERIEL AUTRE
534
			conservationModifie.setMaterielAutre(creerChaineDenormalisee(autreMaterielTrukCacGrpChp.getValues()));
547
			conservationCollectee.setMaterielAutre(creerChaineDenormalisee(autreMaterielTrukCacGrpChp.getValues()));
535
			conservationModifie.setMaterielAutre("AUTRE", autreMaterielAutreChp.getValue());
548
			conservationCollectee.setMaterielAutre("AUTRE", autreMaterielAutreChp.getValue());
536
			
549
			
537
			// TRAITEMENT
550
			// TRAITEMENT
538
			if (traitementMarkRGrpChp.getValue() != null) {
551
			if (traitementMarkRGrpChp.getValue() != null) {
539
				conservationModifie.setTraitement(traitementMarkRGrpChp.getValue().getValueAttribute());
552
				conservationCollectee.setTraitement(traitementMarkRGrpChp.getValue().getValueAttribute());
540
			}
553
			}
541
			// TRAIEMENTS
554
			// TRAIEMENTS
542
			conservationModifie.setTraitements(creerChaineDenormalisee(traitementTrukCacGrpChp.getValues()));
555
			conservationCollectee.setTraitements(creerChaineDenormalisee(traitementTrukCacGrpChp.getValues()));
543
			conservationModifie.setTraitements("AUTRE", traitementAutreChp.getValue());
556
			conservationCollectee.setTraitements("AUTRE", traitementAutreChp.getValue());
544
			
557
			
545
			
558
			
546
			// ACQUISITION COLLECTION
559
			// ACQUISITION COLLECTION
547
			if (collectionAcquisitionMarkRGrpChp.getValue() != null) {
560
			if (collectionAcquisitionMarkRGrpChp.getValue() != null) {
548
				conservationModifie.setAcquisitionCollection(collectionAcquisitionMarkRGrpChp.getValue().getValueAttribute());
561
				conservationCollectee.setAcquisitionCollection(collectionAcquisitionMarkRGrpChp.getValue().getValueAttribute());
549
			}
562
			}
550
			
563
			
551
			// ACQUISITION ECHANTILLON
564
			// ACQUISITION ECHANTILLON
552
			if (echantillonAcquisitionMarkRGrpChp.getValue() != null) {
565
			if (echantillonAcquisitionMarkRGrpChp.getValue() != null) {
553
				conservationModifie.setAcquisitionEchantillon(echantillonAcquisitionMarkRGrpChp.getValue().getValueAttribute());
566
				conservationCollectee.setAcquisitionEchantillon(echantillonAcquisitionMarkRGrpChp.getValue().getValueAttribute());
554
			}
567
			}
555
			// ACQUISITION TRAITEMENT
568
			// ACQUISITION TRAITEMENT
556
			if (traitementAcquisitionMarkRGrpChp.getValue() != null) {
569
			if (traitementAcquisitionMarkRGrpChp.getValue() != null) {
557
				conservationModifie.setAcquisitionTraitement(traitementAcquisitionMarkRGrpChp.getValue().getValueAttribute());
570
				conservationCollectee.setAcquisitionTraitement(traitementAcquisitionMarkRGrpChp.getValue().getValueAttribute());
558
			}
571
			}
559
			// ACQUISITION TRAITEMENT POISON
572
			// ACQUISITION TRAITEMENT POISON
560
			conservationModifie.setAcquisitionTraitementPoison(creerChaineDenormalisee(poisonTraitementTrukCacGrpChp.getValues()));
573
			conservationCollectee.setAcquisitionTraitementPoison(creerChaineDenormalisee(poisonTraitementTrukCacGrpChp.getValues()));
561
			conservationModifie.setAcquisitionTraitementPoison("AUTRE", poisonTraitementAutreChp.getValue());
574
			conservationCollectee.setAcquisitionTraitementPoison("AUTRE", poisonTraitementAutreChp.getValue());
562
			// ACQUISITION TRAITEMENT INSECTE
575
			// ACQUISITION TRAITEMENT INSECTE
563
			conservationModifie.setAcquisitionTraitementInsecte(creerChaineDenormalisee(insecteTraitementTrukCacGrpChp.getValues()));
576
			conservationCollectee.setAcquisitionTraitementInsecte(creerChaineDenormalisee(insecteTraitementTrukCacGrpChp.getValues()));
564
			conservationModifie.setAcquisitionTraitementInsecte("AUTRE", insecteTraitementAutreChp.getValue());
577
			conservationCollectee.setAcquisitionTraitementInsecte("AUTRE", insecteTraitementAutreChp.getValue());
565
			
578
			
566
			// Retour de l'objet
579
			// Retour de l'objet
567
			//GWT.log(conservationLocal.toString(), null);
580
			if (!conservationCollectee.comparer(conservation)) {
-
 
581
				conservationARetourner = conservation = conservationCollectee;
568
			return conservationModifie;
582
			}
-
 
583
		}
569
		}
584
		return conservationARetourner;
570
	}
585
	}
571
	
586
	
572
	private void peuplerStructureConservation() {
587
	private void peuplerStructureConservation() {
573
		if (conservation != null && conservationOnglet.getData("acces").equals(false)) {
588
		if (conservation != null && conservationOnglet.getData("acces").equals(false)) {
574
			// FORMATION
589
			// FORMATION
575
			// Bouton oui, à toujours l'index 0 donc on teste en fonction...
590
			// Bouton oui, à toujours l'index 0 donc on teste en fonction...
576
			formationMarkRGrpChp.get((conservation.getFormation().equals("1") ? 0 : 1)).setValue(true);
591
			formationMarkRGrpChp.get((conservation.getFormation().equals("1") ? 0 : 1)).setValue(true);
577
			// FORMATION INFO
592
			// FORMATION INFO
578
			formationChp.setValue(conservation.getFormationInfo());
593
			formationChp.setValue(conservation.getFormationInfo());
579
			// FORMATION INTERET
594
			// FORMATION INTERET
580
			interetFormationMarkRGrpChp.get((conservation.getFormationInteret().equals("1") ? 0 : 1)).setValue(true);
595
			interetFormationMarkRGrpChp.get((conservation.getFormationInteret().equals("1") ? 0 : 1)).setValue(true);
581
	
596
	
582
			// STOCKAGE LOCAL		
597
			// STOCKAGE LOCAL		
583
			peuplerCasesACocher(conservation.getStockageLocal(), localStockageTrukCacGrpChp,localStockageAutreChp);
598
			peuplerCasesACocher(conservation.getStockageLocal(), localStockageTrukCacGrpChp,localStockageAutreChp);
584
	
599
	
585
			// STOCKAGE MEUBLE
600
			// STOCKAGE MEUBLE
586
			peuplerCasesACocher(conservation.getStockageMeuble(), meubleStockageTrukCacGrpChp, meubleStockageAutreChp);
601
			peuplerCasesACocher(conservation.getStockageMeuble(), meubleStockageTrukCacGrpChp, meubleStockageAutreChp);
587
	
602
	
588
			// STOCKAGE PAREMETRE
603
			// STOCKAGE PAREMETRE
589
			peuplerCasesACocher(conservation.getStockageParametre(), parametreStockageTrukCacGrpChp, parametreStockageAutreChp);
604
			peuplerCasesACocher(conservation.getStockageParametre(), parametreStockageTrukCacGrpChp, parametreStockageAutreChp);
590
			
605
			
591
			// COLLECTION COMMUNE
606
			// COLLECTION COMMUNE
592
			collectionCommuneMarkRGrpChp.get((conservation.getCollectionCommune().equals("1") ? 0 : 1)).setValue(true);
607
			collectionCommuneMarkRGrpChp.get((conservation.getCollectionCommune().equals("1") ? 0 : 1)).setValue(true);
593
			// COLLECTION AUTRE
608
			// COLLECTION AUTRE
594
			peuplerCasesACocher(conservation.getCollectionAutre(), collectionAutreTrukCacGrpChp, collectionAutreAutreChp);
609
			peuplerCasesACocher(conservation.getCollectionAutre(), collectionAutreTrukCacGrpChp, collectionAutreAutreChp);
595
			
610
			
596
			// ACCÈS CONTROLÉ
611
			// ACCÈS CONTROLÉ
597
			accesControleMarkRGrpChp.get((conservation.getAccesControle().equals("1") ? 0 : 1)).setValue(true);
612
			accesControleMarkRGrpChp.get((conservation.getAccesControle().equals("1") ? 0 : 1)).setValue(true);
598
			
613
			
599
			// RESTAURATION
614
			// RESTAURATION
600
			restaurationMarkRGrpChp.get((conservation.getRestauration().equals("1") ? 0 : 1)).setValue(true);
615
			restaurationMarkRGrpChp.get((conservation.getRestauration().equals("1") ? 0 : 1)).setValue(true);
601
			// RESTAURATION OPÉRATION
616
			// RESTAURATION OPÉRATION
602
			peuplerCasesACocher(conservation.getRestaurationOperation(), opRestauTrukCacGrpChp, opRestauAutreChp);
617
			peuplerCasesACocher(conservation.getRestaurationOperation(), opRestauTrukCacGrpChp, opRestauAutreChp);
603
			
618
			
604
			// MATERIEL CONSERVATION
619
			// MATERIEL CONSERVATION
605
			peuplerBoutonsRadio(conservation.getMaterielConservation(), materielConservationCeRGrpChp);
620
			peuplerBoutonsRadio(conservation.getMaterielConservation(), materielConservationCeRGrpChp);
606
			
621
			
607
			// MATERIEL AUTRE
622
			// MATERIEL AUTRE
608
			peuplerCasesACocher(conservation.getMaterielAutre(), autreMaterielTrukCacGrpChp, autreMaterielAutreChp);
623
			peuplerCasesACocher(conservation.getMaterielAutre(), autreMaterielTrukCacGrpChp, autreMaterielAutreChp);
609
			
624
			
610
			// TRAITEMENT
625
			// TRAITEMENT
611
			traitementMarkRGrpChp.get((conservation.getTraitement().equals("1") ? 0 : 1)).setValue(true);
626
			traitementMarkRGrpChp.get((conservation.getTraitement().equals("1") ? 0 : 1)).setValue(true);
612
			// TRAITEMENTS
627
			// TRAITEMENTS
613
			peuplerCasesACocher(conservation.getTraitements(), traitementTrukCacGrpChp, traitementAutreChp);
628
			peuplerCasesACocher(conservation.getTraitements(), traitementTrukCacGrpChp, traitementAutreChp);
614
			
629
			
615
			// ACQUISITION COLLECTION
630
			// ACQUISITION COLLECTION
616
			collectionAcquisitionMarkRGrpChp.get((conservation.getAcquisitionCollection().equals("1") ? 0 : 1)).setValue(true);
631
			collectionAcquisitionMarkRGrpChp.get((conservation.getAcquisitionCollection().equals("1") ? 0 : 1)).setValue(true);
617
			
632
			
618
			// ACQUISITION ECHANTILLON
633
			// ACQUISITION ECHANTILLON
619
			echantillonAcquisitionMarkRGrpChp.get((conservation.getAcquisitionEchantillon().equals("1") ? 0 : 1)).setValue(true);
634
			echantillonAcquisitionMarkRGrpChp.get((conservation.getAcquisitionEchantillon().equals("1") ? 0 : 1)).setValue(true);
620
			
635
			
621
			// ACQUISITION TRAITEMENT
636
			// ACQUISITION TRAITEMENT
622
			traitementAcquisitionMarkRGrpChp.get((conservation.getAcquisitionTraitement().equals("1") ? 0 : 1)).setValue(true);
637
			traitementAcquisitionMarkRGrpChp.get((conservation.getAcquisitionTraitement().equals("1") ? 0 : 1)).setValue(true);
623
			
638
			
624
			// ACQUISITION TRAITEMENT POISON
639
			// ACQUISITION TRAITEMENT POISON
625
			peuplerCasesACocher(conservation.getAcquisitionTraitementPoison(), poisonTraitementTrukCacGrpChp, poisonTraitementAutreChp);
640
			peuplerCasesACocher(conservation.getAcquisitionTraitementPoison(), poisonTraitementTrukCacGrpChp, poisonTraitementAutreChp);
626
			// ACQUISITION TRAITEMENT INSECTE
641
			// ACQUISITION TRAITEMENT INSECTE
627
			peuplerCasesACocher(conservation.getAcquisitionTraitementInsecte(), insecteTraitementTrukCacGrpChp, insecteTraitementAutreChp);
642
			peuplerCasesACocher(conservation.getAcquisitionTraitementInsecte(), insecteTraitementTrukCacGrpChp, insecteTraitementAutreChp);
628
			
643
			
629
			// Indique que l'onglet a été rempli et a pu être modifié pour la méthode collecter...
644
			// Indique que l'onglet a été rempli et a pu être modifié pour la méthode collecter...
630
			conservationOnglet.setData("acces", true);
645
			conservationOnglet.setData("acces", true);
631
		}
646
		}
632
	}
647
	}
633
	
648
	
634
	private Structure collecterStructureIdentification() {
649
	private Structure collecterStructureIdentification() {
-
 
650
		Structure structureARetourner = null;
635
		if (identificationOnglet.getData("acces").equals(false)) {
651
		if (identificationOnglet.getData("acces").equals(true)) {
636
			return identification;
-
 
637
		} else {
652
			
638
			Structure structure = new Structure();
653
			Structure structureCollectee = (Structure) identification.cloner(new Structure());
-
 
654
			
639
			structure.setId(idStructureChp.getValue());
655
			structureCollectee.setId(idStructureChp.getValue());
640
			structure.setNom(nomStructureChp.getValue());
656
			structureCollectee.setNom(nomStructureChp.getValue());
641
			// Récupération de l'identifiant du projet
657
			// Récupération de l'identifiant du projet
642
			if (projetsCombo.getValue() != null) {
658
			if (projetsCombo.getValue() != null) {
643
				structure.setIdProjet(projetsCombo.getValue().getId());
659
				structureCollectee.setIdProjet(projetsCombo.getValue().getId());
644
			}
660
			}
645
			// Récupération de l'acronyme (= identifiant alternatif)
661
			// Récupération de l'acronyme (= identifiant alternatif)
646
			structure.setIdAlternatif(null);
662
			structureCollectee.setIdAlternatif(null);
647
			if (comboAcronyme.getValue() != null) {
663
			if (comboAcronyme.getValue() != null) {
648
				String typeAcronyme = comboAcronyme.getValue().getAbr();
664
				String typeAcronyme = comboAcronyme.getValue().getAbr();
649
				if (typeAcronyme == "IH") {
665
				if (typeAcronyme == "IH") {
650
					structure.setIdAlternatif(typeAcronyme+"##"+ihChp.getValue());
666
					structureCollectee.setIdAlternatif(typeAcronyme+"##"+ihChp.getValue());
651
				} else if (typeAcronyme == "MNHN") {
667
				} else if (typeAcronyme == "MNHN") {
652
					structure.setIdAlternatif(typeAcronyme+"##"+mnhnChp.getValue());
668
					structureCollectee.setIdAlternatif(typeAcronyme+"##"+mnhnChp.getValue());
653
				}
669
				}
654
			}
670
			}
655
			// Récupération statut de la structure
671
			// Récupération statut de la structure
656
			structure.setTypePublic(null);
672
			structureCollectee.setTypePublic(null);
657
			structure.setTypePrive(null);
673
			structureCollectee.setTypePrive(null);
658
			if (comboTypeStructure.getValue() != null) {
674
			if (comboTypeStructure.getValue() != null) {
659
				String typeStructure = comboTypeStructure.getValue().getAbr();
675
				String typeStructure = comboTypeStructure.getValue().getAbr();
660
				if (typeStructure == "stpu" && comboLstpu.getValue() != null) {
676
				if (typeStructure == "stpu" && comboLstpu.getValue() != null) {
661
					structure.setTypePublic(comboLstpu.getValue().getId());
677
					structureCollectee.setTypePublic(comboLstpu.getValue().getId());
662
				} else if (typeStructure == "stpr" && comboLstpr.getValue() != null) {
678
				} else if (typeStructure == "stpr" && comboLstpr.getValue() != null) {
663
					structure.setTypePrive(comboLstpr.getValue().getId());
679
					structureCollectee.setTypePrive(comboLstpr.getValue().getId());
664
				}
680
				}
665
			}
681
			}
666
			structure.setDateFondation(dateFondationChp.getValue());
682
			structureCollectee.setDateFondation(dateFondationChp.getValue());
667
			
683
			
668
			structure.setAdresse(adrChp.getValue());
684
			structureCollectee.setAdresse(adrChp.getValue());
669
			structure.setCodePostal(cpChp.getValue());
685
			structureCollectee.setCodePostal(cpChp.getValue());
670
			structure.setVille(villeChp.getValue());
686
			structureCollectee.setVille(villeChp.getValue());
671
			structure.setRegion(regionChp.getValue());
687
			structureCollectee.setRegion(regionChp.getValue());
672
			structure.setPays(null);
688
			structureCollectee.setPays(null);
673
			if (comboPays.getValue() != null) {
689
			if (comboPays.getValue() != null) {
674
				structure.setPays(comboPays.getValue().getAbreviation());
690
				structureCollectee.setPays(comboPays.getValue().getAbreviation());
675
			} else if (comboPays.getRawValue() != "") {
691
			} else if (comboPays.getRawValue() != "") {
676
				structure.setPays(comboPays.getRawValue());
692
				structureCollectee.setPays(comboPays.getRawValue());
677
			}
693
			}
678
			
694
			
679
			structure.setTelephone(telChp.getValue());
695
			structureCollectee.setTelephone(telChp.getValue());
680
			structure.setFax(faxChp.getValue());
696
			structureCollectee.setFax(faxChp.getValue());
681
			structure.setCourriel(emailChp.getValue());
697
			structureCollectee.setCourriel(emailChp.getValue());
682
			structure.setUrl(Structure.URL_SITE, urlChp.getValue());
698
			structureCollectee.setUrl(Structure.URL_SITE, urlChp.getValue());
-
 
699
			
-
 
700
			if (nbreTotalPersonneStructureChp.getValue() != null) {
-
 
701
				structureCollectee.setNbrePersonne(nbreTotalPersonneStructureChp.getValue().intValue());
-
 
702
			}
683
			
703
			
684
			if (nbreTotalPersonneStructureChp.getValue() != null) {
-
 
685
				structure.setNbrePersonne(nbreTotalPersonneStructureChp.getValue().intValue());
704
			if (!structureCollectee.comparer(identification)) {
-
 
705
				structureARetourner = identification = structureCollectee;
686
			}
706
			}
687
			
707
			
688
			return structure;
708
		}
689
		}
709
		return structureARetourner;
690
	}
710
	}
691
	
711
	
692
	private void peuplerStructureIdentification() {
712
	private void peuplerStructureIdentification() {
693
		if (mode.equals(MODE_AJOUTER)) {
713
		if (mode.equals(MODE_AJOUTER)) {
694
			// Indique que l'ongleta pu être modifié pour la méthode collecter...
714
			// Indique que l'ongleta pu être modifié pour la méthode collecter...
695
			identificationOnglet.setData("acces", true);
715
			identificationOnglet.setData("acces", true);
-
 
716
			// Initialisation de l'objet Structure
-
 
717
			identification = new Structure();
696
			// Indication du projet sélectionné par défaut
718
			// Indication du projet sélectionné par défaut
697
			String projetCourantId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getProjetId();
719
			String projetCourantId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getProjetId();
698
			if (projetCourantId != null && !projetCourantId.equals("0")) {
720
			if (projetCourantId != null && !projetCourantId.equals("0")) {
699
				projetsCombo.setValue(projetsCombo.getStore().findModel("id_projet", projetCourantId));
721
				projetsCombo.setValue(projetsCombo.getStore().findModel("id_projet", projetCourantId));
700
			}
722
			}
701
		}
723
		}
702
		if (mode.equals(MODE_MODIFIER) && identification != null && identificationOnglet.getData("acces").equals(false)) {
724
		if (mode.equals(MODE_MODIFIER) && identification != null && identificationOnglet.getData("acces").equals(false)) {
703
			idStructureChp.setValue(identification.getId());
725
			idStructureChp.setValue(identification.getId());
704
			nomStructureChp.setValue(identification.getNom());
726
			nomStructureChp.setValue(identification.getNom());
705
			if (!identification.getIdProjet().equals("0")) {
727
			if (!identification.getIdProjet().equals("0")) {
706
				projetsCombo.setValue(projetsCombo.getStore().findModel("id_projet", identification.getIdProjet()));
728
				projetsCombo.setValue(projetsCombo.getStore().findModel("id_projet", identification.getIdProjet()));
707
			}
729
			}
708
			
730
			
709
			if (!identification.getIdAlternatif().isEmpty()) {
731
			if (!identification.getIdAlternatif().isEmpty()) {
710
				String[] acronyme = identification.getIdAlternatif().split("##");
732
				String[] acronyme = identification.getIdAlternatif().split("##");
711
				if (acronyme[0].matches("^IH$")) {
733
				if (acronyme[0].matches("^IH$")) {
712
					comboAcronyme.setValue(InterneValeurListe.getTypeAcronymeIH());
734
					comboAcronyme.setValue(InterneValeurListe.getTypeAcronymeIH());
713
					ihChp.setValue(acronyme[1]);
735
					ihChp.setValue(acronyme[1]);
714
				} else if (acronyme[0].matches("^MNHN$")) {
736
				} else if (acronyme[0].matches("^MNHN$")) {
715
					comboAcronyme.setValue(InterneValeurListe.getTypeAcronymeMNHN());
737
					comboAcronyme.setValue(InterneValeurListe.getTypeAcronymeMNHN());
716
					mnhnChp.setValue(acronyme[1]);
738
					mnhnChp.setValue(acronyme[1]);
717
				}
739
				}
718
			}
740
			}
719
			if (!identification.getTypePrive().isEmpty()) {
741
			if (!identification.getTypePrive().isEmpty()) {
720
				if (identification.getTypePrive().matches("^[0-9]+$")) {
742
				if (identification.getTypePrive().matches("^[0-9]+$")) {
721
					comboTypeStructure.setValue(InterneValeurListe.getTypePrivee());
743
					comboTypeStructure.setValue(InterneValeurListe.getTypePrivee());
722
					comboLstpr.setValue(comboLstpr.getStore().findModel("id_valeur", identification.getTypePrive()));
744
					comboLstpr.setValue(comboLstpr.getStore().findModel("id_valeur", identification.getTypePrive()));
723
				}
745
				}
724
			} else if (!identification.getTypePublic().isEmpty()) {
746
			} else if (!identification.getTypePublic().isEmpty()) {
725
				if (identification.getTypePublic().matches("^[0-9]+$")) {
747
				if (identification.getTypePublic().matches("^[0-9]+$")) {
726
					comboTypeStructure.setValue(InterneValeurListe.getTypePublique());
748
					comboTypeStructure.setValue(InterneValeurListe.getTypePublique());
727
					comboLstpu.setValue(comboLstpu.getStore().findModel("id_valeur", identification.getTypePublic()));
749
					comboLstpu.setValue(comboLstpu.getStore().findModel("id_valeur", identification.getTypePublic()));
728
				}
750
				}
729
			}
751
			}
730
			dateFondationChp.setValue(identification.getDateFondation());
752
			dateFondationChp.setValue(identification.getDateFondation());
731
			
753
			
732
			adrChp.setValue(identification.getAdresse());
754
			adrChp.setValue(identification.getAdresse());
733
			cpChp.setValue(identification.getCodePostal());
755
			cpChp.setValue(identification.getCodePostal());
734
			villeChp.setValue(identification.getVille());
756
			villeChp.setValue(identification.getVille());
735
			regionChp.setValue(identification.getRegion());
757
			regionChp.setValue(identification.getRegion());
736
			if (identification.getPays().matches("^[A-Z]{2}$")) {
758
			if (identification.getPays().matches("^[A-Z]{2}$")) {
737
				comboPays.setValue(comboPays.getStore().findModel("abreviation", identification.getPays()));
759
				comboPays.setValue(comboPays.getStore().findModel("abreviation", identification.getPays()));
738
			} else {
760
			} else {
739
				comboPays.setRawValue(identification.getPays());
761
				comboPays.setRawValue(identification.getPays());
740
			}
762
			}
741
			
763
			
742
			telChp.setValue(identification.getTelephone());
764
			telChp.setValue(identification.getTelephone());
743
			faxChp.setValue(identification.getFax());
765
			faxChp.setValue(identification.getFax());
744
			emailChp.setValue(identification.getCourriel());
766
			emailChp.setValue(identification.getCourriel());
745
			urlChp.setValue(identification.getUrl("WEB"));
767
			urlChp.setValue(identification.getUrl("WEB"));
746
			
768
			
747
			nbreTotalPersonneStructureChp.setValue(identification.getNbrePersonne());
769
			nbreTotalPersonneStructureChp.setValue(identification.getNbrePersonne());
748
			
770
			
749
			// Indique que l'onglet a été rempli et a pu être modifié pour la méthode collecter...
771
			// Indique que l'onglet a été rempli et a pu être modifié pour la méthode collecter...
750
			identificationOnglet.setData("acces", true);
772
			identificationOnglet.setData("acces", true);
751
		}
773
		}
752
	}
774
	}
753
	
775
	
754
	private TabItem creerOngletValorisation() {
776
	private TabItem creerOngletValorisation() {
755
		valorisationOnglet = new TabItem();  
777
		valorisationOnglet = new TabItem();  
756
		valorisationOnglet.setText("Valorisation");
778
		valorisationOnglet.setText("Valorisation");
757
		valorisationOnglet.setScrollMode(Scroll.AUTO);
779
		valorisationOnglet.setScrollMode(Scroll.AUTO);
758
		valorisationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null));
780
		valorisationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null));
759
		valorisationOnglet.setData("acces", false); // Permet de savoir si l'onblet a été accédé par l'utilisateur
781
		valorisationOnglet.setData("acces", false); // Permet de savoir si l'onblet a été accédé par l'utilisateur
760
		valorisationOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {
782
		valorisationOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {
761
			public void handleEvent(ComponentEvent be) {
783
			public void handleEvent(ComponentEvent be) {
762
				peuplerStructureValorisation();
784
				peuplerStructureValorisation();
763
			}
785
			}
764
		});
786
		});
765
		
787
		
766
		actionMarkRGrpChp = creerChoixUniqueRadioGroupe("action_mark", "ouiNon");
788
		actionMarkRGrpChp = creerChoixUniqueRadioGroupe("action_mark", "ouiNon");
767
		actionMarkRGrpChp.setFieldLabel("Avez-vous réalisé des actions de valorisation de vos collections botaniques ou avez-vous été sollicités pour la valorisation de ces collections ?");
789
		actionMarkRGrpChp.setFieldLabel("Avez-vous réalisé des actions de valorisation de vos collections botaniques ou avez-vous été sollicités pour la valorisation de ces collections ?");
768
		valorisationOnglet.add(actionMarkRGrpChp);
790
		valorisationOnglet.add(actionMarkRGrpChp);
769
		
791
		
770
		
792
		
771
		actionTrukCp = creerChoixMultipleCp("actionValorisation");
793
		actionTrukCp = creerChoixMultipleCp("actionValorisation");
772
		actionTrukCp.hide();
794
		actionTrukCp.hide();
773
		actionTrukCacGrpChp = new CheckBoxGroup();
795
		actionTrukCacGrpChp = new CheckBoxGroup();
774
		actionTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
796
		actionTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
775
		valorisationOnglet.add(actionTrukCp);
797
		valorisationOnglet.add(actionTrukCp);
776
		
798
		
777
		publicationChp = new TextArea();
799
		publicationChp = new TextArea();
778
		publicationChp.setFieldLabel("Quelques titres des ouvrages, articles scientifiques, ...");
800
		publicationChp.setFieldLabel("Quelques titres des ouvrages, articles scientifiques, ...");
779
		valorisationOnglet.add(publicationChp, new FormData(550, 0));
801
		valorisationOnglet.add(publicationChp, new FormData(550, 0));
780
		
802
		
781
		autreCollectionTrukCp = creerChoixMultipleCp("autreCollection");
803
		autreCollectionTrukCp = creerChoixMultipleCp("autreCollection");
782
		autreCollectionTrukCacGrpChp = new CheckBoxGroup();
804
		autreCollectionTrukCacGrpChp = new CheckBoxGroup();
783
		autreCollectionTrukCacGrpChp.setFieldLabel("L'organisme dispose-t-il d'autres collections (permettant une valorisation pluridisciplinaire) ?");
805
		autreCollectionTrukCacGrpChp.setFieldLabel("L'organisme dispose-t-il d'autres collections (permettant une valorisation pluridisciplinaire) ?");
784
		valorisationOnglet.add(autreCollectionTrukCp);
806
		valorisationOnglet.add(autreCollectionTrukCp);
785
		
807
		
786
		futureActionMarkRGrpChp = creerChoixUniqueRadioGroupe("future_action_mark", "ouiNon");
808
		futureActionMarkRGrpChp = creerChoixUniqueRadioGroupe("future_action_mark", "ouiNon");
787
		futureActionMarkRGrpChp.setFieldLabel("Envisagez vous des actions de valorisation dans le cadre de votre politique culturelle ?");
809
		futureActionMarkRGrpChp.setFieldLabel("Envisagez vous des actions de valorisation dans le cadre de votre politique culturelle ?");
788
		valorisationOnglet.add(futureActionMarkRGrpChp);
810
		valorisationOnglet.add(futureActionMarkRGrpChp);
789
		
811
		
790
		futureActionChp = new TextArea();
812
		futureActionChp = new TextArea();
791
		futureActionChp.setFieldLabel("Si oui, lesquelles ?");
813
		futureActionChp.setFieldLabel("Si oui, lesquelles ?");
792
		futureActionChp.hide();
814
		futureActionChp.hide();
-
 
815
		futureActionChp.addListener(Events.Hide, new Listener<BaseEvent>() {
-
 
816
 
-
 
817
			public void handleEvent(BaseEvent be) {
-
 
818
				((TextArea) be.source).setValue("");
-
 
819
			}
-
 
820
			
-
 
821
		});
793
		valorisationOnglet.add(futureActionChp, new FormData(550, 0));
822
		valorisationOnglet.add(futureActionChp, new FormData(550, 0));
794
		
823
		
795
		rechercheMarkRGrpChp = creerChoixUniqueRadioGroupe("recherche_mark", "ouiNon");
824
		rechercheMarkRGrpChp = creerChoixUniqueRadioGroupe("recherche_mark", "ouiNon");
796
		rechercheMarkRGrpChp.setFieldLabel("Vos collections botaniques sont-elles utilisées pour des recherches scientifiques ?");
825
		rechercheMarkRGrpChp.setFieldLabel("Vos collections botaniques sont-elles utilisées pour des recherches scientifiques ?");
797
		valorisationOnglet.add(rechercheMarkRGrpChp);
826
		valorisationOnglet.add(rechercheMarkRGrpChp);
798
		
827
		
799
		provenanceRechercheTrukCp = creerChoixMultipleCp("continentEtFr");
828
		provenanceRechercheTrukCp = creerChoixMultipleCp("continentEtFr");
800
		provenanceRechercheTrukCp.hide();
829
		provenanceRechercheTrukCp.hide();
801
		provenanceRechercheTrukCacGrpChp = new CheckBoxGroup();
830
		provenanceRechercheTrukCacGrpChp = new CheckBoxGroup();
802
		provenanceRechercheTrukCacGrpChp.setFieldLabel("Si oui, par des chercheurs (professionnels ou amateurs) de quelle provenance ?");
831
		provenanceRechercheTrukCacGrpChp.setFieldLabel("Si oui, par des chercheurs (professionnels ou amateurs) de quelle provenance ?");
803
		valorisationOnglet.add(provenanceRechercheTrukCp);
832
		valorisationOnglet.add(provenanceRechercheTrukCp);
804
		
833
		
805
		typeRechercheTrukCp = creerChoixMultipleCp("typeRecherche");
834
		typeRechercheTrukCp = creerChoixMultipleCp("typeRecherche");
806
		typeRechercheTrukCp.hide();
835
		typeRechercheTrukCp.hide();
807
		typeRechercheTrukCacGrpChp = new CheckBoxGroup();
836
		typeRechercheTrukCacGrpChp = new CheckBoxGroup();
808
		typeRechercheTrukCacGrpChp.setFieldLabel("Et pour quelles recherches ?");
837
		typeRechercheTrukCacGrpChp.setFieldLabel("Et pour quelles recherches ?");
809
		valorisationOnglet.add(typeRechercheTrukCp);
838
		valorisationOnglet.add(typeRechercheTrukCp);
810
		
839
		
811
		sansMotifAccesMarkRGrpChp = creerChoixUniqueRadioGroupe("sans_motif_acces_mark", "ouiNon");
840
		sansMotifAccesMarkRGrpChp = creerChoixUniqueRadioGroupe("sans_motif_acces_mark", "ouiNon");
812
		sansMotifAccesMarkRGrpChp.setFieldLabel("Peut-on consulter vos collections botaniques sans motif de recherches scientifiques ?");
841
		sansMotifAccesMarkRGrpChp.setFieldLabel("Peut-on consulter vos collections botaniques sans motif de recherches scientifiques ?");
813
		valorisationOnglet.add(sansMotifAccesMarkRGrpChp);
842
		valorisationOnglet.add(sansMotifAccesMarkRGrpChp);
814
		
843
		
815
		valorisationOnglet.add(sansMotifAccesChp = new TextArea(), new FormData(550, 0));
844
		valorisationOnglet.add(sansMotifAccesChp = new TextArea(), new FormData(550, 0));
816
		sansMotifAccesChp.hide();
845
		sansMotifAccesChp.hide();
-
 
846
		sansMotifAccesChp.addListener(Events.Hide, new Listener<BaseEvent>() {
-
 
847
 
-
 
848
			public void handleEvent(BaseEvent be) {
-
 
849
				((TextArea) be.source).setValue("");
-
 
850
			}
-
 
851
			
-
 
852
		});
817
		sansMotifAccesChp.setFieldLabel("Si oui, quelles démarches doit-on faire pour les consulter ?");
853
		sansMotifAccesChp.setFieldLabel("Si oui, quelles démarches doit-on faire pour les consulter ?");
818
		
854
		
819
		avecMotifAccesMarkRGrpChp = creerChoixUniqueRadioGroupe("avec_motif_acces_mark", "ouiNon");
855
		avecMotifAccesMarkRGrpChp = creerChoixUniqueRadioGroupe("avec_motif_acces_mark", "ouiNon");
820
		avecMotifAccesMarkRGrpChp.setFieldLabel("Peut-on visiter vos collections botaniques avec des objectifs de recherches scientifiques ?");
856
		avecMotifAccesMarkRGrpChp.setFieldLabel("Peut-on visiter vos collections botaniques avec des objectifs de recherches scientifiques ?");
821
		valorisationOnglet.add(avecMotifAccesMarkRGrpChp);
857
		valorisationOnglet.add(avecMotifAccesMarkRGrpChp);
822
		
858
		
823
		valorisationOnglet.add(avecMotifAccesChp = new TextArea(), new FormData(550, 0));
859
		valorisationOnglet.add(avecMotifAccesChp = new TextArea(), new FormData(550, 0));
824
		avecMotifAccesChp.hide();
860
		avecMotifAccesChp.hide();
-
 
861
		avecMotifAccesChp.addListener(Events.Hide, new Listener<BaseEvent>() {
-
 
862
 
-
 
863
			public void handleEvent(BaseEvent be) {
-
 
864
				((TextArea) be.source).setValue("");
-
 
865
			}
-
 
866
			
-
 
867
		});
825
		avecMotifAccesChp.setFieldLabel("Si oui, quelles démarches doit-on faire pour les visiter ?");
868
		avecMotifAccesChp.setFieldLabel("Si oui, quelles démarches doit-on faire pour les visiter ?");
826
		
869
		
827
		return valorisationOnglet;
870
		return valorisationOnglet;
828
	}
871
	}
829
	
872
	
830
	private TabItem creerOngletConservation() {
873
	private TabItem creerOngletConservation() {
831
		conservationOnglet = new TabItem();
874
		conservationOnglet = new TabItem();
832
		conservationOnglet.setText("Conservation");
875
		conservationOnglet.setText("Conservation");
833
		conservationOnglet.setScrollMode(Scroll.AUTO);
876
		conservationOnglet.setScrollMode(Scroll.AUTO);
834
		conservationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null));
877
		conservationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null));
835
		conservationOnglet.setData("acces", false);
878
		conservationOnglet.setData("acces", false);
836
		conservationOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {  
879
		conservationOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {  
837
			public void handleEvent(ComponentEvent be) {
880
			public void handleEvent(ComponentEvent be) {
838
				peuplerStructureConservation();
881
				peuplerStructureConservation();
839
				conservationOnglet.layout();
882
				conservationOnglet.layout();
840
			}  
883
			}  
841
		});  
884
		});  
842
		
885
		
843
		formationMarkRGrpChp = creerChoixUniqueRadioGroupe("formation_mark", "ouiNon");
886
		formationMarkRGrpChp = creerChoixUniqueRadioGroupe("formation_mark", "ouiNon");
844
		formationMarkRGrpChp.setFieldLabel("Le personnel s'occupant des collections a-t-il suivi des formations en conservations ?");
887
		formationMarkRGrpChp.setFieldLabel("Le personnel s'occupant des collections a-t-il suivi des formations en conservations ?");
845
		conservationOnglet.add(formationMarkRGrpChp);
888
		conservationOnglet.add(formationMarkRGrpChp);
846
		
889
		
847
		formationChp = new TextField<String>();
890
		formationChp = new TextField<String>();
848
		formationChp.hide();
891
		formationChp.hide();
-
 
892
		formationChp.addListener(Events.Hide, new Listener<BaseEvent>() {
-
 
893
 
-
 
894
			public void handleEvent(BaseEvent be) {
-
 
895
				((TextField<String>) be.source).setValue("");
-
 
896
			}
-
 
897
			
-
 
898
		});
849
		formationChp.setFieldLabel("Si oui, lesquelles ?");
899
		formationChp.setFieldLabel("Si oui, lesquelles ?");
850
		conservationOnglet.add(formationChp);
900
		conservationOnglet.add(formationChp);
851
		
901
		
852
		interetFormationMarkRGrpChp = creerChoixUniqueRadioGroupe("interet_formation_mark", "ouiNon");
902
		interetFormationMarkRGrpChp = creerChoixUniqueRadioGroupe("interet_formation_mark", "ouiNon");
853
		interetFormationMarkRGrpChp.setFieldLabel("Seriez vous intéressé par une formation à la conservation et à la restauration d'herbier ?");
903
		interetFormationMarkRGrpChp.setFieldLabel("Seriez vous intéressé par une formation à la conservation et à la restauration d'herbier ?");
854
		conservationOnglet.add(interetFormationMarkRGrpChp);
904
		conservationOnglet.add(interetFormationMarkRGrpChp);
855
		
905
		
856
		localStockageTrukCp = creerChoixMultipleCp("localStockage");
906
		localStockageTrukCp = creerChoixMultipleCp("localStockage");
857
		localStockageTrukCacGrpChp = new CheckBoxGroup();
907
		localStockageTrukCacGrpChp = new CheckBoxGroup();
858
		localStockageTrukCacGrpChp.setFieldLabel("Avez vous des locaux spécifiques de stockage des collections botaniques ?");
908
		localStockageTrukCacGrpChp.setFieldLabel("Avez vous des locaux spécifiques de stockage des collections botaniques ?");
859
		conservationOnglet.add(localStockageTrukCp);
909
		conservationOnglet.add(localStockageTrukCp);
860
		
910
		
861
		meubleStockageTrukCp = creerChoixMultipleCp("meubleStockage");
911
		meubleStockageTrukCp = creerChoixMultipleCp("meubleStockage");
862
		meubleStockageTrukCacGrpChp = new CheckBoxGroup();
912
		meubleStockageTrukCacGrpChp = new CheckBoxGroup();
863
		meubleStockageTrukCacGrpChp.setFieldLabel("Avez vous des meubles spécifiques au stockage des collections botaniques ?");
913
		meubleStockageTrukCacGrpChp.setFieldLabel("Avez vous des meubles spécifiques au stockage des collections botaniques ?");
864
		conservationOnglet.add(meubleStockageTrukCp);
914
		conservationOnglet.add(meubleStockageTrukCp);
865
		
915
		
866
		parametreStockageTrukCp = creerChoixMultipleCp("parametreStockage");
916
		parametreStockageTrukCp = creerChoixMultipleCp("parametreStockage");
867
		parametreStockageTrukCacGrpChp = new CheckBoxGroup();
917
		parametreStockageTrukCacGrpChp = new CheckBoxGroup();
868
		parametreStockageTrukCacGrpChp.setFieldLabel("Quels paramètres maîtrisez vous ?");
918
		parametreStockageTrukCacGrpChp.setFieldLabel("Quels paramètres maîtrisez vous ?");
869
		conservationOnglet.add(parametreStockageTrukCp);
919
		conservationOnglet.add(parametreStockageTrukCp);
870
		
920
		
871
		collectionCommuneMarkRGrpChp = creerChoixUniqueRadioGroupe("collection_commune_mark", "ouiNon");
921
		collectionCommuneMarkRGrpChp = creerChoixUniqueRadioGroupe("collection_commune_mark", "ouiNon");
872
		collectionCommuneMarkRGrpChp.setFieldLabel("Les collections botaniques sont-elles conservées avec d'autres collections  dans les mêmes locaux (problème de conservation en commun) ?");
922
		collectionCommuneMarkRGrpChp.setFieldLabel("Les collections botaniques sont-elles conservées avec d'autres collections  dans les mêmes locaux (problème de conservation en commun) ?");
873
		conservationOnglet.add(collectionCommuneMarkRGrpChp);
923
		conservationOnglet.add(collectionCommuneMarkRGrpChp);
874
		
924
		
875
		collectionAutreTrukCp = creerChoixMultipleCp("autreCollection");
925
		collectionAutreTrukCp = creerChoixMultipleCp("autreCollection");
876
		collectionAutreTrukCacGrpChp = new CheckBoxGroup();
926
		collectionAutreTrukCacGrpChp = new CheckBoxGroup();
877
		collectionAutreTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
927
		collectionAutreTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
878
		collectionAutreTrukCp.hide();
928
		collectionAutreTrukCp.hide();
879
		conservationOnglet.add(collectionAutreTrukCp);
929
		conservationOnglet.add(collectionAutreTrukCp);
880
		
930
		
881
		accesControleMarkRGrpChp = creerChoixUniqueRadioGroupe("mark_acces_controle", "ouiNon");
931
		accesControleMarkRGrpChp = creerChoixUniqueRadioGroupe("mark_acces_controle", "ouiNon");
882
		accesControleMarkRGrpChp.setFieldLabel("L'accès à vos collections botanique est-il contrôlé (ex. : manipulation réservées à des personnes compétentes) ?");
932
		accesControleMarkRGrpChp.setFieldLabel("L'accès à vos collections botanique est-il contrôlé (ex. : manipulation réservées à des personnes compétentes) ?");
883
		conservationOnglet.add(accesControleMarkRGrpChp);
933
		conservationOnglet.add(accesControleMarkRGrpChp);
884
		
934
		
885
		restaurationMarkRGrpChp = creerChoixUniqueRadioGroupe("restauration_mark", "ouiNon");
935
		restaurationMarkRGrpChp = creerChoixUniqueRadioGroupe("restauration_mark", "ouiNon");
886
		restaurationMarkRGrpChp.setFieldLabel("Effectuez vous des opérations de restauration ou de remise en état de vos collections botaniques ?");
936
		restaurationMarkRGrpChp.setFieldLabel("Effectuez vous des opérations de restauration ou de remise en état de vos collections botaniques ?");
887
		conservationOnglet.add(restaurationMarkRGrpChp);
937
		conservationOnglet.add(restaurationMarkRGrpChp);
888
		
938
		
889
		opRestauTrukCp = creerChoixMultipleCp("opRestau");
939
		opRestauTrukCp = creerChoixMultipleCp("opRestau");
890
		opRestauTrukCacGrpChp = new CheckBoxGroup();
940
		opRestauTrukCacGrpChp = new CheckBoxGroup();
891
		opRestauTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
941
		opRestauTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
892
		opRestauTrukCp.hide();
942
		opRestauTrukCp.hide();
893
		conservationOnglet.add(opRestauTrukCp);
943
		conservationOnglet.add(opRestauTrukCp);
894
		
944
		
895
		// Création d'un ContentPanel vide et du groupe de bouton radio
945
		// Création d'un ContentPanel vide et du groupe de bouton radio
896
		// Le groupe de bouton radio recevra les boutons au moment de la réception des données (rafraichir()) et ser à ce moment là ajouter au ContenetPanel
946
		// Le groupe de bouton radio recevra les boutons au moment de la réception des données (rafraichir()) et ser à ce moment là ajouter au ContenetPanel
897
		materielConservationCp = creerChoixMultipleCp("onep");
947
		materielConservationCp = creerChoixMultipleCp("onep");
898
		conservationOnglet.add(materielConservationCp);
948
		conservationOnglet.add(materielConservationCp);
899
		materielConservationCeRGrpChp = creerChoixUniqueRadioGroupe("materiel_conservation_ce", "onep");
949
		materielConservationCeRGrpChp = creerChoixUniqueRadioGroupe("materiel_conservation_ce", "onep");
900
		materielConservationCeRGrpChp.setFieldLabel("Utilisez vous du matériel de conservation ?");
950
		materielConservationCeRGrpChp.setFieldLabel("Utilisez vous du matériel de conservation ?");
901
		materielConservationCeRGrpChp.setToolTip(new ToolTipConfig("Matériel de conservation", "matériel spécialisé pour la conservation des archives ou du patrimoine fragile. Ce matériel possède des propriétés mécaniques et chimiques qui font qu'il résiste dans le temps et que sa dégradation n'entraîne pas de dommages sur le matériel qu'il aide à conserver. Exemples : papier neutre, papier gommé, etc..."));
951
		materielConservationCeRGrpChp.setToolTip(new ToolTipConfig("Matériel de conservation", "matériel spécialisé pour la conservation des archives ou du patrimoine fragile. Ce matériel possède des propriétés mécaniques et chimiques qui font qu'il résiste dans le temps et que sa dégradation n'entraîne pas de dommages sur le matériel qu'il aide à conserver. Exemples : papier neutre, papier gommé, etc..."));
902
		
952
		
903
		autreMaterielTrukCp = creerChoixMultipleCp("autreMateriel");
953
		autreMaterielTrukCp = creerChoixMultipleCp("autreMateriel");
904
		autreMaterielTrukCp.hide();
954
		autreMaterielTrukCp.hide();
905
		autreMaterielTrukCacGrpChp = new CheckBoxGroup();
955
		autreMaterielTrukCacGrpChp = new CheckBoxGroup();
906
		autreMaterielTrukCacGrpChp.setFieldLabel("Si non, qu'utilisez vous comme matériel ?");
956
		autreMaterielTrukCacGrpChp.setFieldLabel("Si non, qu'utilisez vous comme matériel ?");
907
		conservationOnglet.add(autreMaterielTrukCp);
957
		conservationOnglet.add(autreMaterielTrukCp);
908
		
958
		
909
		traitementMarkRGrpChp = creerChoixUniqueRadioGroupe("traitement_mark", "ouiNon");
959
		traitementMarkRGrpChp = creerChoixUniqueRadioGroupe("traitement_mark", "ouiNon");
910
		traitementMarkRGrpChp.setFieldLabel("Réalisez vous actuellement des traitements globaux contre les insectes ?");
960
		traitementMarkRGrpChp.setFieldLabel("Réalisez vous actuellement des traitements globaux contre les insectes ?");
911
		conservationOnglet.add(traitementMarkRGrpChp);
961
		conservationOnglet.add(traitementMarkRGrpChp);
912
		
962
		
913
		traitementTrukCp = creerChoixMultipleCp("insecteTraitement");
963
		traitementTrukCp = creerChoixMultipleCp("insecteTraitement");
914
		traitementTrukCp.hide();
964
		traitementTrukCp.hide();
915
		traitementTrukCacGrpChp = new CheckBoxGroup();
965
		traitementTrukCacGrpChp = new CheckBoxGroup();
916
		traitementTrukCacGrpChp.setFieldLabel("Si oui, lesquels ?");
966
		traitementTrukCacGrpChp.setFieldLabel("Si oui, lesquels ?");
917
		conservationOnglet.add(traitementTrukCp);
967
		conservationOnglet.add(traitementTrukCp);
918
		
968
		
919
		collectionAcquisitionMarkRGrpChp = creerChoixUniqueRadioGroupe("collection_acquisition_mark", "ouiNon");
969
		collectionAcquisitionMarkRGrpChp = creerChoixUniqueRadioGroupe("collection_acquisition_mark", "ouiNon");
920
		collectionAcquisitionMarkRGrpChp.setFieldLabel("Actuellement, vos collections botaniques s'accroissent-elles de nouvelles acquisitions ?");
970
		collectionAcquisitionMarkRGrpChp.setFieldLabel("Actuellement, vos collections botaniques s'accroissent-elles de nouvelles acquisitions ?");
921
		conservationOnglet.add(collectionAcquisitionMarkRGrpChp);
971
		conservationOnglet.add(collectionAcquisitionMarkRGrpChp);
922
		
972
		
923
		echantillonAcquisitionMarkRGrpChp = creerChoixUniqueRadioGroupe("echantillon_acquisition_mark", "ouiNon");
973
		echantillonAcquisitionMarkRGrpChp = creerChoixUniqueRadioGroupe("echantillon_acquisition_mark", "ouiNon");
924
		echantillonAcquisitionMarkRGrpChp.setFieldLabel("Actuellement, mettez vous en herbier de nouveaux échantillons ?");
974
		echantillonAcquisitionMarkRGrpChp.setFieldLabel("Actuellement, mettez vous en herbier de nouveaux échantillons ?");
925
		conservationOnglet.add(echantillonAcquisitionMarkRGrpChp);
975
		conservationOnglet.add(echantillonAcquisitionMarkRGrpChp);
926
 
976
 
927
		traitementAcquisitionMarkRGrpChp = creerChoixUniqueRadioGroupe("traitement_acquisition_mark", "ouiNon");
977
		traitementAcquisitionMarkRGrpChp = creerChoixUniqueRadioGroupe("traitement_acquisition_mark", "ouiNon");
928
		traitementAcquisitionMarkRGrpChp.hide();
978
		traitementAcquisitionMarkRGrpChp.hide();
929
		traitementAcquisitionMarkRGrpChp.setFieldLabel("Si oui, faites-vous un traitement contre les insectes avant l'intégration dans vos collections ?");
979
		traitementAcquisitionMarkRGrpChp.setFieldLabel("Si oui, faites-vous un traitement contre les insectes avant l'intégration dans vos collections ?");
930
		conservationOnglet.add(traitementAcquisitionMarkRGrpChp);
980
		conservationOnglet.add(traitementAcquisitionMarkRGrpChp);
931
		
981
		
932
		traitementAcquisitionMarkLabel = new LabelField();
982
		traitementAcquisitionMarkLabel = new LabelField();
933
		traitementAcquisitionMarkLabel.hide();
983
		traitementAcquisitionMarkLabel.hide();
934
		traitementAcquisitionMarkLabel.setFieldLabel("Si oui, lesquels ?");
984
		traitementAcquisitionMarkLabel.setFieldLabel("Si oui, lesquels ?");
935
		conservationOnglet.add(traitementAcquisitionMarkLabel);
985
		conservationOnglet.add(traitementAcquisitionMarkLabel);
936
		
986
		
937
		poisonTraitementTrukCp = creerChoixMultipleCp("poisonTraitement");
987
		poisonTraitementTrukCp = creerChoixMultipleCp("poisonTraitement");
938
		poisonTraitementTrukCp.hide();
988
		poisonTraitementTrukCp.hide();
939
		poisonTraitementTrukCacGrpChp = new CheckBoxGroup();
989
		poisonTraitementTrukCacGrpChp = new CheckBoxGroup();
940
		poisonTraitementTrukCacGrpChp.setFieldLabel("Empoisonnement");
990
		poisonTraitementTrukCacGrpChp.setFieldLabel("Empoisonnement");
941
		poisonTraitementTrukCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
991
		poisonTraitementTrukCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
942
		poisonTraitementTrukCacGrpChp.setLabelSeparator("");
992
		poisonTraitementTrukCacGrpChp.setLabelSeparator("");
943
		conservationOnglet.add(poisonTraitementTrukCp);
993
		conservationOnglet.add(poisonTraitementTrukCp);
944
		
994
		
945
		insecteTraitementTrukCp = creerChoixMultipleCp("insecteTraitement");
995
		insecteTraitementTrukCp = creerChoixMultipleCp("insecteTraitement");
946
		insecteTraitementTrukCp.hide();
996
		insecteTraitementTrukCp.hide();
947
		insecteTraitementTrukCacGrpChp = new CheckBoxGroup();
997
		insecteTraitementTrukCacGrpChp = new CheckBoxGroup();
948
		insecteTraitementTrukCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
998
		insecteTraitementTrukCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
949
		insecteTraitementTrukCacGrpChp.setLabelSeparator("");
999
		insecteTraitementTrukCacGrpChp.setLabelSeparator("");
950
		insecteTraitementTrukCacGrpChp.setFieldLabel("Désinsectisation");
1000
		insecteTraitementTrukCacGrpChp.setFieldLabel("Désinsectisation");
951
		conservationOnglet.add(insecteTraitementTrukCp);
1001
		conservationOnglet.add(insecteTraitementTrukCp);
952
		
1002
		
953
		return conservationOnglet;
1003
		return conservationOnglet;
954
	}
1004
	}
955
	
1005
	
956
	private void collecterStructurePersonnel() {
1006
	private void collecterStructurePersonnel() {
957
		if (personnelOnglet.getData("acces").equals(true)) {
1007
		if (personnelOnglet.getData("acces").equals(true)) {
958
			int nbrePersonne = personnelGrilleMagazin.getCount();
1008
			int nbrePersonne = personnelGrilleMagazin.getCount();
959
			for (int i = 0; i < nbrePersonne; i++) {
1009
			for (int i = 0; i < nbrePersonne; i++) {
960
				StructureAPersonne personne = personnelGrilleMagazin.getAt(i);
1010
				StructureAPersonne personne = personnelGrilleMagazin.getAt(i);
961
				
1011
				
962
				// Seules les lignes ajoutées ou modifiées sont prises en compte.
1012
				// Seules les lignes ajoutées ou modifiées sont prises en compte.
963
				if (personnelGrilleMagazin.getModifiedRecords().contains(personnelGrilleMagazin.getRecord(personne)) == true) {
1013
				if (personnelGrilleMagazin.getModifiedRecords().contains(personnelGrilleMagazin.getRecord(personne)) == true) {
964
					
1014
					
965
					// Gestion de l'id de la structure
1015
					// Gestion de l'id de la structure
966
					if (mode.equals("MODIF")) {
1016
					if (mode.equals("MODIF")) {
967
						personne.setIdStructure(identification.getId());
1017
						personne.setIdStructure(identification.getId());
968
					}
1018
					}
969
										
1019
										
970
					// Gestion de la fonction
1020
					// Gestion de la fonction
971
					String fonction = personne.get("fonction");
1021
					String fonction = personne.get("fonction");
972
					if (fonction != null && !fonction.equals("")) {
1022
					if (fonction != null && !fonction.equals("")) {
973
						Valeur valeurRecherche = fonctionsCombo.getStore().findModel("nom", fonction);
1023
						Valeur valeurRecherche = fonctionsCombo.getStore().findModel("nom", fonction);
974
						if (valeurRecherche != null) {
1024
						if (valeurRecherche != null) {
975
							personne.setFonction(valeurRecherche.getId());
1025
							personne.setFonction(valeurRecherche.getId());
976
						} else {
1026
						} else {
977
							personne.setFonction("AUTRE", fonction);
1027
							personne.setFonction("AUTRE", fonction);
978
						}
1028
						}
979
					}
1029
					}
980
					
1030
					
981
					// Gestion de la notion de "contact"
1031
					// Gestion de la notion de "contact"
982
					personne.setContact(false);
1032
					personne.setContact(false);
983
					if (personne.get("contact").equals(true)) {
1033
					if (personne.get("contact").equals(true)) {
984
						personne.setContact(true);
1034
						personne.setContact(true);
985
					}
1035
					}
986
					
1036
					
987
					// Gestion du statut
1037
					// Gestion du statut
988
					String statut = personne.get("statut");
1038
					String statut = personne.get("statut");
989
					if (statut != null && !statut.equals("")) {
1039
					if (statut != null && !statut.equals("")) {
990
						Valeur valeurRecherche = comboLiStatut.getStore().findModel("nom", statut);
1040
						Valeur valeurRecherche = comboLiStatut.getStore().findModel("nom", statut);
991
						if (valeurRecherche != null) {
1041
						if (valeurRecherche != null) {
992
							personne.setStatut(valeurRecherche.getId());
1042
							personne.setStatut(valeurRecherche.getId());
993
						} else {
1043
						} else {
994
							personne.setStatut("AUTRE", statut);
1044
							personne.setStatut("AUTRE", statut);
995
						}
1045
						}
996
					}
1046
					}
997
					
1047
					
998
					// Gestion du temps de travail
1048
					// Gestion du temps de travail
999
					if (personne.get("travail") != null && !personne.get("travail").equals(0)) {
1049
					if (personne.get("travail") != null && !personne.get("travail").equals(0)) {
1000
						personne.setBotaTravailHebdoTps(personne.get("travail").toString());
1050
						personne.setBotaTravailHebdoTps(personne.get("travail").toString());
1001
					}
1051
					}
1002
					
1052
					
1003
					// Gestion du téléphone
1053
					// Gestion du téléphone
1004
					String telephone = personne.get("telephone");
1054
					String telephone = personne.get("telephone");
1005
					if (telephone != null && !telephone.equals("")) {
1055
					if (telephone != null && !telephone.equals("")) {
1006
						personne.setTelephone(telephone);
1056
						personne.setTelephone(telephone);
1007
					}
1057
					}
1008
					
1058
					
1009
					// Gestion du fax
1059
					// Gestion du fax
1010
					String fax = personne.get("fax");
1060
					String fax = personne.get("fax");
1011
					if (fax != null && !fax.equals("")) {
1061
					if (fax != null && !fax.equals("")) {
1012
						personne.setFax(fax);
1062
						personne.setFax(fax);
1013
					}
1063
					}
1014
					
1064
					
1015
					// Gestion du courriel
1065
					// Gestion du courriel
1016
					String courriel = personne.get("courriel");
1066
					String courriel = personne.get("courriel");
1017
					if (courriel != null && !courriel.equals("")) {
1067
					if (courriel != null && !courriel.equals("")) {
1018
						personne.setCourriel(courriel);
1068
						personne.setCourriel(courriel);
1019
					}
1069
					}
1020
					
1070
					
1021
					// Gestion de la sépcialité
1071
					// Gestion de la sépcialité
1022
					String specialite = personne.get("specialite");
1072
					String specialite = personne.get("specialite");
1023
					if (specialite != null && !specialite.equals("")) {
1073
					if (specialite != null && !specialite.equals("")) {
1024
						personne.setSpecialite(specialite);
1074
						personne.setSpecialite(specialite);
1025
					}
1075
					}
1026
					
1076
					
1027
					// Ajout de la personne dans la liste correspondant à son état (ajouté ou modifié)
1077
					// Ajout de la personne dans la liste correspondant à son état (ajouté ou modifié)
1028
					if (personne.get("etat") != null && personne.get("etat").equals("A")) {// Une personne ajoutée
1078
					if (personne.get("etat") != null && personne.get("etat").equals("A")) {// Une personne ajoutée
1029
						personnelAjoute.put(""+i, personne);
1079
						personnelAjoute.put(""+i, personne);
1030
					} else {// Une personne modifiée
1080
					} else {// Une personne modifiée
1031
						personnelModifie.put(personne.getId(), personne);
1081
						personnelModifie.put(personne.getId(), personne);
1032
					}
1082
					}
1033
				} else {
1083
				} else {
1034
					GWT.log("Personne non modifiées : "+personne.getPrenom()+" "+personne.getNom(), null);
1084
					GWT.log("Personne non modifiées : "+personne.getPrenom()+" "+personne.getNom(), null);
1035
				}
1085
				}
1036
			}
1086
			}
1037
		}
1087
		}
1038
	}
1088
	}
1039
	
1089
	
1040
	private void peuplerStructurePersonnel() {
1090
	private void peuplerStructurePersonnel() {
1041
		if (mode.equals(MODE_MODIFIER) && personnel != null) {
1091
		if (mode.equals(MODE_MODIFIER) && personnel != null) {
1042
			ArrayList<StructureAPersonne> personnes = new ArrayList<StructureAPersonne>();
1092
			ArrayList<StructureAPersonne> personnes = new ArrayList<StructureAPersonne>();
1043
			for (Iterator<String> it = personnel.keySet().iterator(); it.hasNext();) {
1093
			for (Iterator<String> it = personnel.keySet().iterator(); it.hasNext();) {
1044
				String index = it.next();
1094
				String index = it.next();
1045
				
1095
				
1046
				// Gestion de la fonction
1096
				// Gestion de la fonction
1047
				if (fonctionsMagazin != null && !((String) personnel.get(index).getFonction()).startsWith("AUTRE##")) {
1097
				if (fonctionsMagazin != null && !((String) personnel.get(index).getFonction()).startsWith("AUTRE##")) {
1048
					GWT.log(personnel.get(index).getFonction(), null);
1098
					GWT.log(personnel.get(index).getFonction(), null);
1049
					if (fonctionsMagazin.findModel("id_valeur", personnel.get(index).getFonction()) != null) {
1099
					if (fonctionsMagazin.findModel("id_valeur", personnel.get(index).getFonction()) != null) {
1050
						personnel.get(index).set("fonction", fonctionsMagazin.findModel("id_valeur", personnel.get(index).getFonction()).getNom());
1100
						personnel.get(index).set("fonction", fonctionsMagazin.findModel("id_valeur", personnel.get(index).getFonction()).getNom());
1051
					}
1101
					}
1052
				} else {
1102
				} else {
1053
					personnel.get(index).set("fonction", personnel.get(index).getFonction().replaceFirst("AUTRE##", ""));
1103
					personnel.get(index).set("fonction", personnel.get(index).getFonction().replaceFirst("AUTRE##", ""));
1054
				}
1104
				}
1055
				
1105
				
1056
				// Gestion de la notion de "contact"
1106
				// Gestion de la notion de "contact"
1057
				personnel.get(index).set("contact", (personnel.get(index).getContact().equals("1") ? true : false));
1107
				personnel.get(index).set("contact", (personnel.get(index).getContact().equals("1") ? true : false));
1058
				
1108
				
1059
				// Gestion du statut
1109
				// Gestion du statut
1060
				if (magazinLiStatut != null && ((String) personnel.get(index).getStatut()).matches("^[0-9]+$")) {
1110
				if (magazinLiStatut != null && ((String) personnel.get(index).getStatut()).matches("^[0-9]+$")) {
1061
					personnel.get(index).set("statut", magazinLiStatut.findModel("id_valeur", personnel.get(index).getStatut()).getNom());
1111
					personnel.get(index).set("statut", magazinLiStatut.findModel("id_valeur", personnel.get(index).getStatut()).getNom());
1062
				} else {
1112
				} else {
1063
					personnel.get(index).set("statut", personnel.get(index).getStatut().replaceFirst("AUTRE##", ""));
1113
					personnel.get(index).set("statut", personnel.get(index).getStatut().replaceFirst("AUTRE##", ""));
1064
				}
1114
				}
1065
				
1115
				
1066
				// Gestion du temps de travail
1116
				// Gestion du temps de travail
1067
				String tps = personnel.get(index).getBotaTravailHebdoTps();
1117
				String tps = personnel.get(index).getBotaTravailHebdoTps();
1068
				personnel.get(index).set("travail", (tps.matches("^[0-9]+$")  ? Integer.parseInt(tps) : 0));
1118
				personnel.get(index).set("travail", (tps.matches("^[0-9]+$")  ? Integer.parseInt(tps) : 0));
1069
				
1119
				
1070
				personnes.add(personnel.get(index));
1120
				personnes.add(personnel.get(index));
1071
			}
1121
			}
1072
			personnelGrilleMagazin.removeAll();
1122
			personnelGrilleMagazin.removeAll();
1073
			personnelGrilleMagazin.add(personnes);
1123
			personnelGrilleMagazin.add(personnes);
1074
			
1124
			
1075
			// Nous vidons la variable personnel une fois qu'elle a remplie la grille
1125
			// Nous vidons la variable personnel une fois qu'elle a remplie la grille
1076
			personnel = null;
1126
			personnel = null;
1077
		}
1127
		}
1078
	}
1128
	}
1079
	
1129
	
1080
	private TabItem creerOngletPersonnel() {
1130
	private TabItem creerOngletPersonnel() {
-
 
1131
		// Création des objets contenant les manipulations de la grille
-
 
1132
		personnelModifie = new StructureAPersonneListe();
-
 
1133
		personnelAjoute = new StructureAPersonneListe();
-
 
1134
		personnelSupprime = new StructureAPersonneListe();
-
 
1135
		
1081
		personnelOnglet = new TabItem();
1136
		personnelOnglet = new TabItem();
1082
		personnelOnglet.setText("Personnel");
1137
		personnelOnglet.setText("Personnel");
1083
		personnelOnglet.setScrollMode(Scroll.AUTO);
1138
		personnelOnglet.setScrollMode(Scroll.AUTO);
1084
		personnelOnglet.setLayout(creerFormLayout(400, LabelAlign.LEFT, 0));
1139
		personnelOnglet.setLayout(creerFormLayout(400, LabelAlign.LEFT, 0));
1085
		personnelOnglet.setData("acces", false); // Permet de savoir si l'onblet a été accédé par l'utilisateur
1140
		personnelOnglet.setData("acces", false); // Permet de savoir si l'onblet a été accédé par l'utilisateur
1086
		personnelOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {
1141
		personnelOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {
1087
			public void handleEvent(ComponentEvent be) {
1142
			public void handleEvent(ComponentEvent be) {
1088
				// Indique que l'onglet a été rempli et a pu être modifié pour la méthode collecter...
1143
				// Indique que l'onglet a été rempli et a pu être modifié pour la méthode collecter...
1089
				personnelOnglet.setData("acces", true);
1144
				personnelOnglet.setData("acces", true);
-
 
1145
 
-
 
1146
				// Rafraichissement du contenu de la grille du personnel$
-
 
1147
				rafraichirPersonnel();
1090
				
1148
				
1091
				// Peuplement du formulaire
1149
				// Peuplement du formulaire
1092
				peuplerStructurePersonnel();
1150
				peuplerStructurePersonnel();
1093
				
1151
				
1094
				personnelOnglet.layout();
1152
				personnelOnglet.layout();
1095
			}
1153
			}
1096
 
1154
 
1097
		});
1155
		});
1098
		
1156
		
1099
		ContentPanel cp = new ContentPanel();
1157
		ContentPanel cp = new ContentPanel();
1100
		cp.setHeading("Personnes travaillant sur les collections");
1158
		cp.setHeading("Personnes travaillant sur les collections");
1101
		cp.setIconStyle("icone-table");
1159
		cp.setIconStyle("icone-table");
1102
		//cp.setScrollMode(Scroll.AUTO);
1160
		//cp.setScrollMode(Scroll.AUTO);
1103
		cp.setLayout(new FitLayout());
1161
		cp.setLayout(new FitLayout());
1104
		cp.setWidth(1250);
1162
		cp.setWidth(1250);
1105
		cp.setHeight("100%");
1163
		cp.setHeight("100%");
1106
		cp.setFrame(true);
1164
		cp.setFrame(true);
1107
		
1165
		
1108
		personnelGrilleMagazin = new ListStore<StructureAPersonne>();
1166
		personnelGrilleMagazin = new ListStore<StructureAPersonne>();
1109
		personnelGrilleMagazin.addListener(Store.Add, new Listener<StoreEvent<StructureAPersonne>>() {
1167
		personnelGrilleMagazin.addListener(Store.Add, new Listener<StoreEvent<StructureAPersonne>>() {
1110
 
1168
 
1111
			public void handleEvent(StoreEvent<StructureAPersonne> ce) {
1169
			public void handleEvent(StoreEvent<StructureAPersonne> ce) {
1112
				// Activation du bouton supprimer si la grille contient un élément
1170
				// Activation du bouton supprimer si la grille contient un élément
1113
				if (grillePersonnel.getStore().getCount() > 0) {  
1171
				if (grillePersonnel.getStore().getCount() > 0) {  
1114
					supprimerPersonnelBtn.enable();
1172
					supprimerPersonnelBtn.enable();
1115
				}
1173
				}
1116
				
1174
				
1117
			}
1175
			}
1118
		});
1176
		});
1119
		
1177
		
1120
		RowNumberer r = new RowNumberer();
1178
		RowNumberer r = new RowNumberer();
1121
		
1179
		
1122
		List<ColumnConfig> configs = new ArrayList<ColumnConfig>();
1180
		List<ColumnConfig> configs = new ArrayList<ColumnConfig>();
1123
 
1181
 
1124
		GridSelectionModel<StructureAPersonne> sm = new GridSelectionModel<StructureAPersonne>();
1182
		GridSelectionModel<StructureAPersonne> sm = new GridSelectionModel<StructureAPersonne>();
1125
		configs.add(r);
1183
		configs.add(r);
1126
		
1184
		
1127
		ColumnConfig column = new ColumnConfig("fonction", "Fonction", 150);
1185
		ColumnConfig column = new ColumnConfig("fonction", "Fonction", 150);
1128
		modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("fonction"));
1186
		modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("fonction"));
1129
		fonctionsMagazin = new ListStore<Valeur>();
1187
		fonctionsMagazin = new ListStore<Valeur>();
1130
		
1188
		
1131
		fonctionsCombo = new ComboBox<Valeur>();  
1189
		fonctionsCombo = new ComboBox<Valeur>();  
1132
		fonctionsCombo.setTriggerAction(TriggerAction.ALL);  
1190
		fonctionsCombo.setTriggerAction(TriggerAction.ALL);  
1133
		fonctionsCombo.setEditable(true);
1191
		fonctionsCombo.setEditable(true);
1134
		fonctionsCombo.setDisplayField("nom");
1192
		fonctionsCombo.setDisplayField("nom");
1135
		fonctionsCombo.setStore(fonctionsMagazin);
1193
		fonctionsCombo.setStore(fonctionsMagazin);
1136
		
1194
		
1137
		fonctionEditor = new CellEditor(fonctionsCombo) {  
1195
		fonctionEditor = new CellEditor(fonctionsCombo) {  
1138
			@Override  
1196
			@Override  
1139
			public Object preProcessValue(Object valeur) {  
1197
			public Object preProcessValue(Object valeur) {  
1140
				Valeur retour = null;
1198
				Valeur retour = null;
1141
				
1199
				
1142
				if (valeur != null) {
1200
				if (valeur != null) {
1143
					String chaineTransmise = (String) valeur;
1201
					String chaineTransmise = (String) valeur;
1144
					GWT.log("ici:"+fonctionsMagazin.getCount(), null);
1202
					GWT.log("ici:"+fonctionsMagazin.getCount(), null);
1145
					if (fonctionsMagazin.getCount() == 0 && fonctionsListe != null) {
1203
					if (fonctionsMagazin.getCount() == 0 && fonctionsListe != null) {
1146
						fonctionsMagazin.add(fonctionsListe);
1204
						fonctionsMagazin.add(fonctionsListe);
1147
					}
1205
					}
1148
					if (fonctionsMagazin.findModel("id_valeur", chaineTransmise) != null) {
1206
					if (fonctionsMagazin.findModel("id_valeur", chaineTransmise) != null) {
1149
						retour = fonctionsMagazin.findModel("id_valeur", chaineTransmise);
1207
						retour = fonctionsMagazin.findModel("id_valeur", chaineTransmise);
1150
					} else if (fonctionsMagazin.findModel("nom", chaineTransmise) != null) {
1208
					} else if (fonctionsMagazin.findModel("nom", chaineTransmise) != null) {
1151
						retour = fonctionsMagazin.findModel("nom", chaineTransmise);
1209
						retour = fonctionsMagazin.findModel("nom", chaineTransmise);
1152
					} else {
1210
					} else {
1153
						retour = new Valeur("", chaineTransmise, "", "");
1211
						retour = new Valeur("", chaineTransmise, "", "");
1154
					}
1212
					}
1155
				}
1213
				}
1156
				
1214
				
1157
				return retour;
1215
				return retour;
1158
			}  
1216
			}  
1159
			
1217
			
1160
			@Override  
1218
			@Override  
1161
			public Object postProcessValue(Object valeur) {  
1219
			public Object postProcessValue(Object valeur) {  
1162
				String retour = "";
1220
				String retour = "";
1163
				Valeur fonctionTrouvee = null; 
1221
				Valeur fonctionTrouvee = null; 
1164
				GWT.log("ICI ", null);
1222
				GWT.log("ICI ", null);
1165
				if (valeur == null) {
1223
				if (valeur == null) {
1166
					GWT.log(this.getField().getRawValue(), null);
1224
					GWT.log(this.getField().getRawValue(), null);
1167
					String valeurBrute = this.getField().getRawValue();
1225
					String valeurBrute = this.getField().getRawValue();
1168
					if (fonctionsMagazin.getCount() == 0 && fonctionsListe != null) {
1226
					if (fonctionsMagazin.getCount() == 0 && fonctionsListe != null) {
1169
						fonctionsMagazin.add(fonctionsListe);
1227
						fonctionsMagazin.add(fonctionsListe);
1170
					}
1228
					}
1171
					if (valeurBrute.matches("^[0-9]+$") && fonctionsMagazin.findModel("id_valeur", valeurBrute) != null) {
1229
					if (valeurBrute.matches("^[0-9]+$") && fonctionsMagazin.findModel("id_valeur", valeurBrute) != null) {
1172
						fonctionTrouvee = fonctionsMagazin.findModel("id_valeur", valeurBrute);
1230
						fonctionTrouvee = fonctionsMagazin.findModel("id_valeur", valeurBrute);
1173
					} else {
1231
					} else {
1174
						retour = valeurBrute;
1232
						retour = valeurBrute;
1175
					}
1233
					}
1176
				} else if (valeur instanceof Valeur) {
1234
				} else if (valeur instanceof Valeur) {
1177
					fonctionTrouvee = (Valeur) valeur;
1235
					fonctionTrouvee = (Valeur) valeur;
1178
				}
1236
				}
1179
				
1237
				
1180
				if (fonctionTrouvee != null) {
1238
				if (fonctionTrouvee != null) {
1181
					retour = fonctionTrouvee.getNom();
1239
					retour = fonctionTrouvee.getNom();
1182
				}
1240
				}
1183
				
1241
				
1184
				return retour;				
1242
				return retour;				
1185
			}
1243
			}
1186
		};
1244
		};
1187
		column.setEditor(fonctionEditor);
1245
		column.setEditor(fonctionEditor);
1188
		configs.add(column);
1246
		configs.add(column);
1189
		
1247
		
1190
		column = new ColumnConfig("prenom", "Prénom", 100);  
1248
		column = new ColumnConfig("prenom", "Prénom", 100);  
1191
		TextField<String> prenomChp = new TextField<String>();  
1249
		TextField<String> prenomChp = new TextField<String>();  
1192
		prenomChp.setAllowBlank(false);
1250
		prenomChp.setAllowBlank(false);
1193
		prenomChp.getMessages().setBlankText("Ce champ est obligatoire.");
1251
		prenomChp.getMessages().setBlankText("Ce champ est obligatoire.");
1194
		prenomChp.setAutoValidate(true);  
1252
		prenomChp.setAutoValidate(true);  
1195
		column.setEditor(new CellEditor(prenomChp));
1253
		column.setEditor(new CellEditor(prenomChp));
1196
		configs.add(column);  
1254
		configs.add(column);  
1197
		
1255
		
1198
		column = new ColumnConfig("nom", "Nom", 100);
1256
		column = new ColumnConfig("nom", "Nom", 100);
1199
		TextField<String> nomChp = new TextField<String>();  
1257
		TextField<String> nomChp = new TextField<String>();  
1200
		nomChp.setAllowBlank(false);
1258
		nomChp.setAllowBlank(false);
1201
		nomChp.getMessages().setBlankText("Ce champ est obligatoire.");
1259
		nomChp.getMessages().setBlankText("Ce champ est obligatoire.");
1202
		nomChp.setAutoValidate(true);  
1260
		nomChp.setAutoValidate(true);  
1203
		column.setEditor(new CellEditor(nomChp));
1261
		column.setEditor(new CellEditor(nomChp));
1204
		configs.add(column);  
1262
		configs.add(column);  
1205
 
1263
 
1206
		column = new ColumnConfig("telephone", "Téléphone fixe", 100);
1264
		column = new ColumnConfig("telephone", "Téléphone fixe", 100);
1207
		TextField<String> telChp = new TextField<String>();  
1265
		TextField<String> telChp = new TextField<String>();  
1208
		column.setEditor(new CellEditor(telChp));
1266
		column.setEditor(new CellEditor(telChp));
1209
		configs.add(column);
1267
		configs.add(column);
1210
 
1268
 
1211
		column = new ColumnConfig("fax", "Fax", 100);
1269
		column = new ColumnConfig("fax", "Fax", 100);
1212
		TextField<String> faxChp = new TextField<String>();  
1270
		TextField<String> faxChp = new TextField<String>();  
1213
		column.setEditor(new CellEditor(faxChp));
1271
		column.setEditor(new CellEditor(faxChp));
1214
		configs.add(column);
1272
		configs.add(column);
1215
		
1273
		
1216
		column = new ColumnConfig("courriel", "Courriel principal", 200);
1274
		column = new ColumnConfig("courriel", "Courriel principal", 200);
1217
		TextField<String> emailChp = new TextField<String>();  
1275
		TextField<String> emailChp = new TextField<String>();  
1218
		column.setEditor(new CellEditor(emailChp));
1276
		column.setEditor(new CellEditor(emailChp));
1219
		configs.add(column);
1277
		configs.add(column);
1220
		
1278
		
1221
		modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("statut"));
1279
		modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("statut"));
1222
		magazinLiStatut = new ListStore<Valeur>();
1280
		magazinLiStatut = new ListStore<Valeur>();
1223
		magazinLiStatut.add(new ArrayList<Valeur>());
1281
		magazinLiStatut.add(new ArrayList<Valeur>());
1224
		
1282
		
1225
		comboLiStatut = new ComboBox<Valeur>();  
1283
		comboLiStatut = new ComboBox<Valeur>();  
1226
		comboLiStatut.setTriggerAction(TriggerAction.ALL);  
1284
		comboLiStatut.setTriggerAction(TriggerAction.ALL);  
1227
		comboLiStatut.setEditable(false);
1285
		comboLiStatut.setEditable(false);
1228
		comboLiStatut.disableTextSelection(true);
1286
		comboLiStatut.disableTextSelection(true);
1229
		comboLiStatut.setDisplayField("nom");
1287
		comboLiStatut.setDisplayField("nom");
1230
		comboLiStatut.setStore(magazinLiStatut);
1288
		comboLiStatut.setStore(magazinLiStatut);
1231
		
1289
		
1232
		CellEditor statutEditor = new CellEditor(comboLiStatut) {  
1290
		CellEditor statutEditor = new CellEditor(comboLiStatut) {  
1233
			@Override  
1291
			@Override  
1234
			public Object preProcessValue(Object value) {  
1292
			public Object preProcessValue(Object value) {  
1235
				if (value == null) {  
1293
				if (value == null) {  
1236
					return value;  
1294
					return value;  
1237
				}
1295
				}
1238
				//GWT.log("pre : "+value.toString(), null);
1296
				//GWT.log("pre : "+value.toString(), null);
1239
				return comboLiStatut.getStore().findModel("nom", (String) value);  
1297
				return comboLiStatut.getStore().findModel("nom", (String) value);  
1240
			}  
1298
			}  
1241
			
1299
			
1242
			@Override  
1300
			@Override  
1243
			public Object postProcessValue(Object value) {  
1301
			public Object postProcessValue(Object value) {  
1244
				if (value == null) {  
1302
				if (value == null) {  
1245
					return value;  
1303
					return value;  
1246
				}
1304
				}
1247
				//GWT.log("post : "+value.toString(), null);
1305
				//GWT.log("post : "+value.toString(), null);
1248
				return ((Valeur) value).get("nom");  
1306
				return ((Valeur) value).get("nom");  
1249
			}  
1307
			}  
1250
		};
1308
		};
1251
		column = new ColumnConfig("statut", "Statut", 100);
1309
		column = new ColumnConfig("statut", "Statut", 100);
1252
		column.setEditor(statutEditor);
1310
		column.setEditor(statutEditor);
1253
		configs.add(column);
1311
		configs.add(column);
1254
		
1312
		
1255
		column = new ColumnConfig("travail", "Temps travail", 100);
1313
		column = new ColumnConfig("travail", "Temps travail", 100);
1256
		column.setNumberFormat(NumberFormat.getFormat("##"));
1314
		column.setNumberFormat(NumberFormat.getFormat("##"));
1257
		NumberField tpsWChp = new NumberField();
1315
		NumberField tpsWChp = new NumberField();
1258
		tpsWChp.setFormat(NumberFormat.getFormat("##"));
1316
		tpsWChp.setFormat(NumberFormat.getFormat("##"));
1259
		tpsWChp.setToolTip("Ce champ doit contenir un nombre");
1317
		tpsWChp.setToolTip("Ce champ doit contenir un nombre");
1260
		column.setEditor(new CellEditor(tpsWChp));
1318
		column.setEditor(new CellEditor(tpsWChp));
1261
		configs.add(column);
1319
		configs.add(column);
1262
		
1320
		
1263
		column = new ColumnConfig("specialite", "Spécialité principale", 150);
1321
		column = new ColumnConfig("specialite", "Spécialité principale", 150);
1264
		TextField<String> speChp = new TextField<String>();  
1322
		TextField<String> speChp = new TextField<String>();  
1265
		column.setEditor(new CellEditor(speChp));
1323
		column.setEditor(new CellEditor(speChp));
1266
		configs.add(column);
1324
		configs.add(column);
1267
		
1325
		
1268
		CheckColumnConfig checkColumn = new CheckColumnConfig("contact", "Contact ?", 60);
1326
		CheckColumnConfig checkColumn = new CheckColumnConfig("contact", "Contact ?", 60);
1269
		configs.add(checkColumn);
1327
		configs.add(checkColumn);
1270
		
1328
		
1271
		ToolBar toolBar = new ToolBar();  
1329
		ToolBar toolBar = new ToolBar();  
1272
		
1330
		
1273
		TextToolItem ajouterPersonnelBtn = new TextToolItem("Ajouter", "icone-vcard-ajouter");
1331
		TextToolItem ajouterPersonnelBtn = new TextToolItem("Ajouter", "icone-vcard-ajouter");
1274
		ajouterPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {  
1332
		ajouterPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {  
1275
			@Override  
1333
			@Override  
1276
			public void componentSelected(ToolBarEvent ce) {  
1334
			public void componentSelected(ToolBarEvent ce) {  
1277
				StructureAPersonne membreDuPersonnel = new StructureAPersonne("", StructureAPersonne.ROLE_EQUIPE, StructureAPersonne.ETAT_AJOUTE);
1335
				StructureAPersonne membreDuPersonnel = new StructureAPersonne("", StructureAPersonne.ROLE_EQUIPE, StructureAPersonne.ETAT_AJOUTE);
1278
				ajouterMembreAGrillePersonnel(membreDuPersonnel);
1336
				ajouterMembreAGrillePersonnel(membreDuPersonnel);
1279
			}  
1337
			}  
1280
		});
1338
		});
1281
		toolBar.add(ajouterPersonnelBtn);
1339
		toolBar.add(ajouterPersonnelBtn);
1282
		
1340
		
1283
		toolBar.add(new SeparatorToolItem());
1341
		toolBar.add(new SeparatorToolItem());
1284
		
1342
		
1285
		supprimerPersonnelBtn = new TextToolItem("Supprimer", "icone-vcard-supprimer");
1343
		supprimerPersonnelBtn = new TextToolItem("Supprimer", "icone-vcard-supprimer");
1286
		supprimerPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {  
1344
		supprimerPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {  
1287
			@Override
1345
			@Override
1288
			public void componentSelected(ToolBarEvent ce) {
1346
			public void componentSelected(ToolBarEvent ce) {
1289
				StructureAPersonne personne = grillePersonnel.getSelectionModel().getSelectedItem();
1347
				StructureAPersonne personne = grillePersonnel.getSelectionModel().getSelectedItem();
1290
				if (personne != null) {
1348
				if (personne != null) {
1291
					// Ajout de la personne supprimée à la liste
1349
					// Ajout de la personne supprimée à la liste
1292
					if (personne.getIdPersonne() != null && !personne.getIdPersonne().equals("")) {
1350
					if (personne.getIdPersonne() != null && !personne.getIdPersonne().equals("")) {
1293
						personnelSupprime.put(personne.getId(), personne);
1351
						personnelSupprime.put(personne.getId(), personne);
1294
					}
1352
					}
1295
	
1353
	
1296
					// Suppression de l'enregistrement de la grille
1354
					// Suppression de l'enregistrement de la grille
1297
					grillePersonnel.getStore().remove(personne);
1355
					grillePersonnel.getStore().remove(personne);
1298
					
1356
					
1299
					// Désactivation du bouton supprimer si la grille contient plus d'élément
1357
					// Désactivation du bouton supprimer si la grille contient plus d'élément
1300
					if (grillePersonnel.getStore().getCount() == 0) {  
1358
					if (grillePersonnel.getStore().getCount() == 0) {  
1301
						ce.item.disable();  
1359
						ce.item.disable();  
1302
					}
1360
					}
1303
				}
1361
				}
1304
			}   
1362
			}   
1305
		});
1363
		});
1306
		toolBar.add(supprimerPersonnelBtn);
1364
		toolBar.add(supprimerPersonnelBtn);
1307
		
1365
		
1308
		toolBar.add(new SeparatorToolItem());
1366
		toolBar.add(new SeparatorToolItem());
1309
		
1367
		
1310
		TextToolItem rafraichirPersonnelBtn = new TextToolItem("Rafraichir", "icone-rafraichir");
1368
		TextToolItem rafraichirPersonnelBtn = new TextToolItem("Rafraichir", "icone-rafraichir");
1311
		rafraichirPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {  
1369
		rafraichirPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {  
1312
			@Override
1370
			@Override
1313
			public void componentSelected(ToolBarEvent ce) {
1371
			public void componentSelected(ToolBarEvent ce) {
1314
				rafraichirPersonnel();
1372
				rafraichirPersonnel();
1315
			}   
1373
			}   
1316
		});
1374
		});
1317
		toolBar.add(rafraichirPersonnelBtn);
1375
		toolBar.add(rafraichirPersonnelBtn);
1318
		
1376
		
1319
		toolBar.add(new SeparatorToolItem());
1377
		toolBar.add(new SeparatorToolItem());
1320
		
1378
		
1321
		personneExistanteMagazin = new ListStore<Personne>();
1379
		personneExistanteMagazin = new ListStore<Personne>();
1322
		personneExistanteMagazin.add(new ArrayList<Personne>());
1380
		personneExistanteMagazin.add(new ArrayList<Personne>());
1323
		
1381
		
1324
		personneExistanteCombo = new ComboBox<Personne>();
1382
		personneExistanteCombo = new ComboBox<Personne>();
1325
		personneExistanteCombo.setWidth(200);
1383
		personneExistanteCombo.setWidth(200);
1326
		personneExistanteCombo.setEmptyText("Chercher une personne existante...");
1384
		personneExistanteCombo.setEmptyText("Chercher une personne existante...");
1327
		personneExistanteCombo.setTriggerAction(TriggerAction.ALL);  
1385
		personneExistanteCombo.setTriggerAction(TriggerAction.ALL);  
1328
		personneExistanteCombo.setEditable(true);
1386
		personneExistanteCombo.setEditable(true);
1329
		personneExistanteCombo.setDisplayField("fmt_nom_complet");
1387
		personneExistanteCombo.setDisplayField("fmt_nom_complet");
1330
		personneExistanteCombo.setStore(personneExistanteMagazin);
1388
		personneExistanteCombo.setStore(personneExistanteMagazin);
1331
		personneExistanteCombo.addKeyListener(new KeyListener() {
1389
		personneExistanteCombo.addKeyListener(new KeyListener() {
1332
			
1390
			
1333
			public void componentKeyUp(ComponentEvent ce) {
1391
			public void componentKeyUp(ComponentEvent ce) {
1334
				if (!ce.isNavKeyPress() && personneExistanteCombo.getRawValue() != null && personneExistanteCombo.getRawValue().length() > 0) {
1392
				if (!ce.isNavKeyPress() && personneExistanteCombo.getRawValue() != null && personneExistanteCombo.getRawValue().length() > 0) {
1335
					rafraichirPersonneExistante(personneExistanteCombo.getRawValue());
1393
					rafraichirPersonneExistante(personneExistanteCombo.getRawValue());
1336
				}
1394
				}
1337
			}
1395
			}
1338
			
1396
			
1339
		});
1397
		});
1340
 
1398
 
1341
		// TODO : dans GXT 2.0 plus besoin de l'adaptateur, on peut ajouter la combobox directement sur la toolbar
1399
		// TODO : dans GXT 2.0 plus besoin de l'adaptateur, on peut ajouter la combobox directement sur la toolbar
1342
		toolBar.add(new AdapterToolItem(personneExistanteCombo));
1400
		toolBar.add(new AdapterToolItem(personneExistanteCombo));
1343
		
1401
		
1344
		TextToolItem ajouterPersonneExistanteBtn = new TextToolItem("Ajouter");
1402
		TextToolItem ajouterPersonneExistanteBtn = new TextToolItem("Ajouter");
1345
		ajouterPersonneExistanteBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {  
1403
		ajouterPersonneExistanteBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {  
1346
			@Override  
1404
			@Override  
1347
			public void componentSelected(ToolBarEvent ce) {  
1405
			public void componentSelected(ToolBarEvent ce) {  
1348
				Personne personneExistante = personneExistanteCombo.getValue();
1406
				Personne personneExistante = personneExistanteCombo.getValue();
1349
				
1407
				
1350
				if (personneExistante != null) {
1408
				if (personneExistante != null) {
1351
					StructureAPersonne membreDuPersonnel = new StructureAPersonne("", StructureAPersonne.ROLE_EQUIPE, StructureAPersonne.ETAT_AJOUTE);
1409
					StructureAPersonne membreDuPersonnel = new StructureAPersonne("", StructureAPersonne.ROLE_EQUIPE, StructureAPersonne.ETAT_AJOUTE);
1352
					membreDuPersonnel.setIdPersonne(personneExistante.getId());
1410
					membreDuPersonnel.setIdPersonne(personneExistante.getId());
1353
					membreDuPersonnel.setNom(personneExistante.getNom());
1411
					membreDuPersonnel.setNom(personneExistante.getNom());
1354
					membreDuPersonnel.setPrenom(personneExistante.getPrenom());
1412
					membreDuPersonnel.setPrenom(personneExistante.getPrenom());
1355
					membreDuPersonnel.setTelephone(personneExistante.getTelephone());
1413
					membreDuPersonnel.setTelephone(personneExistante.getTelephone());
1356
					membreDuPersonnel.setFax(personneExistante.getFax());
1414
					membreDuPersonnel.setFax(personneExistante.getFax());
1357
					membreDuPersonnel.setCourriel(personneExistante.getCourriel());
1415
					membreDuPersonnel.setCourriel(personneExistante.getCourriel());
1358
					membreDuPersonnel.setSpecialite(personneExistante.getSpecialite());
1416
					membreDuPersonnel.setSpecialite(personneExistante.getSpecialite());
1359
					
1417
					
1360
					ajouterMembreAGrillePersonnel(membreDuPersonnel);
1418
					ajouterMembreAGrillePersonnel(membreDuPersonnel);
1361
				}
1419
				}
1362
			}  
1420
			}  
1363
		});
1421
		});
1364
		toolBar.add(ajouterPersonneExistanteBtn);
1422
		toolBar.add(ajouterPersonneExistanteBtn);
1365
		
1423
		
1366
		cp.setTopComponent(toolBar);  
1424
		cp.setTopComponent(toolBar);  
1367
 
1425
 
1368
		ColumnModel cm = new ColumnModel(configs);
1426
		ColumnModel cm = new ColumnModel(configs);
1369
		
1427
		
1370
		grillePersonnel = new EditorGrid<StructureAPersonne>(personnelGrilleMagazin, cm);  
1428
		grillePersonnel = new EditorGrid<StructureAPersonne>(personnelGrilleMagazin, cm);  
1371
		grillePersonnel.setBorders(true);
1429
		grillePersonnel.setBorders(true);
1372
		grillePersonnel.setSelectionModel(sm);
1430
		grillePersonnel.setSelectionModel(sm);
1373
		grillePersonnel.addPlugin(checkColumn);
1431
		grillePersonnel.addPlugin(checkColumn);
1374
		grillePersonnel.addPlugin(r);
1432
		grillePersonnel.addPlugin(r);
1375
		grillePersonnel.getView().setForceFit(true);
1433
		grillePersonnel.getView().setForceFit(true);
1376
  		grillePersonnel.setAutoExpandColumn("specialite");
1434
  		grillePersonnel.setAutoExpandColumn("specialite");
1377
  		grillePersonnel.setStripeRows(true);
1435
  		grillePersonnel.setStripeRows(true);
1378
  		grillePersonnel.setTrackMouseOver(true);
1436
  		grillePersonnel.setTrackMouseOver(true);
1379
  		grillePersonnel.addListener(Events.Change, new Listener<GridEvent>() {
1437
  		grillePersonnel.addListener(Events.Change, new Listener<GridEvent>() {
1380
 
1438
 
1381
			public void handleEvent(GridEvent ge) {
1439
			public void handleEvent(GridEvent ge) {
1382
				// CommitChanges évite que la grille perde la valeur des combobox éditables
1440
				// CommitChanges évite que la grille perde la valeur des combobox éditables
1383
				personnelGrilleMagazin.commitChanges();
1441
				personnelGrilleMagazin.commitChanges();
1384
			}
1442
			}
1385
  			
1443
  			
1386
  		});
1444
  		});
1387
  		
-
 
1388
  		cp.add(grillePersonnel);
1445
  		cp.add(grillePersonnel);
1389
		personnelOnglet.add(cp);
1446
		personnelOnglet.add(cp);
1390
  				
1447
		
1391
		return personnelOnglet;
1448
		return personnelOnglet;
1392
	}
1449
	}
1393
	
1450
	
1394
	private TabItem creerOngletIdentification() {
1451
	private TabItem creerOngletIdentification() {
1395
		//+-----------------------------------------------------------------------------------------------------------+
1452
		//+-----------------------------------------------------------------------------------------------------------+
1396
		// Onlget formulaire IDENTIFICATION
1453
		// Onlget formulaire IDENTIFICATION
1397
		identificationOnglet = new TabItem();
1454
		identificationOnglet = new TabItem();
1398
		identificationOnglet.setId("identification");
1455
		identificationOnglet.setId("identification");
1399
		identificationOnglet.setText("Identification");
1456
		identificationOnglet.setText("Identification");
1400
		identificationOnglet.setLayout(new FormLayout());
1457
		identificationOnglet.setLayout(new FormLayout());
1401
		identificationOnglet.setScrollMode(Scroll.AUTO);
1458
		identificationOnglet.setScrollMode(Scroll.AUTO);
1402
		identificationOnglet.setData("acces", false);
1459
		identificationOnglet.setData("acces", false);
1403
		identificationOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {  
1460
		identificationOnglet.addListener(Events.Select, new Listener<ComponentEvent>() {  
1404
			public void handleEvent(ComponentEvent be) {  
1461
			public void handleEvent(ComponentEvent be) {  
1405
				peuplerStructureIdentification();
1462
				peuplerStructureIdentification();
1406
				identificationOnglet.layout();
1463
				identificationOnglet.layout();
1407
			}  
1464
			}  
1408
		});
1465
		});
1409
		
1466
		
1410
		//+-----------------------------------------------------------------------------------------------------------+
1467
		//+-----------------------------------------------------------------------------------------------------------+
1411
		// Champs cachés
1468
		// Champs cachés
1412
		idStructureChp = new HiddenField<String>();
1469
		idStructureChp = new HiddenField<String>();
1413
		
1470
		
1414
		//+-----------------------------------------------------------------------------------------------------------+
1471
		//+-----------------------------------------------------------------------------------------------------------+
1415
		// Fieldset IDENTITÉ
1472
		// Fieldset IDENTITÉ
1416
		FieldSet fieldSetIdentite = new FieldSet();
1473
		FieldSet fieldSetIdentite = new FieldSet();
1417
		fieldSetIdentite.setHeading("Identité");
1474
		fieldSetIdentite.setHeading("Identité");
1418
		fieldSetIdentite.setCollapsible(true);
1475
		fieldSetIdentite.setCollapsible(true);
1419
		fieldSetIdentite.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4));
1476
		fieldSetIdentite.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4));
1420
		
1477
		
1421
		nomStructureChp = new TextField<String>();
1478
		nomStructureChp = new TextField<String>();
1422
		nomStructureChp.setTabIndex(tabIndex++);
1479
		nomStructureChp.setTabIndex(tabIndex++);
1423
		nomStructureChp.setFieldLabel("Nom de la structure");
1480
		nomStructureChp.setFieldLabel("Nom de la structure");
1424
		nomStructureChp.setAllowBlank(false);
1481
		nomStructureChp.setAllowBlank(false);
1425
		nomStructureChp.getMessages().setBlankText("Ce champ est obligatoire.");
1482
		nomStructureChp.getMessages().setBlankText("Ce champ est obligatoire.");
1426
		fieldSetIdentite.add(nomStructureChp, new FormData(450, 0));
1483
		fieldSetIdentite.add(nomStructureChp, new FormData(450, 0));
1427
		
1484
		
1428
		modele.selectionnerProjets(this);
1485
		modele.selectionnerProjets(this);
1429
		projetsMagazin = new ListStore<Projet>();
1486
		projetsMagazin = new ListStore<Projet>();
1430
		projetsCombo = new ComboBox<Projet>();
1487
		projetsCombo = new ComboBox<Projet>();
1431
		projetsCombo.setTabIndex(tabIndex++);
1488
		projetsCombo.setTabIndex(tabIndex++);
1432
		projetsCombo.setFieldLabel("Projet");
1489
		projetsCombo.setFieldLabel("Projet");
1433
		projetsCombo.setLabelSeparator("");
1490
		projetsCombo.setLabelSeparator("");
1434
		projetsCombo.setDisplayField("nom");
1491
		projetsCombo.setDisplayField("nom");
1435
		projetsCombo.setEditable(false);
1492
		projetsCombo.setEditable(false);
1436
		projetsCombo.setTriggerAction(TriggerAction.ALL);
1493
		projetsCombo.setTriggerAction(TriggerAction.ALL);
1437
		projetsCombo.setStore(projetsMagazin);
1494
		projetsCombo.setStore(projetsMagazin);
1438
		fieldSetIdentite.add(projetsCombo, new FormData(450, 0));
1495
		fieldSetIdentite.add(projetsCombo, new FormData(450, 0));
1439
		
1496
		
1440
		// Création du sous-formulaire : Acronyme
1497
		// Création du sous-formulaire : Acronyme
1441
		LayoutContainer ligne = new LayoutContainer();  
1498
		LayoutContainer ligne = new LayoutContainer();  
1442
		ligne.setLayout(new ColumnLayout());
1499
		ligne.setLayout(new ColumnLayout());
1443
		LayoutContainer gauche = new LayoutContainer();
1500
		LayoutContainer gauche = new LayoutContainer();
1444
		gauche.setLayout(creerFormLayout(200, LabelAlign.LEFT, 0));
1501
		gauche.setLayout(creerFormLayout(200, LabelAlign.LEFT, 0));
1445
		LayoutContainer droite = new LayoutContainer();
1502
		LayoutContainer droite = new LayoutContainer();
1446
		droite.setLayout(creerFormLayout(0, null, 0));
1503
		droite.setLayout(creerFormLayout(0, null, 0));
1447
		
1504
		
1448
		ListStore<InterneValeur> acronymes = new ListStore<InterneValeur>();  
1505
		ListStore<InterneValeur> acronymes = new ListStore<InterneValeur>();  
1449
		acronymes.add(InterneValeurListe.getTypeAcronyme()); 
1506
		acronymes.add(InterneValeurListe.getTypeAcronyme()); 
1450
		
1507
		
1451
		comboAcronyme = new ComboBox<InterneValeur>();
1508
		comboAcronyme = new ComboBox<InterneValeur>();
1452
		comboAcronyme.setTabIndex(tabIndex++);
1509
		comboAcronyme.setTabIndex(tabIndex++);
1453
		comboAcronyme.setEmptyText("Sélectioner un type d'acronyme...");
1510
		comboAcronyme.setEmptyText("Sélectioner un type d'acronyme...");
1454
		comboAcronyme.setFieldLabel("Acronymes");
1511
		comboAcronyme.setFieldLabel("Acronymes");
1455
		comboAcronyme.setDisplayField("nom");
1512
		comboAcronyme.setDisplayField("nom");
1456
		comboAcronyme.setStore(acronymes);
1513
		comboAcronyme.setStore(acronymes);
1457
		comboAcronyme.setEditable(false);
1514
		comboAcronyme.setEditable(false);
1458
		comboAcronyme.setTypeAhead(true);  
1515
		comboAcronyme.setTypeAhead(true);  
1459
		comboAcronyme.setTriggerAction(TriggerAction.ALL);
1516
		comboAcronyme.setTriggerAction(TriggerAction.ALL);
1460
		comboAcronyme.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {
1517
		comboAcronyme.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {
1461
			@Override
1518
			@Override
1462
			public void selectionChanged(SelectionChangedEvent<InterneValeur> se) {
1519
			public void selectionChanged(SelectionChangedEvent<InterneValeur> se) {
1463
				String acronymeAbr = se.getSelectedItem().getAbr();
1520
				String acronymeAbr = se.getSelectedItem().getAbr();
1464
				if (acronymeAbr.equals("IH")) {
1521
				if (acronymeAbr.equals("IH")) {
1465
					mnhnChp.hide();
1522
					mnhnChp.hide();
1466
					ihChp.show();
1523
					ihChp.show();
1467
				} else if (acronymeAbr.equals("MNHN")) {
1524
				} else if (acronymeAbr.equals("MNHN")) {
1468
					ihChp.hide();
1525
					ihChp.hide();
1469
					mnhnChp.show();
1526
					mnhnChp.show();
1470
				} else if (acronymeAbr.equals("")) {
1527
				} else if (acronymeAbr.equals("")) {
1471
					ihChp.hide();
1528
					ihChp.hide();
1472
					mnhnChp.hide();
1529
					mnhnChp.hide();
1473
					comboAcronyme.clearSelections();
1530
					comboAcronyme.clearSelections();
1474
				}
1531
				}
1475
			}
1532
			}
1476
        });
1533
        });
1477
		gauche.add(comboAcronyme);
1534
		gauche.add(comboAcronyme);
1478
		
1535
		
1479
		ihChp = new TextField<String>();  
1536
		ihChp = new TextField<String>();  
1480
		//ihChp.setEmptyText("Index Herbariorum");
1537
		//ihChp.setEmptyText("Index Herbariorum");
1481
		ihChp.setTabIndex(tabIndex++);
1538
		ihChp.setTabIndex(tabIndex++);
1482
		ihChp.setLabelSeparator("");
1539
		ihChp.setLabelSeparator("");
1483
		ihChp.setToolTip("Index Herbariorum : herbier de plus de 5000 échantillons");
1540
		ihChp.setToolTip("Index Herbariorum : herbier de plus de 5000 échantillons");
1484
		ihChp.hide();
1541
		ihChp.hide();
1485
		droite.add(ihChp);
1542
		droite.add(ihChp);
1486
		
1543
		
1487
		mnhnChp = new TextField<String>();
1544
		mnhnChp = new TextField<String>();
1488
		mnhnChp.setTabIndex(tabIndex++);
1545
		mnhnChp.setTabIndex(tabIndex++);
1489
		//mnhnChp.setEmptyText("MNHN");
1546
		//mnhnChp.setEmptyText("MNHN");
1490
		mnhnChp.setLabelSeparator("");
1547
		mnhnChp.setLabelSeparator("");
1491
		mnhnChp.setToolTip("Acronyme MNHN : herbier de moins de 5000 échantillons");
1548
		mnhnChp.setToolTip("Acronyme MNHN : herbier de moins de 5000 échantillons");
1492
		mnhnChp.hide();
1549
		mnhnChp.hide();
1493
		droite.add(mnhnChp);
1550
		droite.add(mnhnChp);
1494
		
1551
		
1495
		ligne.add(gauche, new ColumnData(0.5));  
1552
		ligne.add(gauche, new ColumnData(0.5));  
1496
		ligne.add(droite, new ColumnData(0.5));
1553
		ligne.add(droite, new ColumnData(0.5));
1497
		fieldSetIdentite.add(ligne);
1554
		fieldSetIdentite.add(ligne);
1498
		
1555
		
1499
		// Création du sous-formulaire : Type de Structure
1556
		// Création du sous-formulaire : Type de Structure
1500
		LayoutContainer ligneTs = new LayoutContainer();  
1557
		LayoutContainer ligneTs = new LayoutContainer();  
1501
		ligneTs.setLayout(new ColumnLayout());
1558
		ligneTs.setLayout(new ColumnLayout());
1502
		
1559
		
1503
		LayoutContainer gaucheTs = new LayoutContainer();
1560
		LayoutContainer gaucheTs = new LayoutContainer();
1504
		gaucheTs.setLayout(creerFormLayout(200, LabelAlign.LEFT, 0));
1561
		gaucheTs.setLayout(creerFormLayout(200, LabelAlign.LEFT, 0));
1505
		
1562
		
1506
		LayoutContainer droiteTs = new LayoutContainer();
1563
		LayoutContainer droiteTs = new LayoutContainer();
1507
		droiteTs.setLayout(creerFormLayout(0, null, 0));
1564
		droiteTs.setLayout(creerFormLayout(0, null, 0));
1508
		
1565
		
1509
		ListStore<InterneValeur> typesStructure = new ListStore<InterneValeur>();  
1566
		ListStore<InterneValeur> typesStructure = new ListStore<InterneValeur>();  
1510
		typesStructure.add(InterneValeurListe.getTypeStructure());
1567
		typesStructure.add(InterneValeurListe.getTypeStructure());
1511
		
1568
		
1512
		comboTypeStructure = new ComboBox<InterneValeur>();
1569
		comboTypeStructure = new ComboBox<InterneValeur>();
1513
		comboTypeStructure.setTabIndex(tabIndex++);
1570
		comboTypeStructure.setTabIndex(tabIndex++);
1514
		comboTypeStructure.setEmptyText("Sélectioner un type de structure...");
1571
		comboTypeStructure.setEmptyText("Sélectioner un type de structure...");
1515
		comboTypeStructure.setFieldLabel("Statut des structures");
1572
		comboTypeStructure.setFieldLabel("Statut des structures");
1516
		comboTypeStructure.setDisplayField("nom");
1573
		comboTypeStructure.setDisplayField("nom");
1517
		comboTypeStructure.setStore(typesStructure);
1574
		comboTypeStructure.setStore(typesStructure);
1518
		comboTypeStructure.setEditable(false);
1575
		comboTypeStructure.setEditable(false);
1519
		comboTypeStructure.setTypeAhead(true);  
1576
		comboTypeStructure.setTypeAhead(true);  
1520
		comboTypeStructure.setTriggerAction(TriggerAction.ALL);
1577
		comboTypeStructure.setTriggerAction(TriggerAction.ALL);
1521
		comboTypeStructure.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {
1578
		comboTypeStructure.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {
1522
			@Override
1579
			@Override
1523
			public void selectionChanged(SelectionChangedEvent<InterneValeur> se) {
1580
			public void selectionChanged(SelectionChangedEvent<InterneValeur> se) {
1524
				String typeAbr = se.getSelectedItem().getAbr();
1581
				String typeAbr = se.getSelectedItem().getAbr();
1525
				if (typeAbr.equals("stpu")) {
1582
				if (typeAbr.equals("stpu")) {
1526
					comboLstpr.hide();
1583
					comboLstpr.hide();
1527
					comboLstpu.show();
1584
					comboLstpu.show();
1528
				} else if (typeAbr.equals("stpr")) {
1585
				} else if (typeAbr.equals("stpr")) {
1529
					comboLstpu.hide();
1586
					comboLstpu.hide();
1530
					comboLstpr.show();
1587
					comboLstpr.show();
1531
				} else if (typeAbr.equals("")) {
1588
				} else if (typeAbr.equals("")) {
1532
					comboLstpr.hide();
1589
					comboLstpr.hide();
1533
					comboLstpu.hide();
1590
					comboLstpu.hide();
1534
					comboTypeStructure.clearSelections();
1591
					comboTypeStructure.clearSelections();
1535
				}
1592
				}
1536
			}
1593
			}
1537
        });
1594
        });
1538
		gaucheTs.add(comboTypeStructure);
1595
		gaucheTs.add(comboTypeStructure);
1539
		
1596
		
1540
		modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpu"));
1597
		modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpu"));
1541
		magazinLstpu = new ListStore<Valeur>();
1598
		magazinLstpu = new ListStore<Valeur>();
1542
		comboLstpu = new ComboBox<Valeur>();
1599
		comboLstpu = new ComboBox<Valeur>();
1543
		comboLstpu.setTabIndex(tabIndex++);
1600
		comboLstpu.setTabIndex(tabIndex++);
1544
		//comboLstpu.setFieldLabel("Statut des structures publiques");
1601
		//comboLstpu.setFieldLabel("Statut des structures publiques");
1545
		comboLstpu.setLabelSeparator("");
1602
		comboLstpu.setLabelSeparator("");
1546
		comboLstpu.setDisplayField("nom");
1603
		comboLstpu.setDisplayField("nom");
1547
		comboLstpu.setEditable(false);
1604
		comboLstpu.setEditable(false);
1548
		comboLstpu.setTriggerAction(TriggerAction.ALL);
1605
		comboLstpu.setTriggerAction(TriggerAction.ALL);
1549
		comboLstpu.setStore(magazinLstpu);
1606
		comboLstpu.setStore(magazinLstpu);
1550
		comboLstpu.hide();
1607
		comboLstpu.hide();
1551
		droiteTs.add(comboLstpu);
1608
		droiteTs.add(comboLstpu);
1552
		
1609
		
1553
		modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpr"));
1610
		modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpr"));
1554
		magazinLstpr = new ListStore<Valeur>();
1611
		magazinLstpr = new ListStore<Valeur>();
1555
		comboLstpr = new ComboBox<Valeur>();
1612
		comboLstpr = new ComboBox<Valeur>();
1556
		comboLstpr.setTabIndex(tabIndex++);
1613
		comboLstpr.setTabIndex(tabIndex++);
1557
		//comboLstpr.setFieldLabel("Statut des structures privées");
1614
		//comboLstpr.setFieldLabel("Statut des structures privées");
1558
		comboLstpr.setLabelSeparator("");
1615
		comboLstpr.setLabelSeparator("");
1559
		comboLstpr.setDisplayField("nom");
1616
		comboLstpr.setDisplayField("nom");
1560
		comboLstpr.setEditable(false);
1617
		comboLstpr.setEditable(false);
1561
		comboLstpr.setTriggerAction(TriggerAction.ALL);
1618
		comboLstpr.setTriggerAction(TriggerAction.ALL);
1562
		comboLstpr.setStore(magazinLstpr);
1619
		comboLstpr.setStore(magazinLstpr);
1563
		comboLstpr.hide();
1620
		comboLstpr.hide();
1564
		droiteTs.add(comboLstpr);
1621
		droiteTs.add(comboLstpr);
1565
		
1622
		
1566
		ligneTs.add(gaucheTs, new ColumnData(0.5));  
1623
		ligneTs.add(gaucheTs, new ColumnData(0.5));  
1567
		ligneTs.add(droiteTs, new ColumnData(0.5));
1624
		ligneTs.add(droiteTs, new ColumnData(0.5));
1568
		fieldSetIdentite.add(ligneTs);
1625
		fieldSetIdentite.add(ligneTs);
1569
		
1626
		
1570
		dateFondationChp = new DateField();
1627
		dateFondationChp = new DateField();
1571
		dateFondationChp.setTabIndex(tabIndex++);
1628
		dateFondationChp.setTabIndex(tabIndex++);
1572
		dateFondationChp.setFieldLabel("Date de fondation");
1629
		dateFondationChp.setFieldLabel("Date de fondation");
1573
		dateFondationChp.getPropertyEditor().getFormat();
1630
		dateFondationChp.getPropertyEditor().getFormat();
1574
		dateFondationChp.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy"));
1631
		dateFondationChp.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy"));
1575
		dateFondationChp.getMessages().setInvalidText("La valeur saisie n'est pas une date valide. La date doit être au format «jj/mm/aaaa».");
1632
		dateFondationChp.getMessages().setInvalidText("La valeur saisie n'est pas une date valide. La date doit être au format «jj/mm/aaaa».");
1576
		fieldSetIdentite.add(dateFondationChp);
1633
		fieldSetIdentite.add(dateFondationChp);
1577
		
1634
		
1578
		nbreTotalPersonneStructureChp = new NumberField();  
1635
		nbreTotalPersonneStructureChp = new NumberField();  
1579
		nbreTotalPersonneStructureChp.setFieldLabel("Nombre de personne travaillant dans l'institution");
1636
		nbreTotalPersonneStructureChp.setFieldLabel("Nombre de personne travaillant dans l'institution");
1580
		nbreTotalPersonneStructureChp.setFormat(NumberFormat.getFormat("#"));
1637
		nbreTotalPersonneStructureChp.setFormat(NumberFormat.getFormat("#"));
1581
		nbreTotalPersonneStructureChp.setToolTip("Ce champ doit contenir un nombre");
1638
		nbreTotalPersonneStructureChp.setToolTip("Ce champ doit contenir un nombre");
1582
		fieldSetIdentite.add(nbreTotalPersonneStructureChp);
1639
		fieldSetIdentite.add(nbreTotalPersonneStructureChp);
1583
 
1640
 
1584
		identificationOnglet.add(fieldSetIdentite);
1641
		identificationOnglet.add(fieldSetIdentite);
1585
		
1642
		
1586
		//+-----------------------------------------------------------------------------------------------------------+		
1643
		//+-----------------------------------------------------------------------------------------------------------+		
1587
		// Fieldset ADRESSE
1644
		// Fieldset ADRESSE
1588
		LayoutContainer principalFdAdresse = new LayoutContainer();  
1645
		LayoutContainer principalFdAdresse = new LayoutContainer();  
1589
		principalFdAdresse.setLayout(new ColumnLayout());
1646
		principalFdAdresse.setLayout(new ColumnLayout());
1590
		
1647
		
1591
		LayoutContainer gaucheFdAdresse = new LayoutContainer();
1648
		LayoutContainer gaucheFdAdresse = new LayoutContainer();
1592
		gaucheFdAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
1649
		gaucheFdAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
1593
		
1650
		
1594
		LayoutContainer droiteFdAdresse = new LayoutContainer();
1651
		LayoutContainer droiteFdAdresse = new LayoutContainer();
1595
		droiteFdAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
1652
		droiteFdAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
1596
		
1653
		
1597
		FieldSet fieldSetAdresse = new FieldSet();
1654
		FieldSet fieldSetAdresse = new FieldSet();
1598
		fieldSetAdresse.setHeading("Adresse");
1655
		fieldSetAdresse.setHeading("Adresse");
1599
		fieldSetAdresse.setCollapsible(true);
1656
		fieldSetAdresse.setCollapsible(true);
1600
		
1657
		
1601
		fieldSetAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 4));
1658
		fieldSetAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 4));
1602
		
1659
		
1603
		adrChp = new TextArea();
1660
		adrChp = new TextArea();
1604
		adrChp.setTabIndex(tabIndex++);
1661
		adrChp.setTabIndex(tabIndex++);
1605
		adrChp.setFieldLabel("Adresse");
1662
		adrChp.setFieldLabel("Adresse");
1606
		fieldSetAdresse.add(adrChp, new FormData(550, 0));
1663
		fieldSetAdresse.add(adrChp, new FormData(550, 0));
1607
		
1664
		
1608
		cpChp = new TextField<String>();
1665
		cpChp = new TextField<String>();
1609
		cpChp.setTabIndex(tabIndex++);
1666
		cpChp.setTabIndex(tabIndex++);
1610
		cpChp.setFieldLabel("Code postal");
1667
		cpChp.setFieldLabel("Code postal");
1611
		gaucheFdAdresse.add(cpChp);
1668
		gaucheFdAdresse.add(cpChp);
1612
		
1669
		
1613
		villeChp = new TextField<String>();
1670
		villeChp = new TextField<String>();
1614
		villeChp.setTabIndex(tabIndex++);
1671
		villeChp.setTabIndex(tabIndex++);
1615
		villeChp.setFieldLabel("Ville");
1672
		villeChp.setFieldLabel("Ville");
1616
		droiteFdAdresse.add(villeChp);
1673
		droiteFdAdresse.add(villeChp);
1617
		
1674
		
1618
		regionChp = new TextField<String>();
1675
		regionChp = new TextField<String>();
1619
		regionChp.setTabIndex(tabIndex++);
1676
		regionChp.setTabIndex(tabIndex++);
1620
		regionChp.setFieldLabel("Région");
1677
		regionChp.setFieldLabel("Région");
1621
		gaucheFdAdresse.add(regionChp);
1678
		gaucheFdAdresse.add(regionChp);
1622
		
1679
		
1623
		//paysChp = new TextField<String>();
1680
		//paysChp = new TextField<String>();
1624
		//paysChp.setTabIndex(112);
1681
		//paysChp.setTabIndex(112);
1625
		//paysChp.setFieldLabel("Pays");
1682
		//paysChp.setFieldLabel("Pays");
1626
		modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("pays"));
1683
		modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("pays"));
1627
		magazinPays = new ListStore<Valeur>();
1684
		magazinPays = new ListStore<Valeur>();
1628
		comboPays = new ComboBox<Valeur>();
1685
		comboPays = new ComboBox<Valeur>();
1629
		comboPays.setTabIndex(tabIndex++);
1686
		comboPays.setTabIndex(tabIndex++);
1630
		comboPays.setFieldLabel("Pays");
1687
		comboPays.setFieldLabel("Pays");
1631
		comboPays.setEmptyText("Sélectioner un pays...");
1688
		comboPays.setEmptyText("Sélectioner un pays...");
1632
		comboPays.setEditable(true);
1689
		comboPays.setEditable(true);
1633
		comboPays.setLabelSeparator("");
1690
		comboPays.setLabelSeparator("");
1634
		comboPays.setDisplayField("nom");
1691
		comboPays.setDisplayField("nom");
1635
		comboPays.setTemplate(getTemplatePays());
1692
		comboPays.setTemplate(getTemplatePays());
1636
		comboPays.setTypeAhead(true);
1693
		comboPays.setTypeAhead(true);
1637
		comboPays.setTriggerAction(TriggerAction.ALL);
1694
		comboPays.setTriggerAction(TriggerAction.ALL);
1638
		comboPays.setStore(magazinPays);
1695
		comboPays.setStore(magazinPays);
1639
		droiteFdAdresse.add(comboPays);
1696
		droiteFdAdresse.add(comboPays);
1640
		
1697
		
1641
		principalFdAdresse.add(gaucheFdAdresse, new ColumnData(.5));
1698
		principalFdAdresse.add(gaucheFdAdresse, new ColumnData(.5));
1642
		principalFdAdresse.add(droiteFdAdresse, new ColumnData(.5));
1699
		principalFdAdresse.add(droiteFdAdresse, new ColumnData(.5));
1643
		fieldSetAdresse.add(principalFdAdresse);
1700
		fieldSetAdresse.add(principalFdAdresse);
1644
		
1701
		
1645
		identificationOnglet.add(fieldSetAdresse);
1702
		identificationOnglet.add(fieldSetAdresse);
1646
		
1703
		
1647
		//+-----------------------------------------------------------------------------------------------------------+
1704
		//+-----------------------------------------------------------------------------------------------------------+
1648
		// Fieldset TÉLÉPHONE et EMAIL
1705
		// Fieldset TÉLÉPHONE et EMAIL
1649
		LayoutContainer principalFdTelMail = new LayoutContainer();  
1706
		LayoutContainer principalFdTelMail = new LayoutContainer();  
1650
		principalFdTelMail.setLayout(new ColumnLayout());
1707
		principalFdTelMail.setLayout(new ColumnLayout());
1651
		
1708
		
1652
		LayoutContainer gaucheFdTelMail = new LayoutContainer();
1709
		LayoutContainer gaucheFdTelMail = new LayoutContainer();
1653
		gaucheFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
1710
		gaucheFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
1654
		
1711
		
1655
		LayoutContainer droiteFdTelMail = new LayoutContainer();
1712
		LayoutContainer droiteFdTelMail = new LayoutContainer();
1656
		droiteFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
1713
		droiteFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
1657
		
1714
		
1658
		FieldSet fieldSetTelMail = new FieldSet();
1715
		FieldSet fieldSetTelMail = new FieldSet();
1659
		fieldSetTelMail.setHeading("Communication");
1716
		fieldSetTelMail.setHeading("Communication");
1660
		fieldSetTelMail.setCollapsible(true);
1717
		fieldSetTelMail.setCollapsible(true);
1661
		
1718
		
1662
		fieldSetTelMail.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4));
1719
		fieldSetTelMail.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4));
1663
				
1720
				
1664
		telChp = new TextField<String>();
1721
		telChp = new TextField<String>();
1665
		telChp.setTabIndex(tabIndex++);
1722
		telChp.setTabIndex(tabIndex++);
1666
		telChp.setFieldLabel("Téléphone");
1723
		telChp.setFieldLabel("Téléphone");
1667
		gaucheFdTelMail.add(telChp);
1724
		gaucheFdTelMail.add(telChp);
1668
		
1725
		
1669
		faxChp = new TextField<String>();
1726
		faxChp = new TextField<String>();
1670
		faxChp.setTabIndex(tabIndex++);
1727
		faxChp.setTabIndex(tabIndex++);
1671
		faxChp.setFieldLabel("Fax");
1728
		faxChp.setFieldLabel("Fax");
1672
		droiteFdTelMail.add(faxChp);
1729
		droiteFdTelMail.add(faxChp);
1673
		
1730
		
1674
		emailChp = new TextField<String>();
1731
		emailChp = new TextField<String>();
1675
		emailChp.setTabIndex(tabIndex++);
1732
		emailChp.setTabIndex(tabIndex++);
1676
		emailChp.setFieldLabel("Courriel");
1733
		emailChp.setFieldLabel("Courriel");
1677
		emailChp.setToolTip("Saisir le courriel de l'organisation, pas de courriel individuel. Ex. : accueil@organisation.org");
1734
		emailChp.setToolTip("Saisir le courriel de l'organisation, pas de courriel individuel. Ex. : accueil@organisation.org");
1678
		gaucheFdTelMail.add(emailChp);
1735
		gaucheFdTelMail.add(emailChp);
1679
		
1736
		
1680
		urlChp = new TextField<String>();
1737
		urlChp = new TextField<String>();
1681
		urlChp.setTabIndex(tabIndex++);
1738
		urlChp.setTabIndex(tabIndex++);
1682
		urlChp.setFieldLabel("Site web");
1739
		urlChp.setFieldLabel("Site web");
1683
		droiteFdTelMail.add(urlChp);
1740
		droiteFdTelMail.add(urlChp);
1684
		
1741
		
1685
		principalFdTelMail.add(gaucheFdTelMail, new ColumnData(.5));
1742
		principalFdTelMail.add(gaucheFdTelMail, new ColumnData(.5));
1686
		principalFdTelMail.add(droiteFdTelMail, new ColumnData(.5));
1743
		principalFdTelMail.add(droiteFdTelMail, new ColumnData(.5));
1687
		fieldSetTelMail.add(principalFdTelMail);
1744
		fieldSetTelMail.add(principalFdTelMail);
1688
		
1745
		
1689
		identificationOnglet.add(fieldSetTelMail);
1746
		identificationOnglet.add(fieldSetTelMail);
1690
		
1747
		
1691
		return identificationOnglet;
1748
		return identificationOnglet;
1692
	}
1749
	}
1693
	
1750
	
1694
	private native String getTemplatePays() /*-{ 
1751
	private native String getTemplatePays() /*-{ 
1695
		return  [ 
1752
		return  [ 
1696
		'<tpl for=".">', 
1753
		'<tpl for=".">', 
1697
		'<div class="x-combo-list-item">{nom} ({abreviation})</div>', 
1754
		'<div class="x-combo-list-item">{nom} ({abreviation})</div>', 
1698
		'</tpl>' 
1755
		'</tpl>' 
1699
		].join(""); 
1756
		].join(""); 
1700
		}-*/;
1757
		}-*/;
1701
	
1758
	
1702
	private void peuplerCasesACocher(String donnees, CheckBoxGroup groupeCac, TextField<String> champAutre) {
1759
	private void peuplerCasesACocher(String donnees, CheckBoxGroup groupeCac, TextField<String> champAutre) {
1703
		String[] valeurs = donnees.split(";;");
1760
		String[] valeurs = donnees.split(";;");
1704
		for (int i = 0; i < valeurs.length; i++) {
1761
		for (int i = 0; i < valeurs.length; i++) {
1705
			if (valeurs[i].startsWith("AUTRE##")) {
1762
			if (valeurs[i].startsWith("AUTRE##")) {
1706
				champAutre.setValue(valeurs[i].replaceFirst("^AUTRE##", ""));
1763
				champAutre.setValue(valeurs[i].replaceFirst("^AUTRE##", ""));
1707
			} else {
1764
			} else {
1708
				List<CheckBox> cases = groupeCac.getAll();
1765
				List<CheckBox> cases = groupeCac.getAll();
1709
				for (int j = 0; j < cases.size(); j++) {
1766
				for (int j = 0; j < cases.size(); j++) {
1710
					if (cases.get(j).getId().equals("val-"+valeurs[i])) {
1767
					if (cases.get(j).getId().equals("val-"+valeurs[i])) {
1711
						cases.get(j).setValue(true);
1768
						cases.get(j).setValue(true);
1712
					}
1769
					}
1713
				}
1770
				}
1714
			}
1771
			}
1715
		}
1772
		}
1716
	}
1773
	}
1717
	
1774
	
1718
	private void peuplerBoutonsRadio(String valeur, RadioGroup groupeBr) {
1775
	private void peuplerBoutonsRadio(String valeur, RadioGroup groupeBr) {
1719
		List<Radio> boutons = groupeBr.getAll();
1776
		List<Radio> boutons = groupeBr.getAll();
1720
		String id = valeur+"_"+groupeBr.getName().replace("_grp", "");
1777
		String id = valeur+"_"+groupeBr.getName().replace("_grp", "");
1721
		for (int i = 0; i < boutons.size(); i++) {
1778
		for (int i = 0; i < boutons.size(); i++) {
1722
			if (boutons.get(i).getId().equals(id)) {
1779
			if (boutons.get(i).getId().equals(id)) {
1723
				boutons.get(i).setValue(true);
1780
				boutons.get(i).setValue(true);
1724
			}
1781
			}
1725
		}
1782
		}
1726
	}
1783
	}
1727
	
1784
	
1728
	private String creerChaineDenormalisee(List<CheckBox> liste) {
1785
	private String creerChaineDenormalisee(List<CheckBox> liste) {
1729
		String identifiants = "";
1786
		String identifiants = "";
-
 
1787
		if (liste != null) {
1730
		int taille = liste.size();
1788
			int taille = liste.size();
1731
		for (int i = 0; i < taille; i++) {
1789
			for (int i = 0; i < taille; i++) {
1732
			CheckBox cac = liste.get(i);
1790
				CheckBox cac = liste.get(i);
1733
			if (cac.isEnabled()) {
1791
				if (cac.isEnabled()) {
1734
				identifiants = identifiants.concat(";;"+cac.getData("id"));
1792
					identifiants = identifiants.concat(";;"+cac.getData("id"));
-
 
1793
				}
1735
			}
1794
			}
-
 
1795
			identifiants.replaceFirst("^;;", "");
1736
		}
1796
		}
1737
		return identifiants.replaceFirst("^;;", "");
1797
		return identifiants;
1738
	}
1798
	}
1739
	
1799
	
1740
	/** Méthode simplifiant la création de FormLayout.
1800
	/** Méthode simplifiant la création de FormLayout.
1741
	 * Chacun des paramètres peut prendre la valeur null pour utiliser la valeur par défaut.
1801
	 * Chacun des paramètres peut prendre la valeur null pour utiliser la valeur par défaut.
1742
	 * 
1802
	 * 
1743
	 * @param labelWidth largeur des labels. 
1803
	 * @param labelWidth largeur des labels. 
1744
	 * @param labelAlign alignement des labels
1804
	 * @param labelAlign alignement des labels
1745
	 * @param padding padding du layout
1805
	 * @param padding padding du layout
1746
	 * @return
1806
	 * @return
1747
	 */
1807
	 */
1748
	private FormLayout creerFormLayout(Integer labelWidth, LabelAlign labelAlign, Integer padding) {
1808
	private FormLayout creerFormLayout(Integer labelWidth, LabelAlign labelAlign, Integer padding) {
1749
		FormLayout formLayout = new FormLayout();
1809
		FormLayout formLayout = new FormLayout();
1750
		if (labelWidth != null) {
1810
		if (labelWidth != null) {
1751
			formLayout.setLabelWidth(labelWidth);
1811
			formLayout.setLabelWidth(labelWidth);
1752
		}
1812
		}
1753
		if (labelAlign != null) {
1813
		if (labelAlign != null) {
1754
			formLayout.setLabelAlign(labelAlign);
1814
			formLayout.setLabelAlign(labelAlign);
1755
		}
1815
		}
1756
		if (padding != null) {
1816
		if (padding != null) {
1757
			formLayout.setPadding(padding);
1817
			formLayout.setPadding(padding);
1758
		}
1818
		}
1759
		return formLayout;
1819
		return formLayout;
1760
	}
1820
	}
1761
	
1821
	
1762
	/** Méthode simplifiant la création de bouton radio oui/non
1822
	/** Méthode simplifiant la création de bouton radio oui/non
1763
	 * 
1823
	 * 
1764
	 * @param listeNom nom de la liste de valeur
1824
	 * @param listeNom nom de la liste de valeur
1765
	 * @return
1825
	 * @return
1766
	 */
1826
	 */
1767
	private RadioGroup creerChoixUniqueRadioGroupe(String groupeNom, String listeNom) {
1827
	private RadioGroup creerChoixUniqueRadioGroupe(String groupeNom, String listeNom) {
1768
		groupeNom += "_grp";
1828
		groupeNom += "_grp";
1769
		// NOTE : il semblerait qu'il faille aussi utiliser setName() pour éviter tout problème...
1829
		// NOTE : il semblerait qu'il faille aussi utiliser setName() pour éviter tout problème...
1770
		RadioGroup radioGroup = new RadioGroup(groupeNom);
1830
		RadioGroup radioGroup = new RadioGroup(groupeNom);
1771
		radioGroup.setName(groupeNom);
1831
		radioGroup.setName(groupeNom);
1772
 
1832
 
1773
		if (listeNom.equals("ouiNon")) {
1833
		if (listeNom.equals("ouiNon")) {
1774
			ValeurListe ouiNonListe = new ValeurListe();
1834
			ValeurListe ouiNonListe = new ValeurListe();
1775
			ouiNonListe.ajouter(new Valeur("1", "Oui", "NULL", "NULL"));
1835
			ouiNonListe.ajouter(new Valeur("1", "Oui", "NULL", "NULL"));
1776
			ouiNonListe.ajouter(new Valeur("0", "Non", "NULL", "NULL"));
1836
			ouiNonListe.ajouter(new Valeur("0", "Non", "NULL", "NULL"));
1777
			creerChoixUniqueBoutonRadio(radioGroup, ouiNonListe);
1837
			creerChoixUniqueBoutonRadio(radioGroup, ouiNonListe);
1778
		}
1838
		}
1779
		
1839
		
1780
		return radioGroup;
1840
		return radioGroup;
1781
	}
1841
	}
1782
	
1842
	
1783
	private void creerChoixUniqueBoutonRadio(RadioGroup radioGroupe, ValeurListe listeValeurs) {
1843
	private void creerChoixUniqueBoutonRadio(RadioGroup radioGroupe, ValeurListe listeValeurs) {
1784
		for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
1844
		for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
1785
			Valeur val = listeValeurs.get(it.next());
1845
			Valeur val = listeValeurs.get(it.next());
1786
			
1846
			
1787
			Radio radioBtn = new Radio();
1847
			Radio radioBtn = new Radio();
1788
			radioBtn.setName(radioGroupe.getName().replace("_grp", ""));
1848
			radioBtn.setName(radioGroupe.getName().replace("_grp", ""));
1789
			radioBtn.setId(val.getId()+"_"+radioBtn.getName());
1849
			radioBtn.setId(val.getId()+"_"+radioBtn.getName());
1790
			radioBtn.setBoxLabel(val.getNom());
1850
			radioBtn.setBoxLabel(val.getNom());
1791
			radioBtn.setValueAttribute(val.getId());
1851
			radioBtn.setValueAttribute(val.getId());
1792
			radioBtn.addListener(Events.Change, new Listener<ComponentEvent>() {
1852
			radioBtn.addListener(Events.Change, new Listener<ComponentEvent>() {
1793
	
1853
	
1794
				public void handleEvent(ComponentEvent be) {
1854
				public void handleEvent(ComponentEvent be) {
1795
					//Window.alert(((Radio) be.component).getName());
1855
					//Window.alert(((Radio) be.component).getName());
1796
					afficherChampSupplementaire(((Radio) be.component));
1856
					afficherChampSupplementaire(((Radio) be.component));
1797
				}
1857
				}
1798
				
1858
				
1799
			});
1859
			});
1800
			
1860
			
1801
			if (! val.getDescription().equals("NULL")) {
1861
			if (! val.getDescription().equals("NULL")) {
1802
				radioBtn.setToolTip(new ToolTipConfig(val.getNom(), val.getDescription()));
1862
				radioBtn.setToolTip(new ToolTipConfig(val.getNom(), val.getDescription()));
1803
			}
1863
			}
1804
			radioGroupe.add(radioBtn);
1864
			radioGroupe.add(radioBtn);
1805
		}
1865
		}
1806
	} 
1866
	} 
1807
	
1867
	
1808
	private void afficherChampSupplementaire(Radio radioBtn) {
1868
	private void afficherChampSupplementaire(Radio radioBtn) {
1809
		//GWT.log("Nom btn : "+radioBtn.getName()+" - Nom group : "+radioBtn.getGroup().getName(), null);
1869
		//GWT.log("Nom btn : "+radioBtn.getName()+" - Nom group : "+radioBtn.getGroup().getName(), null);
1810
		// Valeur du bouton radio déclenchant l'affichage des composants cachés
1870
		// Valeur du bouton radio déclenchant l'affichage des composants cachés
1811
		String valeurPourAfficher = "oui";
1871
		String valeurPourAfficher = "oui";
1812
		
1872
		
1813
		// Construction de la liste des composants à afficher/cacher
1873
		// Construction de la liste des composants à afficher/cacher
1814
		String radioGroupeNom = radioBtn.getGroup().getName();
1874
		String radioGroupeNom = radioBtn.getGroup().getName();
1815
		ArrayList<Object> composants = new ArrayList<Object>();		
1875
		ArrayList<Object> composants = new ArrayList<Object>();		
1816
		if (radioGroupeNom.equals("action_mark_grp")) {
1876
		if (radioGroupeNom.equals("action_mark_grp")) {
1817
			composants.add(actionTrukCp);
1877
			composants.add(actionTrukCp);
1818
		} else if (radioGroupeNom.equals("future_action_mark_grp")) {
1878
		} else if (radioGroupeNom.equals("future_action_mark_grp")) {
1819
			composants.add(futureActionChp);
1879
			composants.add(futureActionChp);
1820
		} else if (radioGroupeNom.equals("sans_motif_acces_mark_grp")) {
1880
		} else if (radioGroupeNom.equals("sans_motif_acces_mark_grp")) {
1821
			composants.add(sansMotifAccesChp);
1881
			composants.add(sansMotifAccesChp);
1822
		} else if (radioGroupeNom.equals("avec_motif_acces_mark_grp")) {
1882
		} else if (radioGroupeNom.equals("avec_motif_acces_mark_grp")) {
1823
			composants.add(avecMotifAccesChp);
1883
			composants.add(avecMotifAccesChp);
1824
		} else if (radioGroupeNom.equals("recherche_mark_grp")) {
1884
		} else if (radioGroupeNom.equals("recherche_mark_grp")) {
1825
			composants.add(provenanceRechercheTrukCp);
1885
			composants.add(provenanceRechercheTrukCp);
1826
			composants.add(typeRechercheTrukCp);
1886
			composants.add(typeRechercheTrukCp);
1827
		} else if (radioGroupeNom.equals("formation_mark_grp")) {
1887
		} else if (radioGroupeNom.equals("formation_mark_grp")) {
1828
			composants.add(formationChp);
1888
			composants.add(formationChp);
1829
		} else if (radioGroupeNom.equals("collection_commune_mark_grp")) {
1889
		} else if (radioGroupeNom.equals("collection_commune_mark_grp")) {
1830
			composants.add(collectionAutreTrukCp);
1890
			composants.add(collectionAutreTrukCp);
1831
		} else if (radioGroupeNom.equals("restauration_mark_grp")) {
1891
		} else if (radioGroupeNom.equals("restauration_mark_grp")) {
1832
			composants.add(opRestauTrukCp);
1892
			composants.add(opRestauTrukCp);
1833
		} else if (radioGroupeNom.equals("traitement_mark_grp")) {
1893
		} else if (radioGroupeNom.equals("traitement_mark_grp")) {
1834
			composants.add(traitementTrukCp);
1894
			composants.add(traitementTrukCp);
1835
		} else if (radioGroupeNom.equals("echantillon_acquisition_mark_grp")) {
1895
		} else if (radioGroupeNom.equals("echantillon_acquisition_mark_grp")) {
1836
			composants.add(traitementAcquisitionMarkRGrpChp);
1896
			composants.add(traitementAcquisitionMarkRGrpChp);
1837
		} else if (radioGroupeNom.equals("traitement_acquisition_mark_grp")) {
1897
		} else if (radioGroupeNom.equals("traitement_acquisition_mark_grp")) {
1838
			composants.add(traitementAcquisitionMarkLabel);
1898
			composants.add(traitementAcquisitionMarkLabel);
1839
			composants.add(poisonTraitementTrukCp);
1899
			composants.add(poisonTraitementTrukCp);
1840
			composants.add(insecteTraitementTrukCp);
1900
			composants.add(insecteTraitementTrukCp);
1841
		} else if (radioGroupeNom.equals("materiel_conservation_ce_grp")) {
1901
		} else if (radioGroupeNom.equals("materiel_conservation_ce_grp")) {
1842
			composants.add(autreMaterielTrukCp);
1902
			composants.add(autreMaterielTrukCp);
1843
			valeurPourAfficher = "non";
1903
			valeurPourAfficher = "non";
1844
		}
1904
		}
1845
		
1905
		
1846
		// Nous affichons/cachons les composant de la liste
1906
		// Nous affichons/cachons les composant de la liste
1847
		final int nbreComposants = composants.size();
1907
		final int nbreComposants = composants.size();
1848
		//GWT.log("Id : "+radioBtn.getId()+" - Class : "+radioBtn.getClass().toString()+"- Taille : "+tailleMax, null);
1908
		//GWT.log("Id : "+radioBtn.getId()+" - Class : "+radioBtn.getClass().toString()+"- Taille : "+tailleMax, null);
1849
		//Window.alert("Radio grp nom : "+radioGroupeNom+" - Id btn : "+radioBtn.getId()+" - Class : "+radioBtn.getClass().toString()+"- Taille : "+tailleMax);
1909
		//Window.alert("Radio grp nom : "+radioGroupeNom+" - Id btn : "+radioBtn.getId()+" - Class : "+radioBtn.getClass().toString()+"- Taille : "+tailleMax);
1850
		for (int i = 0; i < nbreComposants; i++) {
1910
		for (int i = 0; i < nbreComposants; i++) {
1851
			// En fonction du type de bouton cliquer, on affiche ou cache les champs
1911
			// En fonction du type de bouton cliquer, on affiche ou cache les champs
1852
			String type = radioBtn.getBoxLabel().toLowerCase();
1912
			String type = radioBtn.getBoxLabel().toLowerCase();
1853
			//GWT.log(type, null);
1913
			//GWT.log(type, null);
1854
			if (radioBtn.getValue() == true) {
1914
			if (radioBtn.getValue() == true) {
1855
				if (type.equals(valeurPourAfficher)) {
1915
				if (type.equals(valeurPourAfficher)) {
1856
					((Component) composants.get(i)).show();
1916
					((Component) composants.get(i)).show();
1857
				} else {
1917
				} else {
1858
					((Component) composants.get(i)).hide();
1918
					((Component) composants.get(i)).hide();
1859
					
-
 
1860
					
-
 
1861
					
-
 
1862
				}
1919
				}
1863
			}
1920
			}
1864
			// Si on a à faire à un ContentPanel, on l'actualise pour déclencher l'affichage
1921
			// Si on a à faire à un ContentPanel, on l'actualise pour déclencher l'affichage
1865
			if (composants.get(i) instanceof ContentPanel) {
1922
			if (composants.get(i) instanceof ContentPanel) {
1866
				((ContentPanel) composants.get(i)).layout();
1923
				((ContentPanel) composants.get(i)).layout();
1867
			}
1924
			}
1868
		}
1925
		}
1869
		
1926
		
1870
	}
1927
	}
1871
	
1928
	
1872
	/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
1929
	/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
1873
	 * Apelle un service retournant la liste des valeurs représentant les cases à cocher.
1930
	 * Apelle un service retournant la liste des valeurs représentant les cases à cocher.
1874
	 * Ajoute ou pas un champ "Autre".
1931
	 * Ajoute ou pas un champ "Autre".
1875
	 * 
1932
	 * 
1876
	 * @param listeNom nom de la liste de valeur
1933
	 * @param listeNom nom de la liste de valeur
1877
	 * @return
1934
	 * @return
1878
	 */
1935
	 */
1879
	private ContentPanel creerChoixMultipleCp(String listeNom) {
1936
	private ContentPanel creerChoixMultipleCp(String listeNom) {
1880
		modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeNom));
1937
		modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeNom));
1881
		ContentPanel cp = new ContentPanel();
1938
		ContentPanel cp = new ContentPanel();
1882
		cp.setLayout(creerFormLayout(650, LabelAlign.TOP, 0));
1939
		cp.setLayout(creerFormLayout(650, LabelAlign.TOP, 0));
1883
		cp.setHeaderVisible(false);
1940
		cp.setHeaderVisible(false);
1884
		return cp;
1941
		return cp;
1885
	}
1942
	}
1886
	
1943
	
1887
	/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
1944
	/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
1888
	 * Apelle un service retournant la liste des valeurs représentant les cases à cocher.
1945
	 * Apelle un service retournant la liste des valeurs représentant les cases à cocher.
1889
	 * Ajoute ou pas un champ "Autre".
1946
	 * Ajoute ou pas un champ "Autre".
1890
	 * 
1947
	 * 
1891
	 * @param cp panneau conteant le groupe de case à cocher
1948
	 * @param cp panneau conteant le groupe de case à cocher
1892
	 * @param cacGroup le groupe de case à cocher
1949
	 * @param cacGroup le groupe de case à cocher
1893
	 * @param listeValeurs la liste de valeurs à transformer en case à cocher
1950
	 * @param listeValeurs la liste de valeurs à transformer en case à cocher
1894
	 * @param boolAutreChp booléen indiquant si oui ou non le champ autre doit apparaître 
1951
	 * @param boolAutreChp booléen indiquant si oui ou non le champ autre doit apparaître 
1895
	 * @return
1952
	 * @return
1896
	 */
1953
	 */
1897
	private void creerChoixMultipleCac(ContentPanel cp, CheckBoxGroup cacGroupe, ValeurListe listeValeurs, Field<String> autreChp) {
1954
	private void creerChoixMultipleCac(ContentPanel cp, final CheckBoxGroup cacGroupe, ValeurListe listeValeurs, final Field<String> autreChp) {
1898
		cp.addListener(Events.Hide, new Listener<BaseEvent>() {
1955
		cp.addListener(Events.Hide, new Listener<BaseEvent>() {
1899
 
1956
 
1900
			public void handleEvent(BaseEvent be) {
1957
			public void handleEvent(BaseEvent be) {
1901
				ContentPanel cp = (ContentPanel) be.source;
-
 
1902
				List<Component> composants = cp.getItems();
-
 
1903
				for (Iterator<Component> it = composants.iterator(); it.hasNext();) {
-
 
1904
					Object composant = it.next();
1958
				cacGroupe.reset();
1905
					if (composant instanceof CheckBoxGroup) {
-
 
1906
						GWT.log("Classe : groupedecac", null);
-
 
1907
						CheckBoxGroup caseACocherGroupe = (CheckBoxGroup) composant;
-
 
1908
						caseACocherGroupe.reset();
1959
				autreChp.setValue("");
1909
						
-
 
1910
					}
-
 
1911
				}
-
 
1912
			}
1960
			}
1913
			
1961
			
1914
		});
1962
		});
1915
		cacGroupe.setAutoWidth(true);
1963
		cacGroupe.setAutoWidth(true);
1916
		cacGroupe.setData("liste_id", listeValeurs.getId());
1964
		cacGroupe.setData("liste_id", listeValeurs.getId());
1917
		for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
1965
		for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
1918
			Valeur val = listeValeurs.get(it.next());
1966
			Valeur val = listeValeurs.get(it.next());
1919
			String nom =  val.get("nom");
1967
			String nom =  val.get("nom");
1920
			CheckBox cac = new CheckBox();
1968
			CheckBox cac = new CheckBox();
1921
			cac.setId("val-"+val.getId());
1969
			cac.setId("val-"+val.getId());
1922
			cac.setData("id", val.getId());
1970
			cac.setData("id", val.getId());
1923
			cac.setBoxLabel(nom);
1971
			cac.setBoxLabel(nom);
1924
			if (! val.getDescription().equals("NULL")) {
1972
			if (! val.getDescription().equals("NULL")) {
1925
				cac.setToolTip(new ToolTipConfig(val.getNom(), val.getDescription()));
1973
				cac.setToolTip(new ToolTipConfig(val.getNom(), val.getDescription()));
1926
			}
1974
			}
1927
			cacGroupe.add(cac);
1975
			cacGroupe.add(cac);
1928
		}
1976
		}
1929
		cp.add(cacGroupe);
1977
		cp.add(cacGroupe);
1930
		
1978
		
1931
		if (autreChp != null) {
1979
		if (autreChp != null) {
1932
			ContentPanel autreCp = new ContentPanel();
1980
			ContentPanel autreCp = new ContentPanel();
1933
			autreCp.setLayout(creerFormLayout(75, LabelAlign.TOP, 0));
1981
			autreCp.setLayout(creerFormLayout(75, LabelAlign.TOP, 0));
1934
			autreCp.setHeaderVisible(false);
1982
			autreCp.setHeaderVisible(false);
1935
			autreChp.setId("autre-"+listeValeurs.getId());
1983
			autreChp.setId("autre-"+listeValeurs.getId());
1936
			autreChp.setFieldLabel("Autre");
1984
			autreChp.setFieldLabel("Autre");
1937
			autreChp.setLabelStyle("font-weight:normal;");
1985
			autreChp.setLabelStyle("font-weight:normal;");
1938
			autreCp.add(autreChp);
1986
			autreCp.add(autreChp);
1939
			cp.add(autreCp);
1987
			cp.add(autreCp);
1940
		}
1988
		}
1941
		
1989
		
1942
		cp.layout();
1990
		cp.layout();
1943
	}
1991
	}
1944
	
1992
	
1945
	public void rafraichir(Object nouvelleDonnees) {
1993
	public void rafraichir(Object nouvelleDonnees) {
1946
		try {
1994
		try {
1947
			if (nouvelleDonnees instanceof Information) {
1995
			if (nouvelleDonnees instanceof Information) {
1948
				Information info = (Information) nouvelleDonnees;
1996
				Information info = (Information) nouvelleDonnees;
1949
				if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) {
1997
				if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) {
1950
					GWT.log(info.getMessages().toString(), null);
1998
					GWT.log("MESSAGES:\n"+info.getMessages().toString(), null);
1951
				}
1999
				}
-
 
2000
				if (info.getDeboguages() != null && !info.getDeboguages().toString().equals("[]")) {
-
 
2001
					GWT.log("DEBOGUAGE:\n"+info.getDeboguages().toString(), null);
-
 
2002
				}
-
 
2003
				
1952
				if (info.getType().equals("modif_structure")) {
2004
				if (info.getType().equals("modif_structure")) {
1953
					Info.display("Modification d'une institution", info.toString());
2005
					Info.display("Modification d'une institution", info.toString());
1954
				} else if (info.getType().equals("ajout_structure")) {
2006
				} else if (info.getType().equals("ajout_structure")) {
1955
					if (info.toString().matches("^[0-9]+$")) {
2007
					if (info.getMessage(0) != null && info.getMessage(0).matches("^[0-9]+$")) {
1956
						Info.display("Ajout d'une Institution", "L'intitution a bien été ajoutée");
2008
						Info.display("Ajout d'une Institution", "L'intitution a bien été ajoutée");
1957
						// Suite à la récupération de l'id de l'institution nouvellement ajoutée nous ajoutons le personnel
2009
						// Suite à la récupération de l'id de l'institution nouvellement ajoutée nous ajoutons le personnel
1958
						mediateur.ajouterStructureAPersonne(this, info.toString(), personnelAjoute);
2010
						mediateur.ajouterStructureAPersonne(this, info.toString(), personnelAjoute);
1959
					} else {
2011
					} else {
1960
						Info.display("Ajout d'une Institution", info.toString());
2012
						Info.display("Ajout d'une Institution", info.toString());
1961
					}
2013
					}
1962
				} else if (info.getType().equals("modif_structure_a_personne")) {
2014
				} else if (info.getType().equals("modif_structure_a_personne")) {
1963
					Info.display("Modification du Personnel", info.toString());
2015
					Info.display("Modification du Personnel", info.toString());
1964
				} else if (info.getType().equals("suppression_structure_a_personne")) {
2016
				} else if (info.getType().equals("suppression_structure_a_personne")) {
1965
					Info.display("Suppression du Personnel", info.toString());
2017
					Info.display("Suppression du Personnel", info.toString());
1966
				} else if (info.getType().equals("ajout_structure_a_personne")) {
2018
				} else if (info.getType().equals("ajout_structure_a_personne")) {
1967
					Info.display("Ajout du Personnel", info.toString());
2019
					Info.display("Ajout du Personnel", info.toString());
1968
				} else if (info.getType().equals("selection_structure")) {
2020
				} else if (info.getType().equals("selection_structure")) {
1969
					Info.display("Modification d'une institution", info.toString());
2021
					Info.display("Modification d'une institution", info.toString());
1970
					mode = "MODIF";
-
 
1971
					GWT.log("Mode du formulaire : "+mode, null);
2022
					GWT.log("Mode du formulaire : "+mode, null);
1972
					String titre = i18nC.titreModifFormStructurePanneau();
2023
					String titre = i18nC.titreModifFormStructurePanneau();
1973
					if (info.getDonnee(0) != null) {
2024
					if (info.getDonnee(0) != null) {
1974
						identification = (Structure) info.getDonnee(0);
2025
						identification = (Structure) info.getDonnee(0);
1975
						if (onglets.getSelectedItem().equals(identificationOnglet)) {
2026
						if (onglets.getSelectedItem().equals(identificationOnglet)) {
1976
							peuplerStructureIdentification();
2027
							peuplerStructureIdentification();
1977
						}
2028
						}
1978
						// Composition du titre
2029
						// Composition du titre
1979
						titre += " - ID : "+identification.getId();
2030
						titre += " - ID : "+identification.getId();
1980
					}
2031
					}
1981
					if (info.getDonnee(1) != null) {
2032
					if (info.getDonnee(1) != null) {
1982
						conservation = (StructureConservation) info.getDonnee(1);
2033
						conservation = (StructureConservation) info.getDonnee(1);
1983
						if (onglets.getSelectedItem().equals(conservationOnglet)) {
2034
						if (onglets.getSelectedItem().equals(conservationOnglet)) {
1984
							peuplerStructureConservation();
2035
							peuplerStructureConservation();
1985
						}
2036
						}
1986
					}
2037
					}
1987
					if (info.getDonnee(2) != null) {
2038
					if (info.getDonnee(2) != null) {
1988
						valorisation = (StructureValorisation) info.getDonnee(2);
2039
						valorisation = (StructureValorisation) info.getDonnee(2);
1989
						if (valorisation != null) {
2040
						if (valorisation != null) {
1990
							if (onglets.getSelectedItem().equals(valorisationOnglet)) {
2041
							if (onglets.getSelectedItem().equals(valorisationOnglet)) {
1991
								peuplerStructureValorisation();
2042
								peuplerStructureValorisation();
1992
							}
2043
							}
1993
						}
2044
						}
1994
					}
2045
					}
1995
					structureFormPanneau.setHeading(titre);
2046
					structureFormPanneau.setHeading(titre);
1996
				} else if (info.getType().equals("liste_structure_a_personne")) {
2047
				} else if (info.getType().equals("liste_structure_a_personne")) {
1997
					if (info.getDonnee(0) != null) {
2048
					if (info.getDonnee(0) != null) {
1998
						personnel = (StructureAPersonneListe) info.getDonnee(0);
2049
						personnel = (StructureAPersonneListe) info.getDonnee(0);
1999
 
-
 
2000
						// Création des objets contenant les manipulations de la grille
-
 
2001
						personnelModifie = new StructureAPersonneListe();
-
 
2002
						personnelAjoute = new StructureAPersonneListe();
-
 
2003
						personnelSupprime = new StructureAPersonneListe();
-
 
2004
 
2050
 
2005
						//GWT.log(personnel.toString(), null);
2051
						//GWT.log(personnel.toString(), null);
2006
						if (onglets.getSelectedItem().equals(personnelOnglet)) {
2052
						if (onglets.getSelectedItem().equals(personnelOnglet)) {
2007
							peuplerStructurePersonnel();
2053
							peuplerStructurePersonnel();
2008
							Info.display("Chargement du Personnel", "ok");
2054
							Info.display("Chargement du Personnel", "ok");
2009
						}
2055
						}
2010
					}
2056
					}
2011
					if (info.getDonnee(1) != null) {
2057
					if (info.getDonnee(1) != null) {
2012
						Info.display("Debug", info.getDonnee(1).toString());
2058
						Info.display("Debug", info.getDonnee(1).toString());
2013
					}
2059
					}
2014
				} else if (info.getType().equals("liste_personne")) {
2060
				} else if (info.getType().equals("liste_personne")) {
2015
					if (info.getDonnee(0) != null) {
2061
					if (info.getDonnee(0) != null) {
2016
						PersonneListe personnes = (PersonneListe) info.getDonnee(0);
2062
						PersonneListe personnes = (PersonneListe) info.getDonnee(0);
2017
						
2063
						
2018
						List<Personne> liste = new ArrayList<Personne>();
2064
						List<Personne> liste = new ArrayList<Personne>();
2019
						for (Iterator<String> it = personnes.keySet().iterator(); it.hasNext();) {
2065
						for (Iterator<String> it = personnes.keySet().iterator(); it.hasNext();) {
2020
							liste.add(personnes.get(it.next()));
2066
							liste.add(personnes.get(it.next()));
2021
						}
2067
						}
2022
						
2068
						
2023
						GWT.log("Nbre de personnes trouvées :"+personnes.size(), null);
2069
						GWT.log("Nbre de personnes trouvées :"+personnes.size(), null);
2024
						personneExistanteMagazin.removeAll();
2070
						personneExistanteMagazin.removeAll();
2025
						personneExistanteMagazin.add(liste);
2071
						personneExistanteMagazin.add(liste);
2026
						personneExistanteCombo.setStore(personneExistanteMagazin);
2072
						personneExistanteCombo.setStore(personneExistanteMagazin);
2027
						personneExistanteCombo.expand();
2073
						personneExistanteCombo.expand();
2028
					}
2074
					}
2029
				}
2075
				}
2030
			} else if (nouvelleDonnees instanceof ValeurListe) {
2076
			} else if (nouvelleDonnees instanceof ValeurListe) {
2031
				ValeurListe listeValeurs = (ValeurListe) nouvelleDonnees;
2077
				ValeurListe listeValeurs = (ValeurListe) nouvelleDonnees;
2032
				
2078
				
2033
				List<Valeur> liste = new ArrayList<Valeur>();
2079
				List<Valeur> liste = new ArrayList<Valeur>();
2034
				for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
2080
				for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
2035
					liste.add(listeValeurs.get(it.next()));
2081
					liste.add(listeValeurs.get(it.next()));
2036
				}
2082
				}
2037
				// Test pour savoir si la liste contient des éléments
2083
				// Test pour savoir si la liste contient des éléments
2038
				if (liste.size() > 0) {
2084
				if (liste.size() > 0) {
2039
					Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
2085
					Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
2040
					if (listeValeurs.getId().equals(config.getListeId("stpr"))) {
2086
					if (listeValeurs.getId().equals(config.getListeId("stpr"))) {
2041
						magazinLstpr.removeAll();
2087
						magazinLstpr.removeAll();
2042
						magazinLstpr.add(liste);
2088
						magazinLstpr.add(liste);
2043
						comboLstpr.setStore(magazinLstpr);
2089
						comboLstpr.setStore(magazinLstpr);
2044
					}
2090
					}
2045
					if (listeValeurs.getId().equals(config.getListeId("stpu"))) {
2091
					if (listeValeurs.getId().equals(config.getListeId("stpu"))) {
2046
						magazinLstpu.removeAll();
2092
						magazinLstpu.removeAll();
2047
						magazinLstpu.add(liste);
2093
						magazinLstpu.add(liste);
2048
						comboLstpu.setStore(magazinLstpu);
2094
						comboLstpu.setStore(magazinLstpu);
2049
					}
2095
					}
2050
					if (listeValeurs.getId().equals(config.getListeId("statut"))) {
2096
					if (listeValeurs.getId().equals(config.getListeId("statut"))) {
2051
						magazinLiStatut.removeAll();
2097
						magazinLiStatut.removeAll();
2052
						magazinLiStatut.add(liste);
2098
						magazinLiStatut.add(liste);
2053
						comboLiStatut.setStore(magazinLiStatut);
2099
						comboLiStatut.setStore(magazinLiStatut);
2054
					}
2100
					}
2055
					if (listeValeurs.getId().equals(config.getListeId("fonction"))) {
2101
					if (listeValeurs.getId().equals(config.getListeId("fonction"))) {
2056
						// FIXME : le store ne contient pas tout le temps les données, chose étrange.
2102
						// FIXME : le store ne contient pas tout le temps les données, chose étrange.
2057
						// On stocke donc les données dans une variables de la classe pour recharger le store si besoin.
2103
						// On stocke donc les données dans une variables de la classe pour recharger le store si besoin.
2058
						fonctionsListe = liste;
2104
						fonctionsListe = liste;
2059
						fonctionsMagazin.removeAll();
2105
						fonctionsMagazin.removeAll();
2060
						fonctionsMagazin.add(liste);
2106
						fonctionsMagazin.add(liste);
2061
						fonctionsCombo.setStore(fonctionsMagazin);
2107
						fonctionsCombo.setStore(fonctionsMagazin);
2062
						rafraichirPersonnel();
-
 
2063
					}
2108
					}
2064
					if (listeValeurs.getId().equals(config.getListeId("pays"))) {
2109
					if (listeValeurs.getId().equals(config.getListeId("pays"))) {
2065
						magazinPays.removeAll();
2110
						magazinPays.removeAll();
2066
						magazinPays.add(liste);
2111
						magazinPays.add(liste);
2067
						comboPays.setStore(magazinPays);
2112
						comboPays.setStore(magazinPays);
2068
					}
2113
					}
2069
					if (listeValeurs.getId().equals(config.getListeId("localStockage"))) {
2114
					if (listeValeurs.getId().equals(config.getListeId("localStockage"))) {
2070
						localStockageAutreChp = new TextField<String>();
2115
						localStockageAutreChp = new TextField<String>();
2071
						creerChoixMultipleCac(localStockageTrukCp, localStockageTrukCacGrpChp, listeValeurs, localStockageAutreChp);
2116
						creerChoixMultipleCac(localStockageTrukCp, localStockageTrukCacGrpChp, listeValeurs, localStockageAutreChp);
2072
					}
2117
					}
2073
					if (listeValeurs.getId().equals(config.getListeId("meubleStockage"))) {
2118
					if (listeValeurs.getId().equals(config.getListeId("meubleStockage"))) {
2074
						meubleStockageAutreChp = new TextField<String>();
2119
						meubleStockageAutreChp = new TextField<String>();
2075
						creerChoixMultipleCac(meubleStockageTrukCp, meubleStockageTrukCacGrpChp, listeValeurs, meubleStockageAutreChp);
2120
						creerChoixMultipleCac(meubleStockageTrukCp, meubleStockageTrukCacGrpChp, listeValeurs, meubleStockageAutreChp);
2076
					}
2121
					}
2077
					if (listeValeurs.getId().equals(config.getListeId("parametreStockage"))) {
2122
					if (listeValeurs.getId().equals(config.getListeId("parametreStockage"))) {
2078
						parametreStockageAutreChp = new TextField<String>();
2123
						parametreStockageAutreChp = new TextField<String>();
2079
						creerChoixMultipleCac(parametreStockageTrukCp, parametreStockageTrukCacGrpChp, listeValeurs, parametreStockageAutreChp);
2124
						creerChoixMultipleCac(parametreStockageTrukCp, parametreStockageTrukCacGrpChp, listeValeurs, parametreStockageAutreChp);
2080
					}
2125
					}
2081
					if (listeValeurs.getId().equals(config.getListeId("autreCollection"))) {
2126
					if (listeValeurs.getId().equals(config.getListeId("autreCollection"))) {
2082
						if (collectionAutreTrukCp.getItemByItemId("collectionAutreTrukCacGrpChp") == null) {
2127
						if (collectionAutreTrukCp.getItemByItemId("collectionAutreTrukCacGrpChp") == null) {
2083
							collectionAutreTrukCacGrpChp.setId("collectionAutreTrukCacGrpChp");
2128
							collectionAutreTrukCacGrpChp.setId("collectionAutreTrukCacGrpChp");
2084
							collectionAutreAutreChp = new TextField<String>();
2129
							collectionAutreAutreChp = new TextField<String>();
2085
							creerChoixMultipleCac(collectionAutreTrukCp, collectionAutreTrukCacGrpChp, listeValeurs, collectionAutreAutreChp);
2130
							creerChoixMultipleCac(collectionAutreTrukCp, collectionAutreTrukCacGrpChp, listeValeurs, collectionAutreAutreChp);
2086
						}
2131
						}
2087
						if (autreCollectionTrukCp.getItemByItemId("autreCollectionTrukCacGrpChp") == null) {
2132
						if (autreCollectionTrukCp.getItemByItemId("autreCollectionTrukCacGrpChp") == null) {
2088
							autreCollectionTrukCacGrpChp.setId("autreCollectionTrukCacGrpChp");
2133
							autreCollectionTrukCacGrpChp.setId("autreCollectionTrukCacGrpChp");
2089
							autreCollectionAutreChp = new TextField<String>();
2134
							autreCollectionAutreChp = new TextField<String>();
2090
							creerChoixMultipleCac(autreCollectionTrukCp, autreCollectionTrukCacGrpChp, listeValeurs, autreCollectionAutreChp);
2135
							creerChoixMultipleCac(autreCollectionTrukCp, autreCollectionTrukCacGrpChp, listeValeurs, autreCollectionAutreChp);
2091
						}
2136
						}
2092
					}
2137
					}
2093
					if (listeValeurs.getId().equals(config.getListeId("opRestau"))) {
2138
					if (listeValeurs.getId().equals(config.getListeId("opRestau"))) {
2094
						opRestauAutreChp = new TextField<String>();
2139
						opRestauAutreChp = new TextField<String>();
2095
						creerChoixMultipleCac(opRestauTrukCp, opRestauTrukCacGrpChp, listeValeurs, opRestauAutreChp);
2140
						creerChoixMultipleCac(opRestauTrukCp, opRestauTrukCacGrpChp, listeValeurs, opRestauAutreChp);
2096
					}
2141
					}
2097
					if (listeValeurs.getId().equals(config.getListeId("onep"))) {
2142
					if (listeValeurs.getId().equals(config.getListeId("onep"))) {
2098
						creerChoixUniqueBoutonRadio(materielConservationCeRGrpChp, listeValeurs);
2143
						creerChoixUniqueBoutonRadio(materielConservationCeRGrpChp, listeValeurs);
2099
						materielConservationCp.add(materielConservationCeRGrpChp);
2144
						materielConservationCp.add(materielConservationCeRGrpChp);
2100
						materielConservationCp.layout();
2145
						materielConservationCp.layout();
2101
					}
2146
					}
2102
					if (listeValeurs.getId().equals(config.getListeId("autreMateriel"))) {
2147
					if (listeValeurs.getId().equals(config.getListeId("autreMateriel"))) {
2103
						autreMaterielAutreChp = new TextField<String>();
2148
						autreMaterielAutreChp = new TextField<String>();
2104
						creerChoixMultipleCac(autreMaterielTrukCp, autreMaterielTrukCacGrpChp, listeValeurs, autreMaterielAutreChp);
2149
						creerChoixMultipleCac(autreMaterielTrukCp, autreMaterielTrukCacGrpChp, listeValeurs, autreMaterielAutreChp);
2105
					}
2150
					}
2106
					if (listeValeurs.getId().equals(config.getListeId("poisonTraitement"))) {
2151
					if (listeValeurs.getId().equals(config.getListeId("poisonTraitement"))) {
2107
						poisonTraitementAutreChp = new TextField<String>();
2152
						poisonTraitementAutreChp = new TextField<String>();
2108
						creerChoixMultipleCac(poisonTraitementTrukCp, poisonTraitementTrukCacGrpChp, listeValeurs, poisonTraitementAutreChp);
2153
						creerChoixMultipleCac(poisonTraitementTrukCp, poisonTraitementTrukCacGrpChp, listeValeurs, poisonTraitementAutreChp);
2109
					}
2154
					}
2110
					if (listeValeurs.getId().equals(config.getListeId("insecteTraitement"))) {
2155
					if (listeValeurs.getId().equals(config.getListeId("insecteTraitement"))) {
2111
						if (traitementTrukCp.getItemByItemId("traitementTrukCacGrpChp") == null) {
2156
						if (traitementTrukCp.getItemByItemId("traitementTrukCacGrpChp") == null) {
2112
							traitementTrukCacGrpChp.setId("traitementTrukCacGrpChp");
2157
							traitementTrukCacGrpChp.setId("traitementTrukCacGrpChp");
2113
							traitementAutreChp = new TextField<String>();
2158
							traitementAutreChp = new TextField<String>();
2114
							creerChoixMultipleCac(traitementTrukCp, traitementTrukCacGrpChp, listeValeurs, traitementAutreChp);
2159
							creerChoixMultipleCac(traitementTrukCp, traitementTrukCacGrpChp, listeValeurs, traitementAutreChp);
2115
						}
2160
						}
2116
						if (insecteTraitementTrukCp.getItemByItemId("insecteTraitementTrukCacGrpChp") == null) {
2161
						if (insecteTraitementTrukCp.getItemByItemId("insecteTraitementTrukCacGrpChp") == null) {
2117
							insecteTraitementTrukCacGrpChp.setId("insecteTraitementTrukCacGrpChp");
2162
							insecteTraitementTrukCacGrpChp.setId("insecteTraitementTrukCacGrpChp");
2118
							insecteTraitementAutreChp = new TextField<String>();
2163
							insecteTraitementAutreChp = new TextField<String>();
2119
							creerChoixMultipleCac(insecteTraitementTrukCp, insecteTraitementTrukCacGrpChp, listeValeurs, insecteTraitementAutreChp);
2164
							creerChoixMultipleCac(insecteTraitementTrukCp, insecteTraitementTrukCacGrpChp, listeValeurs, insecteTraitementAutreChp);
2120
						}
2165
						}
2121
					}
2166
					}
2122
					if (listeValeurs.getId().equals(config.getListeId("actionValorisation"))) {
2167
					if (listeValeurs.getId().equals(config.getListeId("actionValorisation"))) {
2123
						actionAutreChp = new TextField<String>();
2168
						actionAutreChp = new TextField<String>();
2124
						creerChoixMultipleCac(actionTrukCp, actionTrukCacGrpChp, listeValeurs, actionAutreChp);
2169
						creerChoixMultipleCac(actionTrukCp, actionTrukCacGrpChp, listeValeurs, actionAutreChp);
2125
					}
2170
					}
2126
					if (listeValeurs.getId().equals(config.getListeId("continentEtFr"))) {
2171
					if (listeValeurs.getId().equals(config.getListeId("continentEtFr"))) {
2127
						provenanceRechercheAutreChp = new TextField<String>();
2172
						provenanceRechercheAutreChp = new TextField<String>();
2128
						creerChoixMultipleCac(provenanceRechercheTrukCp, provenanceRechercheTrukCacGrpChp, listeValeurs, provenanceRechercheAutreChp);
2173
						creerChoixMultipleCac(provenanceRechercheTrukCp, provenanceRechercheTrukCacGrpChp, listeValeurs, provenanceRechercheAutreChp);
2129
					}
2174
					}
2130
					if (listeValeurs.getId().equals(config.getListeId("typeRecherche"))) {
2175
					if (listeValeurs.getId().equals(config.getListeId("typeRecherche"))) {
2131
						typeRechercheAutreChp = new TextField<String>();
2176
						typeRechercheAutreChp = new TextField<String>();
2132
						creerChoixMultipleCac(typeRechercheTrukCp, typeRechercheTrukCacGrpChp, listeValeurs, typeRechercheAutreChp);
2177
						creerChoixMultipleCac(typeRechercheTrukCp, typeRechercheTrukCacGrpChp, listeValeurs, typeRechercheAutreChp);
2133
					}
2178
					}
2134
					//GWT.log("La liste #"+listeValeurs.getId()+" a été reçue!", null);
2179
					//GWT.log("La liste #"+listeValeurs.getId()+" a été reçue!", null);
2135
				} else {
2180
				} else {
2136
					GWT.log("La liste #"+listeValeurs.getId()+" ne contient aucune valeurs!", null);
2181
					GWT.log("La liste #"+listeValeurs.getId()+" ne contient aucune valeurs!", null);
2137
				}
2182
				}
2138
			} else if (nouvelleDonnees instanceof ProjetListe) {
2183
			} else if (nouvelleDonnees instanceof ProjetListe) {
2139
				ProjetListe projets = (ProjetListe) nouvelleDonnees;
2184
				ProjetListe projets = (ProjetListe) nouvelleDonnees;
2140
				
2185
				
2141
				List<Projet> liste = new ArrayList<Projet>();
2186
				List<Projet> liste = new ArrayList<Projet>();
2142
				for (Iterator<String> it = projets.keySet().iterator(); it.hasNext();) {
2187
				for (Iterator<String> it = projets.keySet().iterator(); it.hasNext();) {
2143
					liste.add(projets.get(it.next()));
2188
					liste.add(projets.get(it.next()));
2144
				}
2189
				}
2145
				projetsMagazin.removeAll();
2190
				projetsMagazin.removeAll();
2146
				projetsMagazin.add(liste);
2191
				projetsMagazin.add(liste);
2147
				projetsCombo.setStore(projetsMagazin);
2192
				projetsCombo.setStore(projetsMagazin);
2148
			} else {
2193
			} else {
2149
				GWT.log("Pas de correspondance dans la méthode rafraichir() de la classe "+this.getClass(), null);
2194
				GWT.log("Pas de correspondance dans la méthode rafraichir() de la classe "+this.getClass(), null);
2150
			}
2195
			}
2151
		} catch (Exception e) {
2196
		} catch (Exception e) {
2152
			GWT.log("rafraichir()", e);
2197
			GWT.log("rafraichir()", e);
2153
		}
2198
		}
2154
	}
2199
	}
2155
	
2200
	
2156
	private void rafraichirPersonnel() {
2201
	private void rafraichirPersonnel() {
2157
		if (mode.equals(MODE_MODIFIER)) {
2202
		if (mode.equals(MODE_MODIFIER)) {
2158
			initialiserGrillePersonnelEnModifcation();
2203
			initialiserGrillePersonnelEnModifcation();
2159
		} else if (mode.equals(MODE_AJOUTER)) {
2204
		} else if (mode.equals(MODE_AJOUTER)) {
2160
			initialiserGrillePersonnelEnAjout();
2205
			initialiserGrillePersonnelEnAjout();
2161
		}
2206
		}
2162
	}
2207
	}
2163
	
2208
	
2164
	private void rafraichirPersonneExistante(String nom) {
2209
	private void rafraichirPersonneExistante(String nom) {
2165
		mediateur.selectionnerPersonneParNomComplet(this, null, nom+"%"); 
2210
		mediateur.selectionnerPersonneParNomComplet(this, null, nom+"%"); 
2166
	}
2211
	}
2167
	
2212
	
2168
	private void ajouterMembreAGrillePersonnel(StructureAPersonne personnel) {
2213
	private void ajouterMembreAGrillePersonnel(StructureAPersonne personnel) {
2169
		grillePersonnel.stopEditing();
2214
		grillePersonnel.stopEditing();
2170
		personnelGrilleMagazin.insert(new StructureAPersonne(), 0);
2215
		personnelGrilleMagazin.insert(personnel, 0);
2171
		
2216
		
2172
		// Nous modifions l'enregistrement pour que le modèle soit pris en compte lors de la collecte.
2217
		// Nous modifions l'enregistrement pour que le modèle soit pris en compte lors de la collecte.
2173
		Record record = personnelGrilleMagazin.getRecord(personnelGrilleMagazin.getAt(0));
2218
		Record record = personnelGrilleMagazin.getRecord(personnelGrilleMagazin.getAt(0));
2174
		record.beginEdit();
2219
		record.beginEdit();
2175
		if (!personnel.getFonction().equals("")) {
2220
		if (!personnel.getFonction().equals("")) {
2176
			Object fonction = fonctionEditor.preProcessValue(personnel.getFonction());
2221
			Object fonction = fonctionEditor.preProcessValue(personnel.getFonction());
2177
			if (fonction != null && fonction instanceof Valeur) {
2222
			if (fonction != null && fonction instanceof Valeur) {
2178
				record.set("fonction", ((Valeur)fonction).getNom());
2223
				record.set("fonction", ((Valeur)fonction).getNom());
2179
			}
2224
			}
2180
		}
2225
		}
2181
		if (!personnel.getPrenom().equals("")) {
2226
		if (!personnel.getPrenom().equals("")) {
2182
			record.set("prenom", personnel.getPrenom());
2227
			record.set("prenom", personnel.getPrenom());
2183
		}
2228
		}
2184
		if (!personnel.getNom().equals("")) {
2229
		if (!personnel.getNom().equals("")) {
2185
			record.set("nom", personnel.getNom());
2230
			record.set("nom", personnel.getNom());
2186
		}
2231
		}
2187
		if (!personnel.getTelephone().equals("")) {
2232
		if (!personnel.getTelephone().equals("")) {
2188
			record.set("telephone", personnel.selectionnerTelephone(Personne.TELEPHONE_FIXE));
2233
			record.set("telephone", personnel.selectionnerTelephone(Personne.TELEPHONE_FIXE));
2189
		}
2234
		}
2190
		if (!personnel.getFax().equals("")) {
2235
		if (!personnel.getFax().equals("")) {
2191
			record.set("fax", personnel.selectionnerFax(1));
2236
			record.set("fax", personnel.selectionnerFax(1));
2192
		}
2237
		}
2193
		if (!personnel.getCourriel().equals("")) {
2238
		if (!personnel.getCourriel().equals("")) {
2194
			record.set("courriel", personnel.selectionnerCourriel(1));
2239
			record.set("courriel", personnel.selectionnerCourriel(1));
2195
		}
2240
		}
2196
		if (!personnel.getStatut().equals("")) {
2241
		if (!personnel.getStatut().equals("")) {
2197
			record.set("statut", personnel.getStatut());
2242
			record.set("statut", personnel.getStatut());
2198
		}
2243
		}
2199
		String tempsDeTravail = personnel.getBotaTravailHebdoTps();
2244
		String tempsDeTravail = personnel.getBotaTravailHebdoTps();
2200
		record.set("travail", (tempsDeTravail.matches("^[0-9]+$")  ? Integer.parseInt(tempsDeTravail) : 0));
2245
		record.set("travail", (tempsDeTravail.matches("^[0-9]+$")  ? Integer.parseInt(tempsDeTravail) : 0));
2201
		if (!personnel.getSpecialite().equals("")) {
2246
		if (!personnel.getSpecialite().equals("")) {
2202
			record.set("specialite", personnel.afficherSpecialite());
2247
			record.set("specialite", personnel.afficherSpecialite());
2203
		}
2248
		}
2204
		record.set("contact", (personnel.getContact().equals("1") ? true : false));
2249
		record.set("contact", (personnel.getContact().equals("1") ? true : false));
2205
		record.set("etat", personnel.get("etat"));
2250
		record.set("etat", personnel.get("etat"));
2206
		record.endEdit();
2251
		record.endEdit();
2207
		
2252
		
2208
		grillePersonnel.startEditing(0, 0);
2253
		grillePersonnel.startEditing(0, 0);
2209
	}
2254
	}
2210
	
2255
	
2211
	private void initialiserGrillePersonnelEnAjout() {
2256
	private void initialiserGrillePersonnelEnAjout() {
2212
		personnelGrilleMagazin.removeAll();
2257
		personnelGrilleMagazin.removeAll();
2213
		StructureAPersonne conservateurDesCollections = new StructureAPersonne(StructureAPersonne.FONCTION_CONSERVATEUR, StructureAPersonne.ROLE_EQUIPE, StructureAPersonne.ETAT_AJOUTE);
2258
		StructureAPersonne conservateurDesCollections = new StructureAPersonne(StructureAPersonne.FONCTION_CONSERVATEUR, StructureAPersonne.ROLE_EQUIPE, StructureAPersonne.ETAT_AJOUTE);
2214
		ajouterMembreAGrillePersonnel(conservateurDesCollections);
2259
		ajouterMembreAGrillePersonnel(conservateurDesCollections);
2215
		StructureAPersonne directeurDuPersonnel = new StructureAPersonne(StructureAPersonne.FONCTION_DIRECTEUR, StructureAPersonne.ROLE_EQUIPE, StructureAPersonne.ETAT_AJOUTE);
2260
		StructureAPersonne directeurDuPersonnel = new StructureAPersonne(StructureAPersonne.FONCTION_DIRECTEUR, StructureAPersonne.ROLE_EQUIPE, StructureAPersonne.ETAT_AJOUTE);
2216
		ajouterMembreAGrillePersonnel(directeurDuPersonnel);
2261
		ajouterMembreAGrillePersonnel(directeurDuPersonnel);
2217
	}
2262
	}
2218
	
2263
	
2219
	private void initialiserGrillePersonnelEnModifcation() {
2264
	private void initialiserGrillePersonnelEnModifcation() {
2220
		mediateur.selectionnerStructureAPersonne(this, identification.getId(), StructureAPersonne.ROLE_EQUIPE);
2265
		mediateur.selectionnerStructureAPersonne(this, identification.getId(), StructureAPersonne.ROLE_EQUIPE);
2221
	}
2266
	}
2222
}
2267
}