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 |
|
172 |
jp_milcent |
7 |
import org.tela_botanica.client.ComposantId;
|
119 |
jpm |
8 |
import org.tela_botanica.client.Mediateur;
|
91 |
jpm |
9 |
import org.tela_botanica.client.Modele;
|
|
|
10 |
import org.tela_botanica.client.RegistreId;
|
115 |
jpm |
11 |
import org.tela_botanica.client.i18n.Constantes;
|
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;
|
102 |
jpm |
17 |
import org.tela_botanica.client.modeles.Personne;
|
119 |
jpm |
18 |
import org.tela_botanica.client.modeles.Structure;
|
91 |
jpm |
19 |
import org.tela_botanica.client.modeles.Valeur;
|
|
|
20 |
import org.tela_botanica.client.modeles.ValeurListe;
|
69 |
jpm |
21 |
|
111 |
jpm |
22 |
import com.extjs.gxt.ui.client.Events;
|
91 |
jpm |
23 |
import com.extjs.gxt.ui.client.Registry;
|
69 |
jpm |
24 |
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
|
110 |
jpm |
25 |
import com.extjs.gxt.ui.client.Style.Scroll;
|
111 |
jpm |
26 |
import com.extjs.gxt.ui.client.event.ComponentEvent;
|
|
|
27 |
import com.extjs.gxt.ui.client.event.Listener;
|
100 |
jpm |
28 |
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
|
|
|
29 |
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
|
103 |
jpm |
30 |
import com.extjs.gxt.ui.client.event.SelectionListener;
|
|
|
31 |
import com.extjs.gxt.ui.client.event.ToolBarEvent;
|
69 |
jpm |
32 |
import com.extjs.gxt.ui.client.store.ListStore;
|
172 |
jp_milcent |
33 |
import com.extjs.gxt.ui.client.store.Store;
|
111 |
jpm |
34 |
import com.extjs.gxt.ui.client.widget.Component;
|
102 |
jpm |
35 |
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
153 |
jpm |
36 |
import com.extjs.gxt.ui.client.widget.Info;
|
69 |
jpm |
37 |
import com.extjs.gxt.ui.client.widget.LayoutContainer;
|
100 |
jpm |
38 |
import com.extjs.gxt.ui.client.widget.TabItem;
|
|
|
39 |
import com.extjs.gxt.ui.client.widget.TabPanel;
|
69 |
jpm |
40 |
import com.extjs.gxt.ui.client.widget.button.Button;
|
108 |
jpm |
41 |
import com.extjs.gxt.ui.client.widget.form.CheckBox;
|
|
|
42 |
import com.extjs.gxt.ui.client.widget.form.CheckBoxGroup;
|
69 |
jpm |
43 |
import com.extjs.gxt.ui.client.widget.form.ComboBox;
|
100 |
jpm |
44 |
import com.extjs.gxt.ui.client.widget.form.DateField;
|
119 |
jpm |
45 |
import com.extjs.gxt.ui.client.widget.form.Field;
|
100 |
jpm |
46 |
import com.extjs.gxt.ui.client.widget.form.FieldSet;
|
69 |
jpm |
47 |
import com.extjs.gxt.ui.client.widget.form.FormPanel;
|
172 |
jp_milcent |
48 |
import com.extjs.gxt.ui.client.widget.form.HiddenField;
|
103 |
jpm |
49 |
import com.extjs.gxt.ui.client.widget.form.LabelField;
|
102 |
jpm |
50 |
import com.extjs.gxt.ui.client.widget.form.NumberField;
|
109 |
jpm |
51 |
import com.extjs.gxt.ui.client.widget.form.Radio;
|
|
|
52 |
import com.extjs.gxt.ui.client.widget.form.RadioGroup;
|
164 |
jp_milcent |
53 |
import com.extjs.gxt.ui.client.widget.form.TextArea;
|
69 |
jpm |
54 |
import com.extjs.gxt.ui.client.widget.form.TextField;
|
|
|
55 |
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
|
|
|
56 |
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
|
102 |
jpm |
57 |
import com.extjs.gxt.ui.client.widget.grid.CellEditor;
|
|
|
58 |
import com.extjs.gxt.ui.client.widget.grid.CheckBoxSelectionModel;
|
|
|
59 |
import com.extjs.gxt.ui.client.widget.grid.CheckColumnConfig;
|
|
|
60 |
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
|
|
|
61 |
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
|
|
|
62 |
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
|
69 |
jpm |
63 |
import com.extjs.gxt.ui.client.widget.layout.ColumnData;
|
|
|
64 |
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout;
|
|
|
65 |
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
|
|
|
66 |
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
|
100 |
jpm |
67 |
import com.extjs.gxt.ui.client.widget.layout.FormData;
|
69 |
jpm |
68 |
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
|
110 |
jpm |
69 |
import com.extjs.gxt.ui.client.widget.tips.ToolTipConfig;
|
102 |
jpm |
70 |
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
|
|
|
71 |
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem;
|
|
|
72 |
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
|
91 |
jpm |
73 |
import com.google.gwt.core.client.GWT;
|
100 |
jpm |
74 |
import com.google.gwt.i18n.client.DateTimeFormat;
|
102 |
jpm |
75 |
import com.google.gwt.i18n.client.NumberFormat;
|
133 |
jpm |
76 |
import com.google.gwt.user.client.Window;
|
69 |
jpm |
77 |
|
|
|
78 |
public class FormStructureVue extends LayoutContainer implements Rafraichissable {
|
115 |
jpm |
79 |
|
|
|
80 |
private Constantes i18nC = null;
|
119 |
jpm |
81 |
private Mediateur mediateur = null;
|
|
|
82 |
private Modele modele = null ;
|
|
|
83 |
|
156 |
jp_milcent |
84 |
private String mode = "AJOUT";
|
119 |
jpm |
85 |
private FormPanel structureFormPanneau;
|
133 |
jpm |
86 |
private int tabIndex = 100;
|
115 |
jpm |
87 |
|
91 |
jpm |
88 |
private ListStore<Valeur> magazinLstpr = null;
|
|
|
89 |
private ComboBox<Valeur> comboLstpr = null;
|
|
|
90 |
private ListStore<Valeur> magazinLstpu = null;
|
|
|
91 |
private ComboBox<Valeur> comboLstpu = null;
|
103 |
jpm |
92 |
private ListStore<Valeur> magazinLiStatut = null;
|
|
|
93 |
private ComboBox<Valeur> comboLiStatut = null;
|
|
|
94 |
private ListStore<Valeur> magazinLiFonction = null;
|
|
|
95 |
private ComboBox<Valeur> comboLiFonction = null;
|
100 |
jpm |
96 |
private ComboBox<InterneValeur> comboAcronyme = null;
|
|
|
97 |
private TextField<String> ihChp = null;
|
|
|
98 |
private TextField<String> mnhnChp = null;
|
|
|
99 |
private ComboBox<InterneValeur> comboTypeStructure = null;
|
108 |
jpm |
100 |
private TabItem personnelOnglet = null;
|
103 |
jpm |
101 |
private EditorGrid<Personne> grillePersonnel = null;
|
|
|
102 |
private ListStore<Personne> personnelGrilleMagazin = null;
|
|
|
103 |
private LabelField nbreTotalPersonnelChp = null;
|
108 |
jpm |
104 |
private TabItem conservationOnglet = null;
|
115 |
jpm |
105 |
private CheckBoxGroup localStockageTrukCacGrpChp = null;
|
|
|
106 |
private ContentPanel localStockageTrukCp = null;
|
|
|
107 |
private CheckBoxGroup meubleStockageTrukCacGrpChp = null;
|
|
|
108 |
private ContentPanel meubleStockageTrukCp = null;
|
|
|
109 |
private CheckBoxGroup parametreStockageTrukCacGrpChp = null;
|
|
|
110 |
private ContentPanel parametreStockageTrukCp = null;
|
111 |
jpm |
111 |
private ContentPanel collectionAutreTrukCp = null;
|
|
|
112 |
private CheckBoxGroup collectionAutreTrukCacGrpChp = null;
|
115 |
jpm |
113 |
private CheckBoxGroup opRestauTrukCacGrpChp = null;
|
111 |
jpm |
114 |
private ContentPanel opRestauTrukCp = null;
|
115 |
jpm |
115 |
private CheckBoxGroup autreMaterielTrukCacGrpChp = null;
|
|
|
116 |
private ContentPanel autreMaterielTrukCp = null;
|
111 |
jpm |
117 |
private ContentPanel traitementTrukCp = null;
|
|
|
118 |
private CheckBoxGroup traitementTrukCacGrpChp = null;
|
115 |
jpm |
119 |
private ContentPanel poisonTraitementTrukCp = null;
|
111 |
jpm |
120 |
private ContentPanel insecteTraitementTrukCp = null;
|
|
|
121 |
private CheckBoxGroup insecteTraitementTrukCacGrpChp = null;
|
115 |
jpm |
122 |
private CheckBoxGroup poisonTraitementTrukCacGrpChp = null;
|
111 |
jpm |
123 |
private TabItem valorisationOnglet = null;
|
115 |
jpm |
124 |
private ContentPanel actionTrukCp = null;
|
|
|
125 |
private CheckBoxGroup actionTrukCacGrpChp = null;
|
|
|
126 |
private ContentPanel autreCollectionTrukCp = null;
|
119 |
jpm |
127 |
private CheckBoxGroup autreCollectionTrukCacGrpChp = null;
|
115 |
jpm |
128 |
private ContentPanel provenanceRechercheTrukCp = null;
|
|
|
129 |
private CheckBoxGroup provenanceRechercheTrukCacGrpChp = null;
|
|
|
130 |
private CheckBoxGroup typeRechercheTrukCacGrpChp = null;
|
119 |
jpm |
131 |
private ContentPanel typeRechercheTrukCp = null;
|
115 |
jpm |
132 |
private TextField<String> futureActionChp = null;
|
|
|
133 |
private TextField<String> sansMotifAccesChp = null;
|
|
|
134 |
private TextField<String> avecMotifAccesChp = null;
|
|
|
135 |
private TextField<String> formationChp = null;
|
|
|
136 |
private RadioGroup traitementAcquisitionMarkRGrpChp = null;
|
|
|
137 |
private LabelField traitementAcquisitionMarkLabel = null;
|
|
|
138 |
private RadioGroup materielConservationCeRGrpChp = null;
|
119 |
jpm |
139 |
|
|
|
140 |
private RadioGroup actionMarkRGrpChp;
|
|
|
141 |
private TextField<String> nomStructureChp;
|
|
|
142 |
private DateField dateFondationChp;
|
164 |
jp_milcent |
143 |
private TextArea adrChp;
|
119 |
jpm |
144 |
private TextField<String> cpChp;
|
|
|
145 |
private TextField<String> villeChp;
|
|
|
146 |
private TextField<String> regionChp;
|
|
|
147 |
private TextField<String> telChp;
|
|
|
148 |
private TextField<String> faxChp;
|
|
|
149 |
private TextField<String> emailChp;
|
|
|
150 |
private TextField<String> urlChp;
|
164 |
jp_milcent |
151 |
private ListStore<Valeur> magazinPays;
|
|
|
152 |
private ComboBox<Valeur> comboPays;
|
172 |
jp_milcent |
153 |
private HiddenField<String> idStructureChp;
|
91 |
jpm |
154 |
|
69 |
jpm |
155 |
public FormStructureVue() {
|
100 |
jpm |
156 |
//+-----------------------------------------------------------------------------------------------------------+
|
|
|
157 |
// Initialisation de variables
|
115 |
jpm |
158 |
i18nC = GWT.create(Constantes.class);
|
69 |
jpm |
159 |
setLayout(new FitLayout());
|
119 |
jpm |
160 |
modele = Registry.get(RegistreId.MODELE);
|
|
|
161 |
mediateur = Registry.get(RegistreId.MEDIATEUR);
|
|
|
162 |
|
100 |
jpm |
163 |
//+-----------------------------------------------------------------------------------------------------------+
|
110 |
jpm |
164 |
// Création du panneau du FORMULAIRE GÉNÉRAL
|
119 |
jpm |
165 |
structureFormPanneau = new FormPanel();
|
|
|
166 |
structureFormPanneau.setFrame(true);
|
|
|
167 |
structureFormPanneau.setIconStyle("icone-form-ajouter");
|
|
|
168 |
structureFormPanneau.setCollapsible(false);
|
156 |
jp_milcent |
169 |
structureFormPanneau.setHeading(i18nC.titreAjoutFormStructurePanneau());
|
119 |
jpm |
170 |
structureFormPanneau.setButtonAlign(HorizontalAlignment.CENTER);
|
|
|
171 |
structureFormPanneau.setLayout(new FlowLayout());
|
100 |
jpm |
172 |
|
110 |
jpm |
173 |
//+-----------------------------------------------------------------------------------------------------------+
|
100 |
jpm |
174 |
// Création des onglets
|
102 |
jpm |
175 |
TabPanel onglets = new TabPanel();
|
110 |
jpm |
176 |
// NOTE : pour faire apparaître les scrollBar il faut définir la hauteur du panneau d'onglets à 100% (autoHeight ne semble pas fonctionner)
|
|
|
177 |
onglets.setHeight("100%");
|
69 |
jpm |
178 |
|
100 |
jpm |
179 |
//+-----------------------------------------------------------------------------------------------------------+
|
|
|
180 |
// Onlget formulaire IDENTIFICATION
|
110 |
jpm |
181 |
onglets.add(creerOngletIdentification());
|
69 |
jpm |
182 |
|
100 |
jpm |
183 |
//+-----------------------------------------------------------------------------------------------------------+
|
|
|
184 |
// Onlget formulaire PERSONNEL
|
103 |
jpm |
185 |
onglets.add(creerOngletPersonnel());
|
91 |
jpm |
186 |
|
100 |
jpm |
187 |
//+-----------------------------------------------------------------------------------------------------------+
|
|
|
188 |
// Onlget formulaire CONSERVATION
|
108 |
jpm |
189 |
onglets.add(creerOngletConservation());
|
100 |
jpm |
190 |
|
|
|
191 |
//+-----------------------------------------------------------------------------------------------------------+
|
|
|
192 |
// Onlget formulaire VALORISATION
|
111 |
jpm |
193 |
onglets.add(creerOngletValorisation());
|
100 |
jpm |
194 |
|
|
|
195 |
//+-----------------------------------------------------------------------------------------------------------+
|
|
|
196 |
// Gestion du FORMULAIRE GÉNÉRAL
|
|
|
197 |
|
119 |
jpm |
198 |
// Sélection de l'onglet par défaut
|
|
|
199 |
//onglets.setSelection(valorisationOnglet);
|
|
|
200 |
// Ajout des onglets au formulaire général
|
|
|
201 |
structureFormPanneau.add(onglets);
|
69 |
jpm |
202 |
|
|
|
203 |
// Ajout des boutons au panneau formulaire
|
|
|
204 |
Button annulerBtn = new Button("Annuler");
|
172 |
jp_milcent |
205 |
annulerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() {
|
|
|
206 |
|
|
|
207 |
@Override
|
|
|
208 |
public void componentSelected(ComponentEvent ce) {
|
|
|
209 |
mediateur.clicMenu("Institutions");
|
|
|
210 |
}
|
|
|
211 |
|
|
|
212 |
});
|
119 |
jpm |
213 |
structureFormPanneau.addButton(annulerBtn);
|
69 |
jpm |
214 |
Button validerBtn = new Button("Valider");
|
119 |
jpm |
215 |
validerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() {
|
|
|
216 |
|
|
|
217 |
@Override
|
|
|
218 |
public void componentSelected(ComponentEvent ce) {
|
|
|
219 |
soumettreFormulaire();
|
|
|
220 |
}
|
|
|
221 |
|
|
|
222 |
});
|
|
|
223 |
structureFormPanneau.addButton(validerBtn);
|
69 |
jpm |
224 |
|
|
|
225 |
// Ajout du panneau Formulaire à la disposition générale
|
119 |
jpm |
226 |
add(structureFormPanneau);
|
69 |
jpm |
227 |
}
|
108 |
jpm |
228 |
|
119 |
jpm |
229 |
private void soumettreFormulaire() {
|
|
|
230 |
GWT.log("Soumission du formulaire", null);
|
156 |
jp_milcent |
231 |
Structure structure = collecterDonnees();
|
|
|
232 |
if (mode == "AJOUT") {
|
164 |
jp_milcent |
233 |
//mediateur.ajouterStructure(this, structure);
|
172 |
jp_milcent |
234 |
GWT.log("Structure non ajouté :"+structure.toString(), null);
|
156 |
jp_milcent |
235 |
} else if (mode == "MODIF") {
|
|
|
236 |
mediateur.modifierStructure(this, structure);
|
|
|
237 |
}
|
119 |
jpm |
238 |
}
|
|
|
239 |
|
156 |
jp_milcent |
240 |
private Structure collecterDonnees() {
|
119 |
jpm |
241 |
Structure structure = new Structure();
|
172 |
jp_milcent |
242 |
structure.setId(idStructureChp.getValue());
|
119 |
jpm |
243 |
structure.setNom(nomStructureChp.getValue());
|
164 |
jp_milcent |
244 |
// Récupération de l'acronyme (= identifiant alternatif)
|
|
|
245 |
structure.setIdAlternatif(null);
|
|
|
246 |
if (comboAcronyme.getValue() != null) {
|
|
|
247 |
String typeAcronyme = comboAcronyme.getValue().getAbr();
|
|
|
248 |
GWT.log("Acronyme : "+typeAcronyme, null);
|
|
|
249 |
if (typeAcronyme == "IH") {
|
|
|
250 |
structure.setIdAlternatif(typeAcronyme+"##"+ihChp.getValue());
|
|
|
251 |
} else if (typeAcronyme == "MNHN") {
|
|
|
252 |
structure.setIdAlternatif(typeAcronyme+"##"+mnhnChp.getValue());
|
|
|
253 |
}
|
|
|
254 |
}
|
|
|
255 |
// Récupération statut de la structure
|
|
|
256 |
structure.setTypePublic(null);
|
|
|
257 |
structure.setTypePrive(null);
|
|
|
258 |
if (comboTypeStructure.getValue() != null) {
|
|
|
259 |
String typeStructure = comboTypeStructure.getValue().getAbr();
|
|
|
260 |
GWT.log("Statut : "+typeStructure, null);
|
|
|
261 |
if (typeStructure == "stpu") {
|
|
|
262 |
structure.setTypePublic(comboLstpu.getValue().getId());
|
|
|
263 |
} else if (typeStructure == "stpr") {
|
|
|
264 |
structure.setTypePrive(comboLstpr.getValue().getId());
|
|
|
265 |
}
|
|
|
266 |
}
|
156 |
jp_milcent |
267 |
structure.setDateFondation(dateFondationChp.getValue());
|
164 |
jp_milcent |
268 |
|
119 |
jpm |
269 |
structure.setAdresse(adrChp.getValue());
|
|
|
270 |
structure.setCodePostal(cpChp.getValue());
|
|
|
271 |
structure.setVille(villeChp.getValue());
|
|
|
272 |
structure.setRegion(regionChp.getValue());
|
164 |
jp_milcent |
273 |
structure.setPays(null);
|
|
|
274 |
if (comboPays.getValue() != null) {
|
|
|
275 |
structure.setPays(comboPays.getValue().getAbreviation());
|
172 |
jp_milcent |
276 |
} else if (comboPays.getRawValue() != "") {
|
|
|
277 |
structure.setPays(comboPays.getRawValue());
|
164 |
jp_milcent |
278 |
}
|
119 |
jpm |
279 |
|
|
|
280 |
structure.setTelephone(telChp.getValue());
|
|
|
281 |
structure.setFax(faxChp.getValue());
|
|
|
282 |
structure.setCourriel(emailChp.getValue());
|
|
|
283 |
structure.setUrl(urlChp.getValue());
|
|
|
284 |
|
156 |
jp_milcent |
285 |
return structure;
|
119 |
jpm |
286 |
}
|
|
|
287 |
|
156 |
jp_milcent |
288 |
private void peuplerFormulaire(Structure str) {
|
172 |
jp_milcent |
289 |
idStructureChp.setValue(str.getId());
|
156 |
jp_milcent |
290 |
nomStructureChp.setValue(str.getNom());
|
172 |
jp_milcent |
291 |
if (!str.getTypePrive().isEmpty()) {
|
|
|
292 |
if (str.getTypePrive().matches("^[0-9]+$")) {
|
|
|
293 |
comboTypeStructure.setValue(InterneValeurListe.getTypePrivee());
|
|
|
294 |
comboLstpr.setValue(comboLstpr.getStore().findModel("id_valeur", str.getTypePrive()));
|
|
|
295 |
}
|
|
|
296 |
} else if (!str.getTypePublic().isEmpty()) {
|
|
|
297 |
if (str.getTypePublic().matches("^[0-9]+$")) {
|
|
|
298 |
comboTypeStructure.setValue(InterneValeurListe.getTypePublique());
|
|
|
299 |
comboLstpu.setValue(comboLstpu.getStore().findModel("id_valeur", str.getTypePublic()));
|
|
|
300 |
}
|
|
|
301 |
}
|
156 |
jp_milcent |
302 |
dateFondationChp.setValue(str.getDateFondation());
|
|
|
303 |
|
|
|
304 |
adrChp.setValue(str.getAdresse());
|
|
|
305 |
cpChp.setValue(str.getCodePostal());
|
|
|
306 |
villeChp.setValue(str.getVille());
|
|
|
307 |
regionChp.setValue(str.getRegion());
|
172 |
jp_milcent |
308 |
if (str.getPays().matches("^[A-Z]{2}$")) {
|
|
|
309 |
comboPays.setValue(comboPays.getStore().findModel("abreviation", str.getPays()));
|
|
|
310 |
} else {
|
|
|
311 |
comboPays.setRawValue(str.getPays());
|
|
|
312 |
}
|
156 |
jp_milcent |
313 |
|
|
|
314 |
telChp.setValue(str.getTelephone());
|
|
|
315 |
faxChp.setValue(str.getFax());
|
|
|
316 |
emailChp.setValue(str.getCourriel());
|
164 |
jp_milcent |
317 |
urlChp.setValue(str.getUrl("WEB"));
|
156 |
jp_milcent |
318 |
}
|
|
|
319 |
|
111 |
jpm |
320 |
private TabItem creerOngletValorisation() {
|
|
|
321 |
valorisationOnglet = new TabItem();
|
|
|
322 |
valorisationOnglet.setText("Valorisation");
|
|
|
323 |
valorisationOnglet.setScrollMode(Scroll.AUTO);
|
|
|
324 |
valorisationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null));
|
|
|
325 |
|
119 |
jpm |
326 |
actionMarkRGrpChp = creerChoixUniqueRadioGroupe("action_mark", "ouiNon");
|
111 |
jpm |
327 |
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 ?");
|
|
|
328 |
valorisationOnglet.add(actionMarkRGrpChp);
|
|
|
329 |
|
119 |
jpm |
330 |
|
111 |
jpm |
331 |
actionTrukCp = creerChoixMultipleCp("actionValorisation");
|
|
|
332 |
actionTrukCp.hide();
|
115 |
jpm |
333 |
actionTrukCacGrpChp = new CheckBoxGroup();
|
|
|
334 |
actionTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
|
111 |
jpm |
335 |
valorisationOnglet.add(actionTrukCp);
|
|
|
336 |
|
|
|
337 |
TextField<String> publicationChp = new TextField<String>();
|
|
|
338 |
publicationChp.setFieldLabel("Quelques titres des ouvrages, articles scientifiques, ...");
|
|
|
339 |
valorisationOnglet.add(publicationChp);
|
|
|
340 |
|
|
|
341 |
autreCollectionTrukCp = creerChoixMultipleCp("autreCollection");
|
119 |
jpm |
342 |
autreCollectionTrukCacGrpChp = new CheckBoxGroup();
|
|
|
343 |
autreCollectionTrukCacGrpChp.setFieldLabel("L'organisme dispose-t-il d'autres collections (permettant une valorisation pluridisciplinaire) ?");
|
111 |
jpm |
344 |
valorisationOnglet.add(autreCollectionTrukCp);
|
|
|
345 |
|
115 |
jpm |
346 |
RadioGroup futureActionMarkRGrpChp = creerChoixUniqueRadioGroupe("future_action_mark", "ouiNon");
|
111 |
jpm |
347 |
futureActionMarkRGrpChp.setFieldLabel("Envisagez vous des actions de valorisation dans le cadre de votre politique culturelle ?");
|
|
|
348 |
valorisationOnglet.add(futureActionMarkRGrpChp);
|
|
|
349 |
|
|
|
350 |
futureActionChp = new TextField<String>();
|
|
|
351 |
futureActionChp.setFieldLabel("Si oui, lesquelles ?");
|
|
|
352 |
futureActionChp.hide();
|
|
|
353 |
valorisationOnglet.add(futureActionChp);
|
|
|
354 |
|
115 |
jpm |
355 |
RadioGroup rechercheMarkRGrpChp = creerChoixUniqueRadioGroupe("recherche_mark", "ouiNon");
|
111 |
jpm |
356 |
rechercheMarkRGrpChp.setFieldLabel("Vos collections botaniques sont-elles utilisées pour des recherches scientifiques ?");
|
|
|
357 |
valorisationOnglet.add(rechercheMarkRGrpChp);
|
|
|
358 |
|
|
|
359 |
provenanceRechercheTrukCp = creerChoixMultipleCp("continentEtFr");
|
|
|
360 |
provenanceRechercheTrukCp.hide();
|
115 |
jpm |
361 |
provenanceRechercheTrukCacGrpChp = new CheckBoxGroup();
|
|
|
362 |
provenanceRechercheTrukCacGrpChp.setFieldLabel("Si oui, par des chercheurs (professionnels ou amateurs) de quelle provenance ?");
|
111 |
jpm |
363 |
valorisationOnglet.add(provenanceRechercheTrukCp);
|
|
|
364 |
|
119 |
jpm |
365 |
typeRechercheTrukCp = creerChoixMultipleCp("typeRecherche");
|
|
|
366 |
typeRechercheTrukCp.hide();
|
115 |
jpm |
367 |
typeRechercheTrukCacGrpChp = new CheckBoxGroup();
|
|
|
368 |
typeRechercheTrukCacGrpChp.setFieldLabel("Et pour quelles recherches ?");
|
119 |
jpm |
369 |
valorisationOnglet.add(typeRechercheTrukCp);
|
111 |
jpm |
370 |
|
115 |
jpm |
371 |
RadioGroup sansMotifAccesMarkRGrpChp = creerChoixUniqueRadioGroupe("sans_motif_acces_mark", "ouiNon");
|
111 |
jpm |
372 |
sansMotifAccesMarkRGrpChp.setFieldLabel("Peut-on consulter vos collections botaniques sans motif de recherches scientifiques ?");
|
|
|
373 |
valorisationOnglet.add(sansMotifAccesMarkRGrpChp);
|
|
|
374 |
|
|
|
375 |
sansMotifAccesChp = new TextField<String>();
|
|
|
376 |
sansMotifAccesChp.hide();
|
|
|
377 |
sansMotifAccesChp.setFieldLabel("Si oui, quelles démarches doit-on faire pour les consulter ?");
|
|
|
378 |
valorisationOnglet.add(sansMotifAccesChp);
|
|
|
379 |
|
115 |
jpm |
380 |
RadioGroup avecMotifAccesMarkRGrpChp = creerChoixUniqueRadioGroupe("avec_motif_acces_mark", "ouiNon");
|
111 |
jpm |
381 |
avecMotifAccesMarkRGrpChp.setFieldLabel("Peut-on visiter vos collections botaniques avec des objectifs de recherches scientifiques ?");
|
|
|
382 |
valorisationOnglet.add(avecMotifAccesMarkRGrpChp);
|
|
|
383 |
|
115 |
jpm |
384 |
valorisationOnglet.add(avecMotifAccesChp = new TextField<String>());
|
111 |
jpm |
385 |
avecMotifAccesChp.hide();
|
|
|
386 |
avecMotifAccesChp.setFieldLabel("Si oui, quelles démarches doit-on faire pour les visiter ?");
|
|
|
387 |
|
|
|
388 |
return valorisationOnglet;
|
|
|
389 |
}
|
|
|
390 |
|
108 |
jpm |
391 |
private TabItem creerOngletConservation() {
|
|
|
392 |
conservationOnglet = new TabItem();
|
|
|
393 |
conservationOnglet.setText("Conservation");
|
110 |
jpm |
394 |
conservationOnglet.setScrollMode(Scroll.AUTO);
|
108 |
jpm |
395 |
conservationOnglet.setLayout(creerFormLayout(650, LabelAlign.TOP, null));
|
|
|
396 |
|
115 |
jpm |
397 |
RadioGroup markFormationRGrpChp = creerChoixUniqueRadioGroupe("formation_mark", "ouiNon");
|
109 |
jpm |
398 |
markFormationRGrpChp.setFieldLabel("Le personnel s'occupant des collections a-t-il suivi des formations en conservations ?");
|
|
|
399 |
conservationOnglet.add(markFormationRGrpChp);
|
108 |
jpm |
400 |
|
111 |
jpm |
401 |
formationChp = new TextField<String>();
|
|
|
402 |
formationChp.hide();
|
|
|
403 |
formationChp.setFieldLabel("Si oui, lesquelles ?");
|
108 |
jpm |
404 |
conservationOnglet.add(formationChp);
|
|
|
405 |
|
115 |
jpm |
406 |
RadioGroup markInteretFormationRGrpChp = creerChoixUniqueRadioGroupe("interet_formation_mark", "ouiNon");
|
109 |
jpm |
407 |
markInteretFormationRGrpChp.setFieldLabel("Seriez vous intéressé par une formation à la conservation et à la restauration d'herbier ?");
|
|
|
408 |
conservationOnglet.add(markInteretFormationRGrpChp);
|
108 |
jpm |
409 |
|
115 |
jpm |
410 |
localStockageTrukCp = creerChoixMultipleCp("localStockage");
|
|
|
411 |
localStockageTrukCacGrpChp = new CheckBoxGroup();
|
|
|
412 |
localStockageTrukCacGrpChp.setFieldLabel("Avez vous des locaux spécifiques de stockage des collections botaniques ?");
|
|
|
413 |
conservationOnglet.add(localStockageTrukCp);
|
108 |
jpm |
414 |
|
115 |
jpm |
415 |
meubleStockageTrukCp = creerChoixMultipleCp("meubleStockage");
|
|
|
416 |
meubleStockageTrukCacGrpChp = new CheckBoxGroup();
|
|
|
417 |
meubleStockageTrukCacGrpChp.setFieldLabel("Avez vous des meubles spécifiques au stockage des collections botaniques ?");
|
|
|
418 |
conservationOnglet.add(meubleStockageTrukCp);
|
108 |
jpm |
419 |
|
115 |
jpm |
420 |
parametreStockageTrukCp = creerChoixMultipleCp("parametreStockage");
|
|
|
421 |
parametreStockageTrukCacGrpChp = new CheckBoxGroup();
|
|
|
422 |
parametreStockageTrukCacGrpChp.setFieldLabel("Quels paramètres maîtrisez vous ?");
|
|
|
423 |
conservationOnglet.add(parametreStockageTrukCp);
|
109 |
jpm |
424 |
|
115 |
jpm |
425 |
RadioGroup collectionCommuneMarkRGrpChp = creerChoixUniqueRadioGroupe("collection_commune_mark", "ouiNon");
|
111 |
jpm |
426 |
collectionCommuneMarkRGrpChp.setFieldLabel("Les collections botaniques sont-elles conservées avec d'autres collections dans les mêmes locaux (problème de conservation en commun) ?");
|
|
|
427 |
conservationOnglet.add(collectionCommuneMarkRGrpChp);
|
109 |
jpm |
428 |
|
111 |
jpm |
429 |
collectionAutreTrukCp = creerChoixMultipleCp("autreCollection");
|
115 |
jpm |
430 |
collectionAutreTrukCacGrpChp = new CheckBoxGroup();
|
|
|
431 |
collectionAutreTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
|
111 |
jpm |
432 |
collectionAutreTrukCp.hide();
|
|
|
433 |
conservationOnglet.add(collectionAutreTrukCp);
|
110 |
jpm |
434 |
|
115 |
jpm |
435 |
RadioGroup accesControleMarkRGrpChp = creerChoixUniqueRadioGroupe("mark_acces_controle", "ouiNon");
|
|
|
436 |
accesControleMarkRGrpChp.setFieldLabel("L'accès à vos collections botanique est-il contrôlé (ex. : manipulation réservées à des personnes compétentes) ?");
|
|
|
437 |
conservationOnglet.add(accesControleMarkRGrpChp);
|
110 |
jpm |
438 |
|
115 |
jpm |
439 |
RadioGroup restaurationMarkRGrpChp = creerChoixUniqueRadioGroupe("restauration_mark", "ouiNon");
|
|
|
440 |
restaurationMarkRGrpChp.setFieldLabel("Effectuez vous des opérations de restauration ou de remise en état de vos collections botaniques ?");
|
|
|
441 |
conservationOnglet.add(restaurationMarkRGrpChp);
|
110 |
jpm |
442 |
|
111 |
jpm |
443 |
opRestauTrukCp = creerChoixMultipleCp("opRestau");
|
115 |
jpm |
444 |
opRestauTrukCacGrpChp = new CheckBoxGroup();
|
|
|
445 |
opRestauTrukCacGrpChp.setFieldLabel("Si oui, lesquelles ?");
|
111 |
jpm |
446 |
opRestauTrukCp.hide();
|
|
|
447 |
conservationOnglet.add(opRestauTrukCp);
|
110 |
jpm |
448 |
|
115 |
jpm |
449 |
materielConservationCeRGrpChp = creerChoixUniqueRadioGroupe("materiel_conservation_ce", "onep");
|
|
|
450 |
materielConservationCeRGrpChp.setFieldLabel("Utilisez vous du matériel de conservation ?");
|
|
|
451 |
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..."));
|
|
|
452 |
conservationOnglet.add(materielConservationCeRGrpChp);
|
110 |
jpm |
453 |
|
115 |
jpm |
454 |
autreMaterielTrukCp = creerChoixMultipleCp("autreMateriel");
|
|
|
455 |
autreMaterielTrukCp.hide();
|
|
|
456 |
autreMaterielTrukCacGrpChp = new CheckBoxGroup();
|
|
|
457 |
autreMaterielTrukCacGrpChp.setFieldLabel("Si non, qu'utilisez vous comme matériel ?");
|
|
|
458 |
conservationOnglet.add(autreMaterielTrukCp);
|
110 |
jpm |
459 |
|
115 |
jpm |
460 |
RadioGroup markTraitementRGrpChp = creerChoixUniqueRadioGroupe("traitement_mark", "ouiNon");
|
110 |
jpm |
461 |
markTraitementRGrpChp.setFieldLabel("Réalisez vous actuellement des traitements globaux contre les insectes ?");
|
|
|
462 |
conservationOnglet.add(markTraitementRGrpChp);
|
|
|
463 |
|
111 |
jpm |
464 |
traitementTrukCp = creerChoixMultipleCp("insecteTraitement");
|
115 |
jpm |
465 |
traitementTrukCp.hide();
|
|
|
466 |
traitementTrukCacGrpChp = new CheckBoxGroup();
|
|
|
467 |
traitementTrukCacGrpChp.setFieldLabel("Si oui, lesquels ?");
|
111 |
jpm |
468 |
conservationOnglet.add(traitementTrukCp);
|
110 |
jpm |
469 |
|
115 |
jpm |
470 |
RadioGroup markCollectionAcquisitionRGrpChp = creerChoixUniqueRadioGroupe("collection_acquisition_mark", "ouiNon");
|
110 |
jpm |
471 |
markCollectionAcquisitionRGrpChp.setFieldLabel("Actuellement, vos collections botaniques s'accroissent-elles de nouvelles acquisitions ?");
|
|
|
472 |
conservationOnglet.add(markCollectionAcquisitionRGrpChp);
|
|
|
473 |
|
115 |
jpm |
474 |
RadioGroup markEchantillonAcquisitionRGrpChp = creerChoixUniqueRadioGroupe("echantillon_acquisition_mark", "ouiNon");
|
110 |
jpm |
475 |
markEchantillonAcquisitionRGrpChp.setFieldLabel("Actuellement, mettez vous en herbier de nouveaux échantillons ?");
|
|
|
476 |
conservationOnglet.add(markEchantillonAcquisitionRGrpChp);
|
|
|
477 |
|
115 |
jpm |
478 |
traitementAcquisitionMarkRGrpChp = creerChoixUniqueRadioGroupe("traitement_acquisition_mark", "ouiNon");
|
|
|
479 |
traitementAcquisitionMarkRGrpChp.hide();
|
|
|
480 |
traitementAcquisitionMarkRGrpChp.setFieldLabel("Si oui, faites-vous un traitement contre les insectes avant l'intégration dans vos collections ?");
|
|
|
481 |
conservationOnglet.add(traitementAcquisitionMarkRGrpChp);
|
110 |
jpm |
482 |
|
115 |
jpm |
483 |
traitementAcquisitionMarkLabel = new LabelField();
|
|
|
484 |
traitementAcquisitionMarkLabel.hide();
|
|
|
485 |
traitementAcquisitionMarkLabel.setFieldLabel("Si oui, lesquels ?");
|
|
|
486 |
conservationOnglet.add(traitementAcquisitionMarkLabel);
|
110 |
jpm |
487 |
|
115 |
jpm |
488 |
poisonTraitementTrukCp = creerChoixMultipleCp("poisonTraitement");
|
|
|
489 |
poisonTraitementTrukCp.hide();
|
|
|
490 |
poisonTraitementTrukCacGrpChp = new CheckBoxGroup();
|
|
|
491 |
poisonTraitementTrukCacGrpChp.setFieldLabel("Empoisonnement");
|
|
|
492 |
poisonTraitementTrukCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
|
|
|
493 |
poisonTraitementTrukCacGrpChp.setLabelSeparator("");
|
|
|
494 |
conservationOnglet.add(poisonTraitementTrukCp);
|
110 |
jpm |
495 |
|
111 |
jpm |
496 |
insecteTraitementTrukCp = creerChoixMultipleCp("insecteTraitement");
|
115 |
jpm |
497 |
insecteTraitementTrukCp.hide();
|
|
|
498 |
insecteTraitementTrukCacGrpChp = new CheckBoxGroup();
|
|
|
499 |
insecteTraitementTrukCacGrpChp.setLabelStyle("font-weight:normal;text-decoration:underline;");
|
|
|
500 |
insecteTraitementTrukCacGrpChp.setLabelSeparator("");
|
|
|
501 |
insecteTraitementTrukCacGrpChp.setFieldLabel("Désinsectisation");
|
111 |
jpm |
502 |
conservationOnglet.add(insecteTraitementTrukCp);
|
110 |
jpm |
503 |
|
108 |
jpm |
504 |
return conservationOnglet;
|
|
|
505 |
}
|
|
|
506 |
|
103 |
jpm |
507 |
private TabItem creerOngletPersonnel() {
|
108 |
jpm |
508 |
personnelOnglet = new TabItem();
|
103 |
jpm |
509 |
personnelOnglet.setText("Personnel");
|
110 |
jpm |
510 |
personnelOnglet.setScrollMode(Scroll.AUTO);
|
|
|
511 |
personnelOnglet.setLayout(creerFormLayout(400, LabelAlign.LEFT, null));
|
103 |
jpm |
512 |
|
|
|
513 |
NumberField nbreTotalPersonneStructureChp = new NumberField();
|
|
|
514 |
nbreTotalPersonneStructureChp.setFieldLabel("Nombre de personne travaillant dans l'institution");
|
|
|
515 |
nbreTotalPersonneStructureChp.setFormat(NumberFormat.getFormat("#"));
|
|
|
516 |
nbreTotalPersonneStructureChp.setToolTip("Ce champ doit contenir un nombre");
|
|
|
517 |
personnelOnglet.add(nbreTotalPersonneStructureChp);
|
|
|
518 |
|
|
|
519 |
personnelOnglet.add(this.creerGrillePersonnel());
|
|
|
520 |
|
|
|
521 |
nbreTotalPersonnelChp = new LabelField();
|
|
|
522 |
nbreTotalPersonnelChp.setFieldLabel("Nombre de personne travaillant sur les collections");
|
|
|
523 |
nbreTotalPersonnelChp.setLabelSeparator(":");
|
|
|
524 |
nbreTotalPersonnelChp.setValue(""+grillePersonnel.getStore().getCount());
|
|
|
525 |
personnelOnglet.add(nbreTotalPersonnelChp);
|
|
|
526 |
|
|
|
527 |
return personnelOnglet;
|
|
|
528 |
}
|
|
|
529 |
|
102 |
jpm |
530 |
private ContentPanel creerGrillePersonnel() {
|
103 |
jpm |
531 |
|
102 |
jpm |
532 |
List<Personne> personnes = new ArrayList<Personne>();
|
|
|
533 |
personnes.add(new Personne(Valeur.FONCTION_DIRECTEUR));
|
|
|
534 |
personnes.add(new Personne(Valeur.FONCTION_CONSERVATEUR));
|
|
|
535 |
|
103 |
jpm |
536 |
personnelGrilleMagazin = new ListStore<Personne>();
|
|
|
537 |
personnelGrilleMagazin.add(personnes);
|
|
|
538 |
|
102 |
jpm |
539 |
List<ColumnConfig> configs = new ArrayList<ColumnConfig>();
|
|
|
540 |
|
|
|
541 |
CheckBoxSelectionModel<Personne> sm = new CheckBoxSelectionModel<Personne>();
|
|
|
542 |
configs.add(sm.getColumn());
|
103 |
jpm |
543 |
|
|
|
544 |
ColumnConfig column = new ColumnConfig("ce_truk_fonction", "Fonction", 100);
|
119 |
jpm |
545 |
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("fonction"));
|
103 |
jpm |
546 |
magazinLiFonction = new ListStore<Valeur>();
|
|
|
547 |
magazinLiFonction.add(new ArrayList<Valeur>());
|
|
|
548 |
|
|
|
549 |
comboLiFonction = new ComboBox<Valeur>();
|
|
|
550 |
comboLiFonction.setTriggerAction(TriggerAction.ALL);
|
|
|
551 |
comboLiFonction.setEditable(true);
|
|
|
552 |
comboLiFonction.setDisplayField("nom");
|
|
|
553 |
//comboLiStatut.setEmptyText("Sélectionez une fonction...");
|
|
|
554 |
comboLiFonction.setStore(magazinLiFonction);
|
|
|
555 |
|
|
|
556 |
CellEditor fonctionEditor = new CellEditor(comboLiFonction) {
|
|
|
557 |
@Override
|
|
|
558 |
public Object preProcessValue(Object value) {
|
|
|
559 |
if (value == null) {
|
|
|
560 |
return value;
|
|
|
561 |
}
|
|
|
562 |
//GWT.log("pre : "+value.toString(), null);
|
|
|
563 |
return comboLiFonction.getStore().findModel("nom", (String) value);
|
|
|
564 |
}
|
|
|
565 |
|
|
|
566 |
@Override
|
|
|
567 |
public Object postProcessValue(Object value) {
|
|
|
568 |
if (value == null) {
|
|
|
569 |
return value;
|
|
|
570 |
}
|
|
|
571 |
//GWT.log("post : "+value.toString(), null);
|
|
|
572 |
return ((Valeur) value).get("nom");
|
|
|
573 |
}
|
|
|
574 |
};
|
|
|
575 |
column.setEditor(fonctionEditor);
|
102 |
jpm |
576 |
configs.add(column);
|
|
|
577 |
|
|
|
578 |
column = new ColumnConfig();
|
|
|
579 |
column.setId("prenom");
|
103 |
jpm |
580 |
column.setHeader("Prénom");
|
|
|
581 |
column.setWidth(100);
|
|
|
582 |
TextField<String> prenomChp = new TextField<String>();
|
|
|
583 |
prenomChp.setAllowBlank(false);
|
|
|
584 |
prenomChp.getMessages().setBlankText("Ce champ est obligatoire.");
|
|
|
585 |
prenomChp.setAutoValidate(true);
|
|
|
586 |
column.setEditor(new CellEditor(prenomChp));
|
102 |
jpm |
587 |
configs.add(column);
|
|
|
588 |
|
|
|
589 |
column = new ColumnConfig();
|
|
|
590 |
column.setId("nom");
|
|
|
591 |
column.setHeader("Nom");
|
103 |
jpm |
592 |
column.setWidth(100);
|
|
|
593 |
TextField<String> nomChp = new TextField<String>();
|
|
|
594 |
nomChp.setAllowBlank(false);
|
|
|
595 |
nomChp.getMessages().setBlankText("Ce champ est obligatoire.");
|
|
|
596 |
nomChp.setAutoValidate(true);
|
|
|
597 |
column.setEditor(new CellEditor(nomChp));
|
102 |
jpm |
598 |
configs.add(column);
|
|
|
599 |
|
103 |
jpm |
600 |
column = new ColumnConfig("tel", "Téléphone", 100);
|
|
|
601 |
TextField<String> telChp = new TextField<String>();
|
|
|
602 |
column.setEditor(new CellEditor(telChp));
|
102 |
jpm |
603 |
configs.add(column);
|
|
|
604 |
|
|
|
605 |
column = new ColumnConfig("fax", "Fax", 100);
|
103 |
jpm |
606 |
TextField<String> faxChp = new TextField<String>();
|
|
|
607 |
column.setEditor(new CellEditor(faxChp));
|
102 |
jpm |
608 |
configs.add(column);
|
|
|
609 |
|
103 |
jpm |
610 |
column = new ColumnConfig("courriel", "Courriel", 100);
|
|
|
611 |
TextField<String> emailChp = new TextField<String>();
|
|
|
612 |
column.setEditor(new CellEditor(emailChp));
|
102 |
jpm |
613 |
configs.add(column);
|
|
|
614 |
|
119 |
jpm |
615 |
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("statut"));
|
103 |
jpm |
616 |
magazinLiStatut = new ListStore<Valeur>();
|
|
|
617 |
magazinLiStatut.add(new ArrayList<Valeur>());
|
|
|
618 |
|
|
|
619 |
comboLiStatut = new ComboBox<Valeur>();
|
|
|
620 |
comboLiStatut.setTriggerAction(TriggerAction.ALL);
|
|
|
621 |
comboLiStatut.setEditable(false);
|
|
|
622 |
comboLiStatut.setDisplayField("nom");
|
|
|
623 |
comboLiStatut.setEmptyText("Sélectionez un statut...");
|
|
|
624 |
comboLiStatut.setStore(magazinLiStatut);
|
|
|
625 |
|
|
|
626 |
CellEditor statutEditor = new CellEditor(comboLiStatut) {
|
|
|
627 |
@Override
|
|
|
628 |
public Object preProcessValue(Object value) {
|
|
|
629 |
if (value == null) {
|
|
|
630 |
return value;
|
|
|
631 |
}
|
|
|
632 |
//GWT.log("pre : "+value.toString(), null);
|
|
|
633 |
return comboLiStatut.getStore().findModel("nom", (String) value);
|
|
|
634 |
}
|
|
|
635 |
|
|
|
636 |
@Override
|
|
|
637 |
public Object postProcessValue(Object value) {
|
|
|
638 |
if (value == null) {
|
|
|
639 |
return value;
|
|
|
640 |
}
|
|
|
641 |
//GWT.log("post : "+value.toString(), null);
|
|
|
642 |
return ((Valeur) value).get("nom");
|
|
|
643 |
}
|
|
|
644 |
};
|
|
|
645 |
column = new ColumnConfig("statut", "Statut", 100);
|
|
|
646 |
column.setEditor(statutEditor);
|
102 |
jpm |
647 |
configs.add(column);
|
|
|
648 |
|
103 |
jpm |
649 |
column = new ColumnConfig("tps_w", "Temps travail", 100);
|
|
|
650 |
column.setNumberFormat(NumberFormat.getFormat("##"));
|
|
|
651 |
NumberField tpsWChp = new NumberField();
|
|
|
652 |
tpsWChp.setFormat(NumberFormat.getFormat("##"));
|
|
|
653 |
tpsWChp.setToolTip("Ce champ doit contenir un nombre");
|
|
|
654 |
column.setEditor(new CellEditor(tpsWChp));
|
|
|
655 |
configs.add(column);
|
|
|
656 |
|
|
|
657 |
column = new ColumnConfig("specialites", "Spécialités botaniques", 150);
|
|
|
658 |
TextField<String> speChp = new TextField<String>();
|
|
|
659 |
column.setEditor(new CellEditor(speChp));
|
|
|
660 |
configs.add(column);
|
|
|
661 |
|
|
|
662 |
CheckColumnConfig checkColumn = new CheckColumnConfig("mark_contact", "Contact ?", 60);
|
102 |
jpm |
663 |
configs.add(checkColumn);
|
|
|
664 |
|
|
|
665 |
ContentPanel cp = new ContentPanel();
|
|
|
666 |
cp.setHeading("Personnes travaillant sur les collections");
|
110 |
jpm |
667 |
cp.setIconStyle("icone-table");
|
|
|
668 |
cp.setScrollMode(Scroll.AUTO);
|
103 |
jpm |
669 |
cp.setLayout(new FitLayout());
|
110 |
jpm |
670 |
cp.setSize(1100, 200);
|
102 |
jpm |
671 |
cp.setFrame(true);
|
|
|
672 |
|
|
|
673 |
ToolBar toolBar = new ToolBar();
|
103 |
jpm |
674 |
|
|
|
675 |
TextToolItem ajouterPersonnelBtn = new TextToolItem("Ajouter", "icone-vcard-ajouter");
|
|
|
676 |
ajouterPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {
|
|
|
677 |
@Override
|
|
|
678 |
public void componentSelected(ToolBarEvent ce) {
|
|
|
679 |
Personne personne = new Personne();
|
|
|
680 |
grillePersonnel.stopEditing();
|
|
|
681 |
personnelGrilleMagazin.insert(personne, 0);
|
|
|
682 |
grillePersonnel.startEditing(0, 0);
|
|
|
683 |
// Mise à jour du nombre de personnel travaillant sur les collections
|
|
|
684 |
nbreTotalPersonnelChp.setValue(""+grillePersonnel.getStore().getCount());
|
|
|
685 |
// Activation du bouton supprimer si la grille contient un élément
|
|
|
686 |
if (grillePersonnel.getStore().getCount() > 0) {
|
|
|
687 |
ce.component.enable();
|
|
|
688 |
}
|
|
|
689 |
}
|
|
|
690 |
});
|
|
|
691 |
toolBar.add(ajouterPersonnelBtn);
|
|
|
692 |
toolBar.add(new SeparatorToolItem());
|
|
|
693 |
TextToolItem supprimerPersonnelBtn = new TextToolItem("Supprimer", "icone-vcard-supprimer");
|
|
|
694 |
supprimerPersonnelBtn.addSelectionListener(new SelectionListener<ToolBarEvent>() {
|
|
|
695 |
@Override
|
|
|
696 |
public void componentSelected(ToolBarEvent ce) {
|
|
|
697 |
grillePersonnel.getStore().remove(grillePersonnel.getStore().getAt(0));
|
|
|
698 |
// Mise à jour du nombre de personnel travaillant sur les collections
|
|
|
699 |
nbreTotalPersonnelChp.setValue(""+grillePersonnel.getStore().getCount());
|
|
|
700 |
// Désactivation du bouton supprimer si la grille contient plus d'élément
|
|
|
701 |
if (grillePersonnel.getStore().getCount() == 0) {
|
|
|
702 |
ce.item.disable();
|
|
|
703 |
}
|
|
|
704 |
}
|
|
|
705 |
});
|
|
|
706 |
toolBar.add(supprimerPersonnelBtn);
|
102 |
jpm |
707 |
cp.setTopComponent(toolBar);
|
|
|
708 |
|
|
|
709 |
ColumnModel cm = new ColumnModel(configs);
|
|
|
710 |
|
103 |
jpm |
711 |
grillePersonnel = new EditorGrid<Personne>(personnelGrilleMagazin, cm);
|
|
|
712 |
grillePersonnel.setBorders(true);
|
|
|
713 |
grillePersonnel.setSelectionModel(sm);
|
|
|
714 |
grillePersonnel.addPlugin(sm);
|
|
|
715 |
grillePersonnel.addPlugin(checkColumn);
|
110 |
jpm |
716 |
grillePersonnel.setAutoExpandColumn("specialites");
|
102 |
jpm |
717 |
|
103 |
jpm |
718 |
cp.add(grillePersonnel);
|
102 |
jpm |
719 |
return cp;
|
|
|
720 |
}
|
|
|
721 |
|
110 |
jpm |
722 |
private TabItem creerOngletIdentification() {
|
|
|
723 |
//+-----------------------------------------------------------------------------------------------------------+
|
|
|
724 |
// Onlget formulaire IDENTIFICATION
|
|
|
725 |
TabItem identificationOnglet = new TabItem();
|
|
|
726 |
identificationOnglet.setText("Identification");
|
|
|
727 |
identificationOnglet.setLayout(new FormLayout());
|
|
|
728 |
|
|
|
729 |
//+-----------------------------------------------------------------------------------------------------------+
|
172 |
jp_milcent |
730 |
// Champs cachés
|
|
|
731 |
idStructureChp = new HiddenField<String>();
|
|
|
732 |
|
|
|
733 |
//+-----------------------------------------------------------------------------------------------------------+
|
110 |
jpm |
734 |
// Fieldset IDENTITÉ
|
|
|
735 |
FieldSet fieldSetIdentite = new FieldSet();
|
|
|
736 |
fieldSetIdentite.setHeading("Identité");
|
|
|
737 |
fieldSetIdentite.setCollapsible(true);
|
|
|
738 |
fieldSetIdentite.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4));
|
|
|
739 |
|
119 |
jpm |
740 |
nomStructureChp = new TextField<String>();
|
133 |
jpm |
741 |
nomStructureChp.setTabIndex(100);
|
110 |
jpm |
742 |
nomStructureChp.setFieldLabel("Nom de la structure");
|
|
|
743 |
nomStructureChp.setAllowBlank(false);
|
|
|
744 |
nomStructureChp.getMessages().setBlankText("Ce champ est obligatoire.");
|
|
|
745 |
fieldSetIdentite.add(nomStructureChp, new FormData(450, 0));
|
|
|
746 |
|
|
|
747 |
// Création du sous-formulaire : Acronyme
|
|
|
748 |
LayoutContainer ligne = new LayoutContainer();
|
|
|
749 |
ligne.setLayout(new ColumnLayout());
|
|
|
750 |
LayoutContainer gauche = new LayoutContainer();
|
|
|
751 |
gauche.setLayout(creerFormLayout(200, LabelAlign.LEFT, 0));
|
|
|
752 |
LayoutContainer droite = new LayoutContainer();
|
|
|
753 |
droite.setLayout(creerFormLayout(0, null, 0));
|
|
|
754 |
|
|
|
755 |
ListStore<InterneValeur> acronymes = new ListStore<InterneValeur>();
|
|
|
756 |
acronymes.add(InterneValeurListe.getTypeAcronyme());
|
|
|
757 |
|
133 |
jpm |
758 |
comboAcronyme = new ComboBox<InterneValeur>();
|
|
|
759 |
comboAcronyme.setTabIndex(101);
|
110 |
jpm |
760 |
comboAcronyme.setEmptyText("Sélectioner un type d'acronyme...");
|
|
|
761 |
comboAcronyme.setFieldLabel("Acronymes");
|
|
|
762 |
comboAcronyme.setDisplayField("nom");
|
|
|
763 |
comboAcronyme.setStore(acronymes);
|
|
|
764 |
comboAcronyme.setEditable(false);
|
|
|
765 |
comboAcronyme.setTypeAhead(true);
|
|
|
766 |
comboAcronyme.setTriggerAction(TriggerAction.ALL);
|
|
|
767 |
comboAcronyme.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {
|
|
|
768 |
@Override
|
|
|
769 |
public void selectionChanged(SelectionChangedEvent<InterneValeur> se) {
|
|
|
770 |
String acronymeAbr = se.getSelectedItem().getAbr();
|
|
|
771 |
if (acronymeAbr.equals("IH")) {
|
|
|
772 |
mnhnChp.hide();
|
|
|
773 |
ihChp.show();
|
|
|
774 |
} else if (acronymeAbr.equals("MNHN")) {
|
|
|
775 |
ihChp.hide();
|
|
|
776 |
mnhnChp.show();
|
|
|
777 |
} else if (acronymeAbr.equals("")) {
|
|
|
778 |
ihChp.hide();
|
|
|
779 |
mnhnChp.hide();
|
|
|
780 |
comboAcronyme.clearSelections();
|
|
|
781 |
}
|
|
|
782 |
}
|
|
|
783 |
});
|
|
|
784 |
gauche.add(comboAcronyme);
|
|
|
785 |
|
|
|
786 |
ihChp = new TextField<String>();
|
|
|
787 |
//ihChp.setEmptyText("Index Herbariorum");
|
133 |
jpm |
788 |
ihChp.setTabIndex(102);
|
110 |
jpm |
789 |
ihChp.setLabelSeparator("");
|
|
|
790 |
ihChp.setToolTip("Index Herbariorum : herbier de plus de 5000 échantillons");
|
|
|
791 |
ihChp.hide();
|
|
|
792 |
droite.add(ihChp);
|
|
|
793 |
|
133 |
jpm |
794 |
mnhnChp = new TextField<String>();
|
|
|
795 |
mnhnChp.setTabIndex(103);
|
110 |
jpm |
796 |
//mnhnChp.setEmptyText("MNHN");
|
|
|
797 |
mnhnChp.setLabelSeparator("");
|
|
|
798 |
mnhnChp.setToolTip("Acronyme MNHN : herbier de moins de 5000 échantillons");
|
|
|
799 |
mnhnChp.hide();
|
|
|
800 |
droite.add(mnhnChp);
|
|
|
801 |
|
|
|
802 |
ligne.add(gauche, new ColumnData(0.5));
|
|
|
803 |
ligne.add(droite, new ColumnData(0.5));
|
|
|
804 |
fieldSetIdentite.add(ligne);
|
|
|
805 |
|
|
|
806 |
// Création du sous-formulaire : Type de Structure
|
|
|
807 |
LayoutContainer ligneTs = new LayoutContainer();
|
|
|
808 |
ligneTs.setLayout(new ColumnLayout());
|
|
|
809 |
|
|
|
810 |
LayoutContainer gaucheTs = new LayoutContainer();
|
|
|
811 |
gaucheTs.setLayout(creerFormLayout(200, LabelAlign.LEFT, 0));
|
|
|
812 |
|
|
|
813 |
LayoutContainer droiteTs = new LayoutContainer();
|
|
|
814 |
droiteTs.setLayout(creerFormLayout(0, null, 0));
|
|
|
815 |
|
|
|
816 |
ListStore<InterneValeur> typesStructure = new ListStore<InterneValeur>();
|
|
|
817 |
typesStructure.add(InterneValeurListe.getTypeStructure());
|
|
|
818 |
|
133 |
jpm |
819 |
comboTypeStructure = new ComboBox<InterneValeur>();
|
|
|
820 |
comboTypeStructure.setTabIndex(104);
|
110 |
jpm |
821 |
comboTypeStructure.setEmptyText("Sélectioner un type de structure...");
|
|
|
822 |
comboTypeStructure.setFieldLabel("Statut des structures");
|
|
|
823 |
comboTypeStructure.setDisplayField("nom");
|
|
|
824 |
comboTypeStructure.setStore(typesStructure);
|
|
|
825 |
comboTypeStructure.setEditable(false);
|
|
|
826 |
comboTypeStructure.setTypeAhead(true);
|
|
|
827 |
comboTypeStructure.setTriggerAction(TriggerAction.ALL);
|
|
|
828 |
comboTypeStructure.addSelectionChangedListener(new SelectionChangedListener<InterneValeur>() {
|
|
|
829 |
@Override
|
|
|
830 |
public void selectionChanged(SelectionChangedEvent<InterneValeur> se) {
|
|
|
831 |
String typeAbr = se.getSelectedItem().getAbr();
|
|
|
832 |
if (typeAbr.equals("stpu")) {
|
|
|
833 |
comboLstpr.hide();
|
|
|
834 |
comboLstpu.show();
|
|
|
835 |
} else if (typeAbr.equals("stpr")) {
|
|
|
836 |
comboLstpu.hide();
|
|
|
837 |
comboLstpr.show();
|
|
|
838 |
} else if (typeAbr.equals("")) {
|
|
|
839 |
comboLstpr.hide();
|
|
|
840 |
comboLstpu.hide();
|
|
|
841 |
comboTypeStructure.clearSelections();
|
|
|
842 |
}
|
|
|
843 |
}
|
|
|
844 |
});
|
|
|
845 |
gaucheTs.add(comboTypeStructure);
|
|
|
846 |
|
119 |
jpm |
847 |
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpu"));
|
110 |
jpm |
848 |
magazinLstpu = new ListStore<Valeur>();
|
|
|
849 |
magazinLstpu.add(new ArrayList<Valeur>());
|
133 |
jpm |
850 |
comboLstpu = new ComboBox<Valeur>();
|
|
|
851 |
comboLstpu.setTabIndex(105);
|
110 |
jpm |
852 |
//comboLstpu.setFieldLabel("Statut des structures publiques");
|
|
|
853 |
comboLstpu.setLabelSeparator("");
|
|
|
854 |
comboLstpu.setDisplayField("nom");
|
|
|
855 |
comboLstpu.setEditable(false);
|
|
|
856 |
comboLstpu.setTriggerAction(TriggerAction.ALL);
|
|
|
857 |
comboLstpu.setStore(magazinLstpu);
|
|
|
858 |
comboLstpu.hide();
|
|
|
859 |
droiteTs.add(comboLstpu);
|
|
|
860 |
|
119 |
jpm |
861 |
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpr"));
|
110 |
jpm |
862 |
magazinLstpr = new ListStore<Valeur>();
|
|
|
863 |
magazinLstpr.add(new ArrayList<Valeur>());
|
133 |
jpm |
864 |
comboLstpr = new ComboBox<Valeur>();
|
|
|
865 |
comboLstpr.setTabIndex(106);
|
110 |
jpm |
866 |
//comboLstpr.setFieldLabel("Statut des structures privées");
|
|
|
867 |
comboLstpr.setLabelSeparator("");
|
|
|
868 |
comboLstpr.setDisplayField("nom");
|
|
|
869 |
comboLstpr.setEditable(false);
|
|
|
870 |
comboLstpr.setTriggerAction(TriggerAction.ALL);
|
|
|
871 |
comboLstpr.setStore(magazinLstpr);
|
|
|
872 |
comboLstpr.hide();
|
|
|
873 |
droiteTs.add(comboLstpr);
|
|
|
874 |
|
|
|
875 |
ligneTs.add(gaucheTs, new ColumnData(0.5));
|
|
|
876 |
ligneTs.add(droiteTs, new ColumnData(0.5));
|
|
|
877 |
fieldSetIdentite.add(ligneTs);
|
|
|
878 |
|
119 |
jpm |
879 |
dateFondationChp = new DateField();
|
133 |
jpm |
880 |
dateFondationChp.setTabIndex(107);
|
110 |
jpm |
881 |
dateFondationChp.setFieldLabel("Date de fondation");
|
|
|
882 |
dateFondationChp.getPropertyEditor().getFormat();
|
|
|
883 |
dateFondationChp.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy"));
|
|
|
884 |
dateFondationChp.getMessages().setInvalidText("La valeur saisie n'est pas une date valide. La date doit être au format «jj/mm/aaaa».");
|
|
|
885 |
fieldSetIdentite.add(dateFondationChp);
|
|
|
886 |
|
|
|
887 |
identificationOnglet.add(fieldSetIdentite);
|
|
|
888 |
|
|
|
889 |
//+-----------------------------------------------------------------------------------------------------------+
|
|
|
890 |
// Fieldset ADRESSE
|
|
|
891 |
LayoutContainer principalFdAdresse = new LayoutContainer();
|
|
|
892 |
principalFdAdresse.setLayout(new ColumnLayout());
|
|
|
893 |
|
|
|
894 |
LayoutContainer gaucheFdAdresse = new LayoutContainer();
|
|
|
895 |
gaucheFdAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
|
|
|
896 |
|
|
|
897 |
LayoutContainer droiteFdAdresse = new LayoutContainer();
|
|
|
898 |
droiteFdAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
|
|
|
899 |
|
|
|
900 |
FieldSet fieldSetAdresse = new FieldSet();
|
|
|
901 |
fieldSetAdresse.setHeading("Adresse");
|
|
|
902 |
fieldSetAdresse.setCollapsible(true);
|
|
|
903 |
|
|
|
904 |
fieldSetAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 4));
|
|
|
905 |
|
164 |
jp_milcent |
906 |
adrChp = new TextArea();
|
133 |
jpm |
907 |
adrChp.setTabIndex(108);
|
110 |
jpm |
908 |
adrChp.setFieldLabel("Adresse");
|
|
|
909 |
fieldSetAdresse.add(adrChp, new FormData(550, 0));
|
|
|
910 |
|
133 |
jpm |
911 |
cpChp = new TextField<String>();
|
|
|
912 |
cpChp.setTabIndex(109);
|
110 |
jpm |
913 |
cpChp.setFieldLabel("Code postal");
|
|
|
914 |
gaucheFdAdresse.add(cpChp);
|
|
|
915 |
|
133 |
jpm |
916 |
villeChp = new TextField<String>();
|
|
|
917 |
villeChp.setTabIndex(110);
|
110 |
jpm |
918 |
villeChp.setFieldLabel("Ville");
|
|
|
919 |
droiteFdAdresse.add(villeChp);
|
|
|
920 |
|
133 |
jpm |
921 |
regionChp = new TextField<String>();
|
|
|
922 |
regionChp.setTabIndex(111);
|
110 |
jpm |
923 |
regionChp.setFieldLabel("Région");
|
|
|
924 |
gaucheFdAdresse.add(regionChp);
|
|
|
925 |
|
164 |
jp_milcent |
926 |
//paysChp = new TextField<String>();
|
|
|
927 |
//paysChp.setTabIndex(112);
|
|
|
928 |
//paysChp.setFieldLabel("Pays");
|
|
|
929 |
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("pays"));
|
|
|
930 |
magazinPays = new ListStore<Valeur>();
|
|
|
931 |
magazinPays.add(new ArrayList<Valeur>());
|
|
|
932 |
comboPays = new ComboBox<Valeur>();
|
|
|
933 |
comboPays.setTabIndex(112);
|
|
|
934 |
comboPays.setFieldLabel("Pays");
|
172 |
jp_milcent |
935 |
comboPays.setEmptyText("Sélectioner un pays...");
|
164 |
jp_milcent |
936 |
comboPays.setEditable(true);
|
|
|
937 |
comboPays.setLabelSeparator("");
|
|
|
938 |
comboPays.setDisplayField("nom");
|
172 |
jp_milcent |
939 |
comboPays.setTemplate(getTemplatePays());
|
|
|
940 |
comboPays.setTypeAhead(true);
|
164 |
jp_milcent |
941 |
comboPays.setTriggerAction(TriggerAction.ALL);
|
|
|
942 |
comboPays.setStore(magazinPays);
|
|
|
943 |
droiteFdAdresse.add(comboPays);
|
110 |
jpm |
944 |
|
|
|
945 |
principalFdAdresse.add(gaucheFdAdresse, new ColumnData(.5));
|
|
|
946 |
principalFdAdresse.add(droiteFdAdresse, new ColumnData(.5));
|
|
|
947 |
fieldSetAdresse.add(principalFdAdresse);
|
|
|
948 |
identificationOnglet.add(fieldSetAdresse);
|
|
|
949 |
|
|
|
950 |
//+-----------------------------------------------------------------------------------------------------------+
|
|
|
951 |
// Fieldset TÉLÉPHONE et EMAIL
|
|
|
952 |
LayoutContainer principalFdTelMail = new LayoutContainer();
|
|
|
953 |
principalFdTelMail.setLayout(new ColumnLayout());
|
|
|
954 |
|
|
|
955 |
LayoutContainer gaucheFdTelMail = new LayoutContainer();
|
|
|
956 |
gaucheFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
|
|
|
957 |
|
|
|
958 |
LayoutContainer droiteFdTelMail = new LayoutContainer();
|
|
|
959 |
droiteFdTelMail.setLayout(creerFormLayout(100, LabelAlign.LEFT, 0));
|
|
|
960 |
|
|
|
961 |
FieldSet fieldSetTelMail = new FieldSet();
|
|
|
962 |
fieldSetTelMail.setHeading("Communication");
|
|
|
963 |
fieldSetTelMail.setCollapsible(true);
|
|
|
964 |
|
|
|
965 |
fieldSetTelMail.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4));
|
|
|
966 |
|
133 |
jpm |
967 |
telChp = new TextField<String>();
|
|
|
968 |
telChp.setTabIndex(113);
|
110 |
jpm |
969 |
telChp.setFieldLabel("Téléphone");
|
|
|
970 |
gaucheFdTelMail.add(telChp);
|
|
|
971 |
|
133 |
jpm |
972 |
faxChp = new TextField<String>();
|
|
|
973 |
faxChp.setTabIndex(114);
|
110 |
jpm |
974 |
faxChp.setFieldLabel("Fax");
|
|
|
975 |
droiteFdTelMail.add(faxChp);
|
|
|
976 |
|
133 |
jpm |
977 |
emailChp = new TextField<String>();
|
|
|
978 |
emailChp.setTabIndex(115);
|
110 |
jpm |
979 |
emailChp.setFieldLabel("Courriel");
|
|
|
980 |
emailChp.setToolTip("Saisir le courriel de l'organisation, pas de courriel individuel. Ex. : accueil@organisation.org");
|
|
|
981 |
gaucheFdTelMail.add(emailChp);
|
|
|
982 |
|
133 |
jpm |
983 |
urlChp = new TextField<String>();
|
|
|
984 |
urlChp.setTabIndex(116);
|
110 |
jpm |
985 |
urlChp.setFieldLabel("Site web");
|
|
|
986 |
droiteFdTelMail.add(urlChp);
|
|
|
987 |
|
|
|
988 |
principalFdTelMail.add(gaucheFdTelMail, new ColumnData(.5));
|
|
|
989 |
principalFdTelMail.add(droiteFdTelMail, new ColumnData(.5));
|
|
|
990 |
fieldSetTelMail.add(principalFdTelMail);
|
|
|
991 |
identificationOnglet.add(fieldSetTelMail);
|
|
|
992 |
|
|
|
993 |
return identificationOnglet;
|
|
|
994 |
}
|
|
|
995 |
|
172 |
jp_milcent |
996 |
private native String getTemplatePays() /*-{
|
|
|
997 |
return [
|
|
|
998 |
'<tpl for=".">',
|
|
|
999 |
'<div class="x-combo-list-item">{nom} ({abreviation})</div>',
|
|
|
1000 |
'</tpl>'
|
|
|
1001 |
].join("");
|
|
|
1002 |
}-*/;
|
|
|
1003 |
|
108 |
jpm |
1004 |
/** Méthode simplifiant la création de FormLayout.
|
110 |
jpm |
1005 |
* Chacun des paramètres peut prendre la valeur null pour utiliser la valeur par défaut.
|
108 |
jpm |
1006 |
*
|
110 |
jpm |
1007 |
* @param labelWidth largeur des labels.
|
108 |
jpm |
1008 |
* @param labelAlign alignement des labels
|
|
|
1009 |
* @param padding padding du layout
|
|
|
1010 |
* @return
|
|
|
1011 |
*/
|
|
|
1012 |
private FormLayout creerFormLayout(Integer labelWidth, LabelAlign labelAlign, Integer padding) {
|
|
|
1013 |
FormLayout formLayout = new FormLayout();
|
110 |
jpm |
1014 |
if (labelWidth != null) {
|
|
|
1015 |
formLayout.setLabelWidth(labelWidth);
|
|
|
1016 |
}
|
|
|
1017 |
if (labelAlign != null) {
|
|
|
1018 |
formLayout.setLabelAlign(labelAlign);
|
|
|
1019 |
}
|
108 |
jpm |
1020 |
if (padding != null) {
|
|
|
1021 |
formLayout.setPadding(padding);
|
|
|
1022 |
}
|
|
|
1023 |
return formLayout;
|
|
|
1024 |
}
|
|
|
1025 |
|
109 |
jpm |
1026 |
/** Méthode simplifiant la création de bouton radio oui/non
|
|
|
1027 |
*
|
|
|
1028 |
* @param listeNom nom de la liste de valeur
|
|
|
1029 |
* @return
|
|
|
1030 |
*/
|
115 |
jpm |
1031 |
private RadioGroup creerChoixUniqueRadioGroupe(String groupeNom, String listeNom) {
|
|
|
1032 |
groupeNom += "_grp";
|
|
|
1033 |
// NOTE : il semblerait qu'il faille aussi utiliser setName() pour éviter tout problème...
|
|
|
1034 |
RadioGroup radioGroup = new RadioGroup(groupeNom);
|
|
|
1035 |
radioGroup.setName(groupeNom);
|
119 |
jpm |
1036 |
|
115 |
jpm |
1037 |
if (! listeNom.equals("ouiNon")) {
|
119 |
jpm |
1038 |
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeNom));
|
115 |
jpm |
1039 |
} else {
|
|
|
1040 |
ValeurListe ouiNonListe = new ValeurListe();
|
119 |
jpm |
1041 |
ouiNonListe.ajouter(new Valeur("000999", "Oui", "NULL", "NULL"));
|
|
|
1042 |
ouiNonListe.ajouter(new Valeur("000998", "Non", "NULL", "NULL"));
|
115 |
jpm |
1043 |
creerChoixUniqueBoutonRadio(radioGroup, ouiNonListe);
|
|
|
1044 |
}
|
109 |
jpm |
1045 |
|
115 |
jpm |
1046 |
return radioGroup;
|
109 |
jpm |
1047 |
}
|
|
|
1048 |
|
115 |
jpm |
1049 |
private void creerChoixUniqueBoutonRadio(RadioGroup radioGroupe, ValeurListe listeValeurs) {
|
|
|
1050 |
for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
|
|
|
1051 |
Valeur val = listeValeurs.get(it.next());
|
|
|
1052 |
|
|
|
1053 |
Radio radioBtn = new Radio();
|
119 |
jpm |
1054 |
radioGroupe.add(radioBtn);
|
|
|
1055 |
radioBtn.setName(radioGroupe.getName().replace("_grp", ""));
|
115 |
jpm |
1056 |
//radioBtn.setId(val.getId()+"_"+radioBtn.getName());
|
|
|
1057 |
radioBtn.setBoxLabel(val.getNom());
|
119 |
jpm |
1058 |
radioBtn.addListener(Events.Change, new Listener<ComponentEvent>() {
|
115 |
jpm |
1059 |
|
119 |
jpm |
1060 |
public void handleEvent(ComponentEvent be) {
|
133 |
jpm |
1061 |
//Window.alert(((Radio) be.component).getName());
|
|
|
1062 |
afficherChampSupplementaire(((Radio) be.component));
|
115 |
jpm |
1063 |
}
|
|
|
1064 |
|
|
|
1065 |
});
|
119 |
jpm |
1066 |
|
115 |
jpm |
1067 |
if (! val.getDescription().equals("NULL")) {
|
|
|
1068 |
radioBtn.setToolTip(new ToolTipConfig(val.getNom(), val.getDescription()));
|
|
|
1069 |
}
|
|
|
1070 |
}
|
|
|
1071 |
}
|
|
|
1072 |
|
|
|
1073 |
private void afficherChampSupplementaire(Radio radioBtn) {
|
119 |
jpm |
1074 |
//GWT.log("Nom btn : "+radioBtn.getName()+" - Nom group : "+radioBtn.getGroup().getName(), null);
|
115 |
jpm |
1075 |
// Valeur du bouton radio déclenchant l'affichage des composants cachés
|
|
|
1076 |
String valeurPourAfficher = "oui";
|
111 |
jpm |
1077 |
|
115 |
jpm |
1078 |
// Construction de la liste des composants à afficher/cacher
|
|
|
1079 |
String radioGroupeNom = radioBtn.getGroup().getName();
|
|
|
1080 |
ArrayList<Object> composants = new ArrayList<Object>();
|
|
|
1081 |
if (radioGroupeNom.equals("action_mark_grp")) {
|
|
|
1082 |
composants.add(actionTrukCp);
|
|
|
1083 |
} else if (radioGroupeNom.equals("future_action_mark_grp")) {
|
|
|
1084 |
composants.add(futureActionChp);
|
|
|
1085 |
} else if (radioGroupeNom.equals("sans_motif_acces_mark_grp")) {
|
|
|
1086 |
composants.add(sansMotifAccesChp);
|
|
|
1087 |
} else if (radioGroupeNom.equals("avec_motif_acces_mark_grp")) {
|
|
|
1088 |
composants.add(avecMotifAccesChp);
|
|
|
1089 |
} else if (radioGroupeNom.equals("recherche_mark_grp")) {
|
|
|
1090 |
composants.add(provenanceRechercheTrukCp);
|
119 |
jpm |
1091 |
composants.add(typeRechercheTrukCp);
|
115 |
jpm |
1092 |
} else if (radioGroupeNom.equals("formation_mark_grp")) {
|
|
|
1093 |
composants.add(formationChp);
|
|
|
1094 |
} else if (radioGroupeNom.equals("collection_commune_mark_grp")) {
|
|
|
1095 |
composants.add(collectionAutreTrukCp);
|
|
|
1096 |
} else if (radioGroupeNom.equals("restauration_mark_grp")) {
|
|
|
1097 |
composants.add(opRestauTrukCp);
|
|
|
1098 |
} else if (radioGroupeNom.equals("traitement_mark_grp")) {
|
|
|
1099 |
composants.add(traitementTrukCp);
|
|
|
1100 |
} else if (radioGroupeNom.equals("echantillon_acquisition_mark_grp")) {
|
|
|
1101 |
composants.add(traitementAcquisitionMarkRGrpChp);
|
|
|
1102 |
} else if (radioGroupeNom.equals("traitement_acquisition_mark_grp")) {
|
|
|
1103 |
composants.add(traitementAcquisitionMarkLabel);
|
|
|
1104 |
composants.add(poisonTraitementTrukCp);
|
|
|
1105 |
composants.add(insecteTraitementTrukCp);
|
|
|
1106 |
} else if (radioGroupeNom.equals("materiel_conservation_ce_grp")) {
|
|
|
1107 |
composants.add(autreMaterielTrukCp);
|
|
|
1108 |
valeurPourAfficher = "non";
|
|
|
1109 |
}
|
111 |
jpm |
1110 |
|
115 |
jpm |
1111 |
// Nous affichons/cachons les composant de la liste
|
|
|
1112 |
final int tailleMax = composants.size();
|
|
|
1113 |
//GWT.log("Id : "+radioBtn.getId()+" - Class : "+radioBtn.getClass().toString()+"- Taille : "+tailleMax, null);
|
119 |
jpm |
1114 |
//Window.alert("Radio grp nom : "+radioGroupeNom+" - Id btn : "+radioBtn.getId()+" - Class : "+radioBtn.getClass().toString()+"- Taille : "+tailleMax);
|
111 |
jpm |
1115 |
for (int i = 0; i < tailleMax; i++) {
|
|
|
1116 |
// En fonction du type de bouton cliquer, on affiche ou cache les champs
|
115 |
jpm |
1117 |
String type = radioBtn.getBoxLabel().toLowerCase();
|
119 |
jpm |
1118 |
//GWT.log(type, null);
|
115 |
jpm |
1119 |
if (radioBtn.getValue() == true) {
|
|
|
1120 |
if (type.equals(valeurPourAfficher)) {
|
|
|
1121 |
((Component) composants.get(i)).show();
|
|
|
1122 |
} else {
|
|
|
1123 |
((Component) composants.get(i)).hide();
|
|
|
1124 |
}
|
111 |
jpm |
1125 |
}
|
|
|
1126 |
// Si on a à faire à un ContentPanel, on l'actualise pour déclencher l'affichage
|
115 |
jpm |
1127 |
if (composants.get(i) instanceof ContentPanel) {
|
|
|
1128 |
((ContentPanel) composants.get(i)).layout();
|
111 |
jpm |
1129 |
}
|
|
|
1130 |
}
|
|
|
1131 |
|
|
|
1132 |
}
|
|
|
1133 |
|
109 |
jpm |
1134 |
/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
|
|
|
1135 |
* Apelle un service retournant la liste des valeurs représentant les cases à cocher.
|
|
|
1136 |
* Ajoute ou pas un champ "Autre".
|
|
|
1137 |
*
|
|
|
1138 |
* @param listeNom nom de la liste de valeur
|
|
|
1139 |
* @return
|
|
|
1140 |
*/
|
|
|
1141 |
private ContentPanel creerChoixMultipleCp(String listeNom) {
|
119 |
jpm |
1142 |
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeNom));
|
109 |
jpm |
1143 |
ContentPanel cp = new ContentPanel();
|
|
|
1144 |
cp.setLayout(creerFormLayout(650, LabelAlign.TOP, 0));
|
|
|
1145 |
cp.setHeaderVisible(false);
|
|
|
1146 |
return cp;
|
|
|
1147 |
}
|
|
|
1148 |
|
|
|
1149 |
/** Méthode simplifiant la création de choix multiple sous forme de case à cocher.
|
|
|
1150 |
* Apelle un service retournant la liste des valeurs représentant les cases à cocher.
|
|
|
1151 |
* Ajoute ou pas un champ "Autre".
|
|
|
1152 |
*
|
|
|
1153 |
* @param cp panneau conteant le groupe de case à cocher
|
|
|
1154 |
* @param cacGroup le groupe de case à cocher
|
|
|
1155 |
* @param listeValeurs la liste de valeurs à transformer en case à cocher
|
|
|
1156 |
* @param boolAutreChp booléen indiquant si oui ou non le champ autre doit apparaître
|
|
|
1157 |
* @return
|
|
|
1158 |
*/
|
115 |
jpm |
1159 |
private void creerChoixMultipleCac(ContentPanel cp, CheckBoxGroup cacGroupe, ValeurListe listeValeurs, Boolean boolAutreChp) {
|
110 |
jpm |
1160 |
cacGroupe.setAutoWidth(true);
|
109 |
jpm |
1161 |
for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
|
111 |
jpm |
1162 |
Valeur val = listeValeurs.get(it.next());
|
|
|
1163 |
String nom = val.get("nom");
|
109 |
jpm |
1164 |
CheckBox cac = new CheckBox();
|
115 |
jpm |
1165 |
cac.setId("val-"+val.getId());
|
111 |
jpm |
1166 |
cac.setBoxLabel(nom);
|
|
|
1167 |
if (! val.getDescription().equals("NULL")) {
|
|
|
1168 |
cac.setToolTip(new ToolTipConfig(val.getNom(), val.getDescription()));
|
109 |
jpm |
1169 |
}
|
|
|
1170 |
cacGroupe.add(cac);
|
|
|
1171 |
}
|
|
|
1172 |
cp.add(cacGroupe);
|
|
|
1173 |
|
|
|
1174 |
if (boolAutreChp == true) {
|
|
|
1175 |
ContentPanel autreCp = new ContentPanel();
|
|
|
1176 |
autreCp.setLayout(creerFormLayout(75, LabelAlign.TOP, 0));
|
|
|
1177 |
autreCp.setHeaderVisible(false);
|
119 |
jpm |
1178 |
TextField<String> autreChp = new TextField<String>();
|
|
|
1179 |
autreChp.setFieldLabel("Autre");
|
|
|
1180 |
autreChp.setLabelStyle("font-weight:normal;");
|
|
|
1181 |
autreCp.add(autreChp);
|
109 |
jpm |
1182 |
cp.add(autreCp);
|
|
|
1183 |
}
|
|
|
1184 |
|
|
|
1185 |
cp.layout();
|
|
|
1186 |
}
|
|
|
1187 |
|
69 |
jpm |
1188 |
public void rafraichir(Object nouvelleDonnees) {
|
153 |
jpm |
1189 |
if (nouvelleDonnees instanceof Information) {
|
|
|
1190 |
Information info = (Information) nouvelleDonnees;
|
156 |
jp_milcent |
1191 |
if (info.getMessages() != null) {
|
|
|
1192 |
GWT.log(info.getMessages().toString(), null);
|
|
|
1193 |
}
|
172 |
jp_milcent |
1194 |
if (info.getType().equals("modif_structure")) {
|
|
|
1195 |
Info.display("Modification d'une institution", info.toString());
|
|
|
1196 |
} else if (info.getType().equals("ajout_structure")) {
|
153 |
jpm |
1197 |
Info.display("Ajout d'une Institution", info.toString());
|
156 |
jp_milcent |
1198 |
} else if (info.getType().equals("selection_structure")) {
|
172 |
jp_milcent |
1199 |
Info.display("Modification d'une institution", info.toString());
|
156 |
jp_milcent |
1200 |
Structure str = (Structure) info.getDonnee(0);
|
|
|
1201 |
mode = "MODIF";
|
172 |
jp_milcent |
1202 |
GWT.log(mode, null);
|
|
|
1203 |
structureFormPanneau.setHeading(i18nC.titreModifFormStructurePanneau()+" - ID : "+str.getId());
|
156 |
jp_milcent |
1204 |
peuplerFormulaire(str);
|
153 |
jpm |
1205 |
}
|
119 |
jpm |
1206 |
} else if (nouvelleDonnees instanceof ValeurListe) {
|
91 |
jpm |
1207 |
ValeurListe listeValeurs = (ValeurListe) nouvelleDonnees;
|
|
|
1208 |
|
|
|
1209 |
List<Valeur> liste = new ArrayList<Valeur>();
|
|
|
1210 |
for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
|
|
|
1211 |
liste.add(listeValeurs.get(it.next()));
|
|
|
1212 |
}
|
|
|
1213 |
// Test pour savoir si la liste contient des éléments
|
|
|
1214 |
if (liste.size() > 0) {
|
|
|
1215 |
Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
|
|
|
1216 |
if (listeValeurs.getId().equals(config.getListeId("stpr"))) {
|
|
|
1217 |
magazinLstpr.removeAll();
|
|
|
1218 |
magazinLstpr.add(liste);
|
|
|
1219 |
comboLstpr.setStore(magazinLstpr);
|
|
|
1220 |
}
|
|
|
1221 |
if (listeValeurs.getId().equals(config.getListeId("stpu"))) {
|
|
|
1222 |
magazinLstpu.removeAll();
|
|
|
1223 |
magazinLstpu.add(liste);
|
|
|
1224 |
comboLstpu.setStore(magazinLstpu);
|
|
|
1225 |
}
|
103 |
jpm |
1226 |
if (listeValeurs.getId().equals(config.getListeId("statut"))) {
|
|
|
1227 |
magazinLiStatut.removeAll();
|
|
|
1228 |
magazinLiStatut.add(liste);
|
|
|
1229 |
comboLiStatut.setStore(magazinLiStatut);
|
|
|
1230 |
}
|
|
|
1231 |
if (listeValeurs.getId().equals(config.getListeId("fonction"))) {
|
|
|
1232 |
magazinLiFonction.removeAll();
|
|
|
1233 |
magazinLiFonction.add(liste);
|
|
|
1234 |
comboLiFonction.setStore(magazinLiFonction);
|
|
|
1235 |
}
|
164 |
jp_milcent |
1236 |
if (listeValeurs.getId().equals(config.getListeId("pays"))) {
|
|
|
1237 |
magazinPays.removeAll();
|
|
|
1238 |
magazinPays.add(liste);
|
|
|
1239 |
comboPays.setStore(magazinPays);
|
|
|
1240 |
}
|
108 |
jpm |
1241 |
if (listeValeurs.getId().equals(config.getListeId("localStockage"))) {
|
115 |
jpm |
1242 |
creerChoixMultipleCac(localStockageTrukCp, localStockageTrukCacGrpChp, listeValeurs, true);
|
108 |
jpm |
1243 |
}
|
|
|
1244 |
if (listeValeurs.getId().equals(config.getListeId("meubleStockage"))) {
|
115 |
jpm |
1245 |
creerChoixMultipleCac(meubleStockageTrukCp, meubleStockageTrukCacGrpChp, listeValeurs, true);
|
108 |
jpm |
1246 |
}
|
109 |
jpm |
1247 |
if (listeValeurs.getId().equals(config.getListeId("parametreStockage"))) {
|
115 |
jpm |
1248 |
creerChoixMultipleCac(parametreStockageTrukCp, parametreStockageTrukCacGrpChp, listeValeurs, true);
|
109 |
jpm |
1249 |
}
|
110 |
jpm |
1250 |
if (listeValeurs.getId().equals(config.getListeId("autreCollection"))) {
|
111 |
jpm |
1251 |
if (collectionAutreTrukCp.getItemByItemId("collectionAutreTrukCacGrpChp") == null) {
|
|
|
1252 |
collectionAutreTrukCacGrpChp.setId("collectionAutreTrukCacGrpChp");
|
115 |
jpm |
1253 |
creerChoixMultipleCac(collectionAutreTrukCp, collectionAutreTrukCacGrpChp, listeValeurs, true);
|
111 |
jpm |
1254 |
}
|
|
|
1255 |
if (autreCollectionTrukCp.getItemByItemId("autreCollectionTrukCacGrpChp") == null) {
|
119 |
jpm |
1256 |
autreCollectionTrukCacGrpChp.setId("autreCollectionTrukCacGrpChp");
|
|
|
1257 |
creerChoixMultipleCac(autreCollectionTrukCp, autreCollectionTrukCacGrpChp, listeValeurs, true);
|
111 |
jpm |
1258 |
}
|
110 |
jpm |
1259 |
}
|
|
|
1260 |
if (listeValeurs.getId().equals(config.getListeId("opRestau"))) {
|
115 |
jpm |
1261 |
creerChoixMultipleCac(opRestauTrukCp, opRestauTrukCacGrpChp, listeValeurs, true);
|
110 |
jpm |
1262 |
}
|
|
|
1263 |
if (listeValeurs.getId().equals(config.getListeId("onep"))) {
|
115 |
jpm |
1264 |
creerChoixUniqueBoutonRadio(materielConservationCeRGrpChp, listeValeurs);
|
110 |
jpm |
1265 |
}
|
|
|
1266 |
if (listeValeurs.getId().equals(config.getListeId("autreMateriel"))) {
|
115 |
jpm |
1267 |
creerChoixMultipleCac(autreMaterielTrukCp, autreMaterielTrukCacGrpChp, listeValeurs, true);
|
110 |
jpm |
1268 |
}
|
|
|
1269 |
if (listeValeurs.getId().equals(config.getListeId("poisonTraitement"))) {
|
115 |
jpm |
1270 |
creerChoixMultipleCac(poisonTraitementTrukCp, poisonTraitementTrukCacGrpChp, listeValeurs, true);
|
110 |
jpm |
1271 |
}
|
|
|
1272 |
if (listeValeurs.getId().equals(config.getListeId("insecteTraitement"))) {
|
115 |
jpm |
1273 |
if (traitementTrukCp.getItemByItemId("traitementTrukCacGrpChp") == null) {
|
|
|
1274 |
traitementTrukCacGrpChp.setId("traitementTrukCacGrpChp");
|
|
|
1275 |
creerChoixMultipleCac(traitementTrukCp, traitementTrukCacGrpChp, listeValeurs, true);
|
110 |
jpm |
1276 |
}
|
115 |
jpm |
1277 |
if (insecteTraitementTrukCp.getItemByItemId("insecteTraitementTrukCacGrpChp") == null) {
|
|
|
1278 |
insecteTraitementTrukCacGrpChp.setId("insecteTraitementTrukCacGrpChp");
|
|
|
1279 |
creerChoixMultipleCac(insecteTraitementTrukCp, insecteTraitementTrukCacGrpChp, listeValeurs, true);
|
110 |
jpm |
1280 |
}
|
|
|
1281 |
}
|
111 |
jpm |
1282 |
if (listeValeurs.getId().equals(config.getListeId("actionValorisation"))) {
|
115 |
jpm |
1283 |
creerChoixMultipleCac(actionTrukCp, actionTrukCacGrpChp, listeValeurs, true);
|
111 |
jpm |
1284 |
}
|
|
|
1285 |
if (listeValeurs.getId().equals(config.getListeId("continentEtFr"))) {
|
115 |
jpm |
1286 |
creerChoixMultipleCac(provenanceRechercheTrukCp, provenanceRechercheTrukCacGrpChp, listeValeurs, true);
|
111 |
jpm |
1287 |
}
|
|
|
1288 |
if (listeValeurs.getId().equals(config.getListeId("typeRecherche"))) {
|
119 |
jpm |
1289 |
creerChoixMultipleCac(typeRechercheTrukCp, typeRechercheTrukCacGrpChp, listeValeurs, true);
|
111 |
jpm |
1290 |
}
|
110 |
jpm |
1291 |
//GWT.log("La liste #"+listeValeurs.getId()+" a été reçue!", null);
|
91 |
jpm |
1292 |
} else {
|
|
|
1293 |
GWT.log("La liste #"+listeValeurs.getId()+" ne contient aucune valeurs!", null);
|
|
|
1294 |
}
|
|
|
1295 |
}
|
69 |
jpm |
1296 |
}
|
100 |
jpm |
1297 |
|
115 |
jpm |
1298 |
}
|