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