Line 3... |
Line 3... |
3 |
import java.util.ArrayList;
|
3 |
import java.util.ArrayList;
|
4 |
import java.util.Collection;
|
4 |
import java.util.Collection;
|
5 |
import java.util.Iterator;
|
5 |
import java.util.Iterator;
|
6 |
import java.util.List;
|
6 |
import java.util.List;
|
Line 7... |
Line -... |
7 |
|
- |
|
8 |
import org.tela_botanica.client.ComposantClass;
|
7 |
|
9 |
import org.tela_botanica.client.Mediateur;
|
- |
|
10 |
import org.tela_botanica.client.composants.ChampComboBoxListeValeurs;
|
8 |
import org.tela_botanica.client.Mediateur;
|
11 |
import org.tela_botanica.client.composants.ChampComboBoxRechercheTempsReelPaginable;
|
9 |
import org.tela_botanica.client.composants.ChampComboBoxRechercheTempsReelPaginable;
|
12 |
import org.tela_botanica.client.composants.InfoLogger;
|
10 |
import org.tela_botanica.client.composants.InfoLogger;
|
13 |
import org.tela_botanica.client.composants.pagination.ProxyPersonnes;
|
11 |
import org.tela_botanica.client.composants.pagination.ProxyPersonnes;
|
14 |
import org.tela_botanica.client.images.Images;
|
12 |
import org.tela_botanica.client.images.Images;
|
15 |
import org.tela_botanica.client.interfaces.Rafraichissable;
|
13 |
import org.tela_botanica.client.interfaces.Rafraichissable;
|
16 |
import org.tela_botanica.client.modeles.Information;
|
14 |
import org.tela_botanica.client.modeles.Information;
|
17 |
import org.tela_botanica.client.modeles.Valeur;
|
15 |
import org.tela_botanica.client.modeles.Valeur;
|
18 |
import org.tela_botanica.client.modeles.ValeurListe;
|
16 |
import org.tela_botanica.client.modeles.ValeurListe;
|
19 |
import org.tela_botanica.client.modeles.aDonnee;
|
17 |
import org.tela_botanica.client.modeles.aDonnee;
|
- |
|
18 |
import org.tela_botanica.client.modeles.personne.Personne;
|
20 |
import org.tela_botanica.client.modeles.personne.Personne;
|
19 |
import org.tela_botanica.client.modeles.structure.Structure;
|
21 |
import org.tela_botanica.client.modeles.structure.StructureAPersonne;
|
20 |
import org.tela_botanica.client.modeles.structure.StructureAPersonne;
|
22 |
import org.tela_botanica.client.modeles.structure.StructureAPersonneListe;
|
21 |
import org.tela_botanica.client.modeles.structure.StructureAPersonneListe;
|
23 |
import org.tela_botanica.client.synchronisation.Sequenceur;
|
22 |
import org.tela_botanica.client.synchronisation.Sequenceur;
|
24 |
import org.tela_botanica.client.util.Debug;
|
23 |
import org.tela_botanica.client.util.Debug;
|
- |
|
24 |
import org.tela_botanica.client.util.UtilString;
|
25 |
import org.tela_botanica.client.util.UtilString;
|
25 |
import org.tela_botanica.client.vues.FenetreForm;
|
- |
|
26 |
import org.tela_botanica.client.vues.Formulaire;
|
26 |
import org.tela_botanica.client.vues.Formulaire;
|
27 |
import org.tela_botanica.client.vues.FormulaireBarreValidation;
|
- |
|
28 |
import org.tela_botanica.client.vues.FormulaireOnglet;
|
Line 27... |
Line 29... |
27 |
import org.tela_botanica.client.vues.FormulaireOnglet;
|
29 |
import org.tela_botanica.client.vues.personne.PersonneForm;
|
28 |
|
30 |
|
29 |
import com.extjs.gxt.ui.client.Style.Scroll;
|
31 |
import com.extjs.gxt.ui.client.Style.Scroll;
|
30 |
import com.extjs.gxt.ui.client.data.ModelData;
|
32 |
import com.extjs.gxt.ui.client.data.ModelData;
|
Line 39... |
Line 41... |
39 |
import com.extjs.gxt.ui.client.store.Record;
|
41 |
import com.extjs.gxt.ui.client.store.Record;
|
40 |
import com.extjs.gxt.ui.client.store.Store;
|
42 |
import com.extjs.gxt.ui.client.store.Store;
|
41 |
import com.extjs.gxt.ui.client.store.StoreEvent;
|
43 |
import com.extjs.gxt.ui.client.store.StoreEvent;
|
42 |
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
44 |
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
43 |
import com.extjs.gxt.ui.client.widget.TabItem;
|
45 |
import com.extjs.gxt.ui.client.widget.TabItem;
|
- |
|
46 |
import com.extjs.gxt.ui.client.widget.Text;
|
44 |
import com.extjs.gxt.ui.client.widget.button.Button;
|
47 |
import com.extjs.gxt.ui.client.widget.button.Button;
|
- |
|
48 |
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
|
45 |
import com.extjs.gxt.ui.client.widget.form.ComboBox;
|
49 |
import com.extjs.gxt.ui.client.widget.form.ComboBox;
|
46 |
import com.extjs.gxt.ui.client.widget.form.Field;
|
50 |
import com.extjs.gxt.ui.client.widget.form.Field;
|
- |
|
51 |
import com.extjs.gxt.ui.client.widget.form.FormPanel;
|
47 |
import com.extjs.gxt.ui.client.widget.form.NumberField;
|
52 |
import com.extjs.gxt.ui.client.widget.form.NumberField;
|
48 |
import com.extjs.gxt.ui.client.widget.form.TextArea;
|
53 |
import com.extjs.gxt.ui.client.widget.form.TextArea;
|
49 |
import com.extjs.gxt.ui.client.widget.form.TextField;
|
54 |
import com.extjs.gxt.ui.client.widget.form.TextField;
|
50 |
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
|
55 |
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
|
51 |
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
|
56 |
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign;
|
Line 54... |
Line 59... |
54 |
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
|
59 |
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
|
55 |
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
|
60 |
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
|
56 |
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
|
61 |
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
|
57 |
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
|
62 |
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
|
58 |
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
|
63 |
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
|
- |
|
64 |
import com.extjs.gxt.ui.client.widget.layout.FitData;
|
59 |
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
|
65 |
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
|
60 |
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
|
66 |
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
|
61 |
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
|
67 |
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
|
62 |
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
|
68 |
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
|
63 |
import com.google.gwt.core.client.GWT;
|
69 |
import com.google.gwt.core.client.GWT;
|
64 |
import com.google.gwt.i18n.client.NumberFormat;
|
70 |
import com.google.gwt.i18n.client.NumberFormat;
|
- |
|
71 |
import com.google.gwt.user.client.Window;
|
Line 65... |
Line 72... |
65 |
|
72 |
|
Line 66... |
Line 73... |
66 |
public class StructureFormPersonne extends FormulaireOnglet implements Rafraichissable {
|
73 |
public class StructureFormPersonne extends FormulaireOnglet implements Rafraichissable {
|
67 |
|
74 |
|
Line 86... |
Line 93... |
86 |
|
93 |
|
87 |
private String ID = "personnel";
|
94 |
private String ID = "personnel";
|
88 |
private Formulaire formulaireCourant = null;
|
95 |
private Formulaire formulaireCourant = null;
|
Line -... |
Line 96... |
- |
|
96 |
private int decompteRafraichissementPersonnel;
|
- |
|
97 |
|
89 |
private int decompteRafraichissementPersonnel;
|
98 |
private FenetreForm fenetreFormulaire = null;
|
Line 90... |
Line 99... |
90 |
|
99 |
|
91 |
private Sequenceur sequenceur = null;
|
100 |
private Sequenceur sequenceur = null;
|
92 |
|
101 |
|
Line 214... |
Line 223... |
214 |
};
|
223 |
};
|
215 |
column.setEditor(fonctionEditor);
|
224 |
column.setEditor(fonctionEditor);
|
216 |
configs.add(column);
|
225 |
configs.add(column);
|
Line 217... |
Line 226... |
217 |
|
226 |
|
218 |
column = new ColumnConfig("prenom", "Prénom", 100);
|
- |
|
219 |
TextField<String> prenomChp = new TextField<String>();
|
- |
|
220 |
prenomChp.setAllowBlank(false);
|
- |
|
221 |
prenomChp.getMessages().setBlankText("Ce champ est obligatoire.");
|
- |
|
222 |
prenomChp.setAutoValidate(true);
|
- |
|
223 |
prenomChp.addStyleName(ComposantClass.OBLIGATOIRE);
|
- |
|
224 |
prenomChp.addListener(Events.Valid, Formulaire.creerEcouteurChampObligatoire());
|
- |
|
225 |
column.setEditor(new CellEditor(prenomChp));
|
227 |
column = new ColumnConfig("prenom", "Prénom", 100);
|
Line 226... |
Line 228... |
226 |
configs.add(column);
|
228 |
configs.add(column);
|
227 |
|
- |
|
228 |
column = new ColumnConfig("nom", "Nom", 100);
|
- |
|
229 |
TextField<String> nomChp = new TextField<String>();
|
- |
|
230 |
nomChp.setAllowBlank(false);
|
- |
|
231 |
nomChp.getMessages().setBlankText("Ce champ est obligatoire.");
|
- |
|
232 |
nomChp.setAutoValidate(true);
|
- |
|
233 |
nomChp.addStyleName(ComposantClass.OBLIGATOIRE);
|
- |
|
234 |
nomChp.addListener(Events.Valid, Formulaire.creerEcouteurChampObligatoire());
|
229 |
|
Line 235... |
Line 230... |
235 |
column.setEditor(new CellEditor(nomChp));
|
230 |
column = new ColumnConfig("nom", "Nom", 100);
|
236 |
configs.add(column);
|
- |
|
237 |
|
- |
|
238 |
column = new ColumnConfig("tel_fix", "Téléphone fixe", 100);
|
231 |
configs.add(column);
|
Line 239... |
Line 232... |
239 |
TextField<String> telChp = new TextField<String>();
|
232 |
|
240 |
column.setEditor(new CellEditor(telChp));
|
- |
|
241 |
configs.add(column);
|
- |
|
242 |
|
233 |
column = new ColumnConfig("tel_fix", "Téléphone", 100);
|
Line 243... |
Line 234... |
243 |
column = new ColumnConfig("tel_fax", "Fax", 100);
|
234 |
configs.add(column);
|
244 |
TextField<String> faxChp = new TextField<String>();
|
- |
|
245 |
column.setEditor(new CellEditor(faxChp));
|
- |
|
246 |
configs.add(column);
|
235 |
|
Line 247... |
Line 236... |
247 |
|
236 |
column = new ColumnConfig("tel_fax", "Fax", 100);
|
248 |
column = new ColumnConfig("courriel", "Courriel principal", 200);
|
237 |
configs.add(column);
|
Line 288... |
Line 277... |
288 |
tpsWChp.setFormat(NumberFormat.getFormat("##"));
|
277 |
tpsWChp.setFormat(NumberFormat.getFormat("##"));
|
289 |
tpsWChp.setToolTip("Ce champ doit contenir un nombre");
|
278 |
tpsWChp.setToolTip("Ce champ doit contenir un nombre");
|
290 |
column.setEditor(new CellEditor(tpsWChp));
|
279 |
column.setEditor(new CellEditor(tpsWChp));
|
291 |
configs.add(column);
|
280 |
configs.add(column);
|
Line 292... |
Line 281... |
292 |
|
281 |
|
293 |
column = new ColumnConfig("specialite", "Spécialité principale", 150);
|
- |
|
294 |
TextField<String> speChp = new TextField<String>();
|
- |
|
295 |
column.setEditor(new CellEditor(speChp));
|
282 |
column = new ColumnConfig("specialite", "Spécialité botanique principale", 150);
|
Line 296... |
Line 283... |
296 |
configs.add(column);
|
283 |
configs.add(column);
|
297 |
|
284 |
|
Line 298... |
Line 285... |
298 |
CheckColumnConfig checkColumn = new CheckColumnConfig("contact", "Contact ?", 60);
|
285 |
CheckColumnConfig checkColumn = new CheckColumnConfig("contact", "Contact ?", 60);
|
Line -... |
Line 286... |
- |
|
286 |
configs.add(checkColumn);
|
299 |
configs.add(checkColumn);
|
287 |
|
- |
|
288 |
ToolBar toolBar = new ToolBar();
|
- |
|
289 |
|
- |
|
290 |
|
- |
|
291 |
personneExistanteMagazin = new ListStore<Personne>();
|
300 |
|
292 |
personneExistanteMagazin.add(new ArrayList<Personne>());
|
- |
|
293 |
|
- |
|
294 |
ModelType modelTypePersonnes = new ModelType();
|
- |
|
295 |
modelTypePersonnes.setRoot("personnes");
|
- |
|
296 |
modelTypePersonnes.setTotalName("nbElements");
|
- |
|
297 |
modelTypePersonnes.addField("cp_fmt_nom_complet");
|
- |
|
298 |
modelTypePersonnes.addField("cp_nom");
|
- |
|
299 |
modelTypePersonnes.addField("cp_prenom");
|
- |
|
300 |
modelTypePersonnes.addField("cp_truk_courriel");
|
- |
|
301 |
modelTypePersonnes.addField("cp_truk_telephone");
|
301 |
ToolBar toolBar = new ToolBar();
|
302 |
modelTypePersonnes.addField("cp_ce_truk_specialite");
|
- |
|
303 |
modelTypePersonnes.addField("cp_id_personne");
|
- |
|
304 |
|
- |
|
305 |
String displayNamePersonnes = "cp_fmt_nom_complet";
|
- |
|
306 |
ProxyPersonnes<ModelData> proxyPersonnes = new ProxyPersonnes<ModelData>(null);
|
- |
|
307 |
|
302 |
|
308 |
personneExistanteCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyPersonnes, modelTypePersonnes, displayNamePersonnes);
|
- |
|
309 |
personneExistanteCombo.getCombo().setEmptyText("Rechercher et sélectionner une personne existante dans la base");
|
- |
|
310 |
|
- |
|
311 |
// TODO : dans GXT 2.0 plus besoin de l'adaptateur, on peut ajouter la combobox directement sur la toolbar
|
303 |
Button ajouterPersonnelBtn = new Button("Ajouter");
|
312 |
//> CHECK
|
- |
|
313 |
toolBar.add(personneExistanteCombo);
|
- |
|
314 |
|
304 |
ajouterPersonnelBtn.setIcon(Images.ICONES.vcardAjouter());
|
315 |
personneExistanteCombo.getCombo().addListener(Events.Select, new Listener<BaseEvent>() {
|
305 |
ajouterPersonnelBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
316 |
public void handleEvent(BaseEvent be) {
|
- |
|
317 |
if (personneExistanteCombo.getValeur() instanceof ModelData) {
|
- |
|
318 |
Personne personneExistante = new Personne(personneExistanteCombo.getValeur());
|
306 |
@Override
|
319 |
StructureAPersonne membreDuPersonnel = new StructureAPersonne(personneExistante, "", StructureAPersonne.ROLE_EQUIPE, StructureAPersonne.ETAT_AJOUTE);
|
307 |
public void componentSelected(ButtonEvent ce) {
|
320 |
ajouterMembreAGrillePersonnel(membreDuPersonnel);
|
- |
|
321 |
personneExistanteCombo.getCombo().setValue(null);
|
- |
|
322 |
}
|
- |
|
323 |
}
|
- |
|
324 |
});
|
308 |
StructureAPersonne membreDuPersonnel = new StructureAPersonne("", StructureAPersonne.ROLE_EQUIPE, StructureAPersonne.ETAT_AJOUTE);
|
325 |
|
- |
|
326 |
toolBar.add(new Text(" ou "));
|
- |
|
327 |
|
- |
|
328 |
Button ajouterPersonnelBtn = creerBoutonAjouter();
|
- |
|
329 |
toolBar.add(ajouterPersonnelBtn);
|
- |
|
330 |
|
Line 309... |
Line 331... |
309 |
ajouterMembreAGrillePersonnel(membreDuPersonnel);
|
331 |
toolBar.add(new SeparatorToolItem());
|
Line 310... |
Line 332... |
310 |
}
|
332 |
|
311 |
});
|
333 |
Button modifierPersonnelBtn = creerBoutonModifier();
|
Line 350... |
Line 372... |
350 |
});
|
372 |
});
|
351 |
toolBar.add(rafraichirPersonnelBtn);
|
373 |
toolBar.add(rafraichirPersonnelBtn);
|
Line 352... |
Line 374... |
352 |
|
374 |
|
Line 353... |
Line -... |
353 |
toolBar.add(new SeparatorToolItem());
|
- |
|
354 |
|
- |
|
355 |
personneExistanteMagazin = new ListStore<Personne>();
|
- |
|
356 |
personneExistanteMagazin.add(new ArrayList<Personne>());
|
- |
|
357 |
|
- |
|
358 |
ModelType modelTypePersonnes = new ModelType();
|
- |
|
359 |
modelTypePersonnes.setRoot("personnes");
|
- |
|
360 |
modelTypePersonnes.setTotalName("nbElements");
|
- |
|
361 |
modelTypePersonnes.addField("cp_fmt_nom_complet");
|
- |
|
362 |
modelTypePersonnes.addField("cp_nom");
|
- |
|
363 |
modelTypePersonnes.addField("cp_prenom");
|
- |
|
364 |
modelTypePersonnes.addField("cp_truk_courriel");
|
- |
|
365 |
modelTypePersonnes.addField("cp_truk_telephone");
|
- |
|
366 |
modelTypePersonnes.addField("cp_ce_truk_specialite");
|
- |
|
367 |
modelTypePersonnes.addField("cp_id_personne");
|
- |
|
368 |
|
- |
|
369 |
String displayNamePersonnes = "cp_fmt_nom_complet";
|
- |
|
370 |
ProxyPersonnes<ModelData> proxyPersonnes = new ProxyPersonnes<ModelData>(null);
|
- |
|
371 |
|
- |
|
372 |
personneExistanteCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyPersonnes, modelTypePersonnes, displayNamePersonnes);
|
- |
|
373 |
|
- |
|
374 |
// TODO : dans GXT 2.0 plus besoin de l'adaptateur, on peut ajouter la combobox directement sur la toolbar
|
- |
|
375 |
//> CHECK
|
- |
|
376 |
toolBar.add(personneExistanteCombo);
|
- |
|
377 |
|
- |
|
378 |
Button ajouterPersonneExistanteBtn = new Button("Ajouter à la grille");
|
- |
|
379 |
ajouterPersonneExistanteBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
- |
|
380 |
@Override
|
- |
|
381 |
public void componentSelected(ButtonEvent ce) {
|
- |
|
382 |
|
- |
|
383 |
Personne personneExistante = new Personne(personneExistanteCombo.getValeur());
|
- |
|
384 |
|
- |
|
385 |
if (personneExistante != null) {
|
- |
|
386 |
StructureAPersonne membreDuPersonnel = new StructureAPersonne(personneExistante, "", StructureAPersonne.ROLE_EQUIPE, StructureAPersonne.ETAT_AJOUTE);
|
- |
|
387 |
ajouterMembreAGrillePersonnel(membreDuPersonnel);
|
- |
|
388 |
}
|
- |
|
389 |
}
|
- |
|
390 |
});
|
- |
|
391 |
toolBar.add(ajouterPersonneExistanteBtn);
|
375 |
toolBar.add(new SeparatorToolItem());
|
Line 392... |
Line 376... |
392 |
|
376 |
|
Line 393... |
Line 377... |
393 |
cp.setTopComponent(toolBar);
|
377 |
cp.setTopComponent(toolBar);
|
394 |
|
378 |
|
- |
|
379 |
ColumnModel cm = new ColumnModel(configs);
|
395 |
ColumnModel cm = new ColumnModel(configs);
|
380 |
|
396 |
|
381 |
grillePersonnel = new EditorGrid<StructureAPersonne>(personnelGrilleMagazin, cm);
|
397 |
grillePersonnel = new EditorGrid<StructureAPersonne>(personnelGrilleMagazin, cm);
|
382 |
//grillePersonnel.setHeight("100%");
|
398 |
grillePersonnel.setHeight("100%");
|
383 |
grillePersonnel.setAutoHeight(true);
|
399 |
grillePersonnel.setBorders(true);
|
384 |
grillePersonnel.setBorders(true);
|
Line 417... |
Line 402... |
417 |
});
|
402 |
});
|
Line 418... |
Line 403... |
418 |
|
403 |
|
419 |
|
404 |
|
- |
|
405 |
cp.add(grillePersonnel);
|
- |
|
406 |
this.add(cp);
|
- |
|
407 |
|
- |
|
408 |
this.setAutoHeight(true);
|
- |
|
409 |
}
|
- |
|
410 |
|
- |
|
411 |
private Button creerBoutonAjouter() {
|
- |
|
412 |
Button bouton = new Button(i18nC.ajouter());
|
- |
|
413 |
bouton.setIcon(Images.ICONES.vcardAjouter());
|
- |
|
414 |
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
- |
|
415 |
public void componentSelected(ButtonEvent ce) {
|
- |
|
416 |
fenetreFormulaire = creerFenetreModaleAvecFormulairePersonne(Formulaire.MODE_AJOUTER);
|
- |
|
417 |
fenetreFormulaire.show();
|
- |
|
418 |
}
|
- |
|
419 |
});
|
- |
|
420 |
return bouton;
|
- |
|
421 |
}
|
- |
|
422 |
|
- |
|
423 |
private Button creerBoutonModifier() {
|
- |
|
424 |
Button bouton = new Button(i18nC.modifier());
|
- |
|
425 |
bouton.setIcon(Images.ICONES.vcardModifier());
|
- |
|
426 |
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
- |
|
427 |
public void componentSelected(ButtonEvent ce) {
|
- |
|
428 |
String IdpersonneSaisieSelectionnee = (grillePersonnel.getSelectionModel().getSelectedItem()).getIdPersonne();
|
- |
|
429 |
|
- |
|
430 |
if (IdpersonneSaisieSelectionnee == null) {
|
- |
|
431 |
InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerPersonne());
|
- |
|
432 |
} else {
|
- |
|
433 |
fenetreFormulaire = creerFenetreModaleAvecFormulairePersonne(Formulaire.MODE_MODIFIER);
|
- |
|
434 |
fenetreFormulaire.show();
|
- |
|
435 |
}
|
- |
|
436 |
}
|
- |
|
437 |
});
|
- |
|
438 |
return bouton;
|
- |
|
439 |
}
|
- |
|
440 |
|
- |
|
441 |
private FenetreForm creerFenetreModaleAvecFormulairePersonne(String mode) {
|
- |
|
442 |
String personneId = null;
|
- |
|
443 |
if (mode.equals(Formulaire.MODE_MODIFIER)) {
|
- |
|
444 |
personneId = (grillePersonnel.getSelectionModel().getSelectedItem()).getIdPersonne();
|
- |
|
445 |
}
|
- |
|
446 |
|
- |
|
447 |
final FenetreForm fenetre = new FenetreForm("");
|
- |
|
448 |
final PersonneForm formulaire = creerFormulairePersonne(fenetre, personneId);
|
- |
|
449 |
fenetre.add(formulaire);
|
- |
|
450 |
return fenetre;
|
- |
|
451 |
}
|
- |
|
452 |
|
- |
|
453 |
private PersonneForm creerFormulairePersonne(final FenetreForm fenetre, final String personneId) {
|
- |
|
454 |
PersonneForm formulairePersonne = new PersonneForm(mediateur, personneId, this);
|
- |
|
455 |
FormPanel panneauFormulaire = formulairePersonne.getFormulaire();
|
- |
|
456 |
fenetre.setHeadingHtml(panneauFormulaire.getHeadingHtml());
|
- |
|
457 |
panneauFormulaire.setHeaderVisible(false);
|
- |
|
458 |
panneauFormulaire.setTopComponent(null);
|
- |
|
459 |
|
- |
|
460 |
// FIXME : avec GXT-2.1.0 la redéfinition du bottom component ne marche plus. Nous le cachons et en créeons un dans la fenêtre.
|
- |
|
461 |
panneauFormulaire.getBottomComponent().hide();
|
- |
|
462 |
SelectionListener<ButtonEvent> ecouteur = creerEcouteurValidationFormulairePersonne(fenetre, formulairePersonne);
|
- |
|
463 |
final ButtonBar barreValidation = new FormulaireBarreValidation(ecouteur);
|
- |
|
464 |
fenetre.setBottomComponent(barreValidation);
|
- |
|
465 |
|
- |
|
466 |
return formulairePersonne;
|
- |
|
467 |
}
|
- |
|
468 |
|
- |
|
469 |
private SelectionListener<ButtonEvent> creerEcouteurValidationFormulairePersonne(final FenetreForm fenetre, final PersonneForm formulaire) {
|
- |
|
470 |
SelectionListener<ButtonEvent> ecouteur = new SelectionListener<ButtonEvent>() {
|
- |
|
471 |
public void componentSelected(ButtonEvent ce) {
|
- |
|
472 |
String code = ((Button) ce.getComponent()).getData("code");
|
- |
|
473 |
if (code.equals(FormulaireBarreValidation.CODE_BOUTON_VALIDER)) {
|
- |
|
474 |
if (formulaire.soumettreFormulaire()) {
|
- |
|
475 |
fenetre.hide();
|
- |
|
476 |
}
|
- |
|
477 |
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_APPLIQUER)) {
|
- |
|
478 |
formulaire.soumettreFormulaire();
|
- |
|
479 |
} else if (code.equals(FormulaireBarreValidation.CODE_BOUTON_ANNULER)) {
|
- |
|
480 |
fenetre.hide();
|
- |
|
481 |
}
|
- |
|
482 |
}
|
- |
|
483 |
};
|
420 |
cp.add(grillePersonnel);
|
484 |
|
Line 421... |
Line 485... |
421 |
this.add(cp);
|
485 |
return ecouteur;
|
422 |
}
|
486 |
}
|
423 |
|
487 |
|
Line 474... |
Line 538... |
474 |
StructureAPersonneListe personnel = (StructureAPersonneListe) info.getDonnee(0);
|
538 |
StructureAPersonneListe personnel = (StructureAPersonneListe) info.getDonnee(0);
|
475 |
peupler(personnel);
|
539 |
peupler(personnel);
|
476 |
layout();
|
540 |
layout();
|
477 |
InfoLogger.display("Chargement du Personnel", "ok");
|
541 |
InfoLogger.display("Chargement du Personnel", "ok");
|
478 |
}
|
542 |
}
|
- |
|
543 |
} else if (info.getType().equals("personne_modifiee")) {
|
- |
|
544 |
if (info.getDonnee(0) != null) {
|
- |
|
545 |
Personne personne = (Personne) info.getDonnee(0);
|
- |
|
546 |
StructureAPersonne personneDansGrille = grillePersonnel.getStore().findModel("id_personne", personne.getId());
|
- |
|
547 |
StructureAPersonne personneDansGrilleModif = new StructureAPersonne(personne, personneDansGrille.getFonction(), personneDansGrille.getIdRole(), personneDansGrille.getIdEtat());
|
- |
|
548 |
int index = grillePersonnel.getStore().indexOf(personneDansGrille);
|
- |
|
549 |
grillePersonnel.getStore().remove(personneDansGrille);
|
- |
|
550 |
grillePersonnel.getStore().insert(personneDansGrilleModif, index);
|
- |
|
551 |
personnelModifie.put(personne.getId()+"", personneDansGrilleModif);
|
- |
|
552 |
}
|
- |
|
553 |
} else if (info.getType().equals("personne_ajoutee")) {
|
- |
|
554 |
if (info.getDonnee(0) != null) {
|
- |
|
555 |
Personne personne = (Personne) info.getDonnee(0);
|
- |
|
556 |
StructureAPersonne structAPersonne = new StructureAPersonne(personne,"",StructureAPersonne.ROLE_EQUIPE, "");
|
- |
|
557 |
Structure structure = ((StructureForm) formulaire).identification;
|
- |
|
558 |
structAPersonne.setIdStructure(structure.getId());
|
- |
|
559 |
personnelAjoute.put(personne.getId(), structAPersonne);
|
- |
|
560 |
ajouterMembreAGrillePersonnel(structAPersonne);
|
- |
|
561 |
}
|
479 |
}
|
562 |
}
|
480 |
}
|
563 |
}
|
Line 481... |
Line 564... |
481 |
|
564 |
|
482 |
public void rafraichirValeurListe(ValeurListe listeValeurs) {
|
565 |
public void rafraichirValeurListe(ValeurListe listeValeurs) {
|
Line 576... |
Line 659... |
576 |
|
659 |
|
577 |
// On met à faux le décès
|
660 |
// On met à faux le décès
|
Line 578... |
Line 661... |
578 |
personne.setDeces(Personne.ETRE_VIVANT);
|
661 |
personne.setDeces(Personne.ETRE_VIVANT);
|
579 |
|
662 |
|
580 |
// Ajout de la personne dans la liste correspondant à son état (ajouté ou modifié)
|
663 |
// Ajout de la personne dans la liste correspondant à son état (ajouté ou modifié)
|
581 |
if (personne.get("etat") != null && personne.get("etat").equals(StructureAPersonne.ETAT_AJOUTE)) { // Une personne ajoutée
|
664 |
if (personne.get("etat") != null && personne.get("etat").equals(StructureAPersonne.ETAT_AJOUTE)) { // Une personne ajoutée
|
582 |
personnelAjoute.put(""+i, personne);
|
665 |
personnelAjoute.put(""+i, personne);
|
583 |
} else {// Une personne modifiée
|
666 |
} else {// Une personne modifiée
|
584 |
personnelModifie.put(personne.getId(), personne);
|
667 |
personnelModifie.put(personne.getId(), personne);
|