Subversion Repositories eFlore/Applications.coel

Rev

Rev 1764 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1764 Rev 1779
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);