Subversion Repositories eFlore/Applications.coel

Rev

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

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