Line 19... |
Line 19... |
19 |
import org.tela_botanica.client.modeles.UniteBase;
|
19 |
import org.tela_botanica.client.modeles.UniteBase;
|
20 |
import org.tela_botanica.client.modeles.UniteRangement;
|
20 |
import org.tela_botanica.client.modeles.UniteRangement;
|
21 |
import org.tela_botanica.client.modeles.Valeur;
|
21 |
import org.tela_botanica.client.modeles.Valeur;
|
22 |
import org.tela_botanica.client.modeles.ValeurListe;
|
22 |
import org.tela_botanica.client.modeles.ValeurListe;
|
23 |
import org.tela_botanica.client.modeles.aDonnee;
|
23 |
import org.tela_botanica.client.modeles.aDonnee;
|
- |
|
24 |
import org.tela_botanica.client.util.Debug;
|
Line 24... |
Line 25... |
24 |
|
25 |
|
25 |
import com.extjs.gxt.ui.client.event.BaseEvent;
|
26 |
import com.extjs.gxt.ui.client.event.BaseEvent;
|
26 |
import com.extjs.gxt.ui.client.event.ButtonEvent;
|
27 |
import com.extjs.gxt.ui.client.event.ButtonEvent;
|
27 |
import com.extjs.gxt.ui.client.event.ComponentEvent;
|
28 |
import com.extjs.gxt.ui.client.event.ComponentEvent;
|
Line 59... |
Line 60... |
59 |
import com.google.gwt.event.dom.client.KeyCodes;
|
60 |
import com.google.gwt.event.dom.client.KeyCodes;
|
Line 60... |
Line 61... |
60 |
|
61 |
|
Line 61... |
Line 62... |
61 |
public class CollectionFormPersonne extends FormulaireOnglet implements Rafraichissable {
|
62 |
public class CollectionFormPersonne extends FormulaireOnglet implements Rafraichissable {
|
62 |
|
63 |
|
Line 63... |
Line 64... |
63 |
private Collection collection = null;
|
64 |
private Collection collection = null;
|
64 |
private Collection collectionCollectee = null;
|
65 |
private static int idGenere = 1;
|
65 |
|
66 |
|
66 |
private ContentPanel panneauPrincipal = null;
|
67 |
private ContentPanel panneauPrincipal = null;
|
Line 67... |
Line -... |
67 |
private ToolBar barreOutils = null;
|
- |
|
68 |
private Grid<CollectionAPersonne> grille;
|
68 |
private ToolBar barreOutils = null;
|
69 |
private ComboBox<Valeur> typeRelationCombo = null;
|
- |
|
70 |
|
69 |
private EditorGrid<CollectionAPersonne> grille;
|
71 |
private CollectionAPersonneListe personnes = null;
|
70 |
private ComboBox<Valeur> typeRelationCombo = null;
|
72 |
private CollectionAPersonneListe personnesAjoutees = null;
|
71 |
|
73 |
private CollectionAPersonneListe personnesModifiees = null;
|
72 |
private CollectionAPersonneListe personnesAjoutees = null;
|
74 |
private CollectionAPersonneListe personnesSupprimees = null;
|
73 |
private CollectionAPersonneListe personnesSupprimees = null;
|
Line 75... |
Line 74... |
75 |
private ComboBox<Personne> personnesSaisisComboBox = null;
|
74 |
private ComboBox<Personne> personnesSaisisComboBox = null;
|
Line 76... |
Line -... |
76 |
private Button personnesBoutonSupprimer = null;
|
- |
|
77 |
private Button personnesBoutonModifier = null;
|
- |
|
78 |
private ValeurListe listeIon = null;
|
- |
|
79 |
|
75 |
private Button personnesBoutonSupprimer = null;
|
80 |
private FenetreForm fenetreFormulaire = null;
|
76 |
private Button personnesBoutonModifier = null;
|
81 |
|
77 |
private ListStore<Valeur> listeIon = null;
|
82 |
private static final String ETAT_AJOUTE = "A";
|
78 |
|
83 |
private static final String ETAT_SUPPRIME = "S";
|
79 |
private FenetreForm fenetreFormulaire = null;
|
Line 100... |
Line 96... |
100 |
initialiser();
|
96 |
initialiser();
|
101 |
}
|
97 |
}
|
Line 102... |
Line 98... |
102 |
|
98 |
|
103 |
private void initialiser() {
|
99 |
private void initialiser() {
|
- |
|
100 |
// Remise à zéro des modification dans la liste des auteurs
|
104 |
// Remise à zéro des modification dans la liste des auteurs
|
101 |
idGenere = 1;
|
105 |
personnesAjoutees = new CollectionAPersonneListe();
|
- |
|
106 |
personnesModifiees = new CollectionAPersonneListe();
|
102 |
personnesAjoutees = new CollectionAPersonneListe();
|
Line 107... |
Line 103... |
107 |
personnesSupprimees = new CollectionAPersonneListe();
|
103 |
personnesSupprimees = new CollectionAPersonneListe();
|
108 |
|
104 |
|
109 |
// Actualisation de l'état des boutons de la barre d'outils
|
- |
|
110 |
actualiserEtatBoutonsBarreOutils();
|
105 |
// Actualisation de l'état des boutons de la barre d'outils
|
111 |
}
|
- |
|
112 |
|
106 |
actualiserEtatBoutonsBarreOutils();
|
113 |
private void initialiserCollection() {
|
- |
|
114 |
collection = ((CollectionForm) formulaire).collection;
|
107 |
|
115 |
collectionCollectee = ((CollectionForm) formulaire).collectionCollectee;
|
108 |
collection = ((CollectionForm) formulaire).collection;
|
116 |
}
|
109 |
}
|
117 |
|
110 |
|
Line 118... |
Line 111... |
118 |
private ContentPanel creerPanneauContenantGrille() {
|
111 |
private ContentPanel creerPanneauContenantGrille() {
|
119 |
ContentPanel panneau = new ContentPanel();
|
112 |
ContentPanel panneau = new ContentPanel();
|
Line 260... |
Line 253... |
260 |
Button bouton = new Button(i18nC.rafraichir());
|
253 |
Button bouton = new Button(i18nC.rafraichir());
|
261 |
bouton.setIcon(Images.ICONES.rafraichir());
|
254 |
bouton.setIcon(Images.ICONES.rafraichir());
|
262 |
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
255 |
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
263 |
@Override
|
256 |
@Override
|
264 |
public void componentSelected(ButtonEvent ce) {
|
257 |
public void componentSelected(ButtonEvent ce) {
|
265 |
// TODO : mettre en place le rafraichissement de la liste
|
258 |
actualiserGrille();
|
266 |
}
|
259 |
}
|
267 |
});
|
260 |
});
|
268 |
return bouton;
|
261 |
return bouton;
|
269 |
}
|
262 |
}
|
Line 300... |
Line 293... |
300 |
});
|
293 |
});
|
301 |
return comboBox;
|
294 |
return comboBox;
|
302 |
}
|
295 |
}
|
Line 303... |
Line 296... |
303 |
|
296 |
|
- |
|
297 |
private void ajouterDansGrille(Personne personne) {
|
- |
|
298 |
ajouterDansGrille(personne, 0);
|
- |
|
299 |
}
|
- |
|
300 |
|
304 |
private void ajouterDansGrille(Personne personne) {
|
301 |
private void ajouterDansGrille(Personne personne, int index) {
|
305 |
if (personne != null) {
|
302 |
if (personne != null) {
|
306 |
CollectionAPersonne relationCollectionPersonne = new CollectionAPersonne();
|
303 |
CollectionAPersonne relationCollectionPersonne = new CollectionAPersonne();
|
307 |
relationCollectionPersonne.setPersonne(personne);
|
- |
|
- |
|
304 |
relationCollectionPersonne.setPersonne(personne);
|
308 |
|
305 |
relationCollectionPersonne.setIdPersonne(personne.getId());
|
309 |
// Ajout de la personne ajoutée à la liste
|
306 |
// Gestion de l'id de la collection
|
310 |
if (relationCollectionPersonne.getId() != null && !relationCollectionPersonne.getId().equals("")) {
|
307 |
if (mode.equals(Formulaire.MODE_MODIFIER)) {
|
311 |
personnesAjoutees.put(relationCollectionPersonne.getId(), relationCollectionPersonne);
|
308 |
relationCollectionPersonne.setIdCollection(collection.getId());
|
312 |
}
|
- |
|
313 |
|
- |
|
314 |
// Définition de l'état
|
309 |
}
|
- |
|
310 |
relationCollectionPersonne.set("_etat_", aDonnee.ETAT_AJOUTE);
|
Line 315... |
Line 311... |
315 |
relationCollectionPersonne.set("etat", ETAT_AJOUTE);
|
311 |
corrigerChampsGrille(relationCollectionPersonne);
|
- |
|
312 |
|
316 |
|
313 |
// Ajout à la grille
|
- |
|
314 |
grille.stopEditing();
|
317 |
// Ajout à la grille
|
315 |
grille.getStore().insert(relationCollectionPersonne, index);
|
318 |
grille.getStore().insert(relationCollectionPersonne, 0);
|
316 |
grille.startEditing(0, 0);
|
319 |
grille.getSelectionModel().select(0, false);
|
317 |
grille.getSelectionModel().select(0, false);
|
Line 320... |
Line 318... |
320 |
}
|
318 |
}
|
321 |
}
|
319 |
}
|
322 |
|
320 |
|
323 |
private void supprimerDansGrille(CollectionAPersonne relationCollectionPersonne) {
|
321 |
private void supprimerDansGrille(CollectionAPersonne relationCollectionPersonne) {
|
324 |
if (relationCollectionPersonne != null) {
|
322 |
if (relationCollectionPersonne != null) {
|
325 |
// Ajout de la personne supprimée à la liste
|
323 |
// Ajout de la personne supprimée à la liste
|
- |
|
324 |
if ((relationCollectionPersonne.get("_etat_").equals("") || !relationCollectionPersonne.get("_etat_").equals(aDonnee.ETAT_AJOUTE))
|
326 |
if ((relationCollectionPersonne.get("etat") == null || !relationCollectionPersonne.get("etat").equals(ETAT_AJOUTE))
|
325 |
&& relationCollectionPersonne.getId() != null
|
- |
|
326 |
&& !relationCollectionPersonne.getId().equals("")) {
|
- |
|
327 |
Debug.log("Nbre personnes supprimées avant:"+personnesSupprimees.size());
|
327 |
&& relationCollectionPersonne.getId() != null
|
328 |
personnesSupprimees.put("id"+idGenere++, relationCollectionPersonne);
|
Line 328... |
Line 329... |
328 |
&& !relationCollectionPersonne.getId().equals("")) {
|
329 |
GWT.log("Personne supprimées : "+relationCollectionPersonne.getPersonne().getId()+" "+relationCollectionPersonne.getPersonne().getPrenom()+" "+relationCollectionPersonne.getPersonne().getNom(), null);
|
329 |
personnesSupprimees.put(relationCollectionPersonne.getId(), relationCollectionPersonne);
|
330 |
Debug.log("Nbre personnes supprimées :"+personnesSupprimees.size());
|
330 |
}
|
331 |
}
|
331 |
|
332 |
|
Line 332... |
Line 333... |
332 |
// Suppression de l'enregistrement de la grille
|
333 |
// Suppression de l'enregistrement de la grille
|
333 |
grille.getStore().remove(relationCollectionPersonne);
|
334 |
grille.getStore().remove(relationCollectionPersonne);
|
334 |
}
|
335 |
}
|
335 |
}
|
336 |
}
|
336 |
|
337 |
|
337 |
private Grid<CollectionAPersonne> creerGrille() {
|
338 |
private EditorGrid<CollectionAPersonne> creerGrille() {
|
338 |
ListStore<Personne> storeGrille = new ListStore<Personne>();
|
339 |
ListStore<CollectionAPersonne> storeGrille = new ListStore<CollectionAPersonne>();
|
339 |
storeGrille.addListener(Store.Add, new Listener<StoreEvent<Personne>>() {
|
340 |
storeGrille.addListener(Store.Add, new Listener<StoreEvent<CollectionAPersonne>>() {
|
340 |
public void handleEvent(StoreEvent<Personne> ce) {
|
341 |
public void handleEvent(StoreEvent<CollectionAPersonne> ce) {
|
341 |
actualiserEtatBoutonsBarreOutils();
|
342 |
actualiserEtatBoutonsBarreOutils();
|
342 |
}
|
343 |
}
|
343 |
});
|
344 |
});
|
- |
|
345 |
storeGrille.addListener(Store.Remove, new Listener<StoreEvent<CollectionAPersonne>>() {
|
- |
|
346 |
public void handleEvent(StoreEvent<CollectionAPersonne> ce) {
|
- |
|
347 |
actualiserEtatBoutonsBarreOutils();
|
- |
|
348 |
}
|
- |
|
349 |
});
|
- |
|
350 |
storeGrille.addListener(Store.Update, new Listener<StoreEvent<CollectionAPersonne>>() {
|
- |
|
351 |
public void handleEvent(StoreEvent<CollectionAPersonne> ce) {
|
- |
|
352 |
if (ce.getRecord().isModified("_role_") && !ce.getModel().get("_etat_").equals(aDonnee.ETAT_AJOUTE)) {
|
Line 344... |
Line 353... |
344 |
storeGrille.addListener(Store.Remove, new Listener<StoreEvent<Personne>>() {
|
353 |
Debug.log("id role modifié");
|
Line 345... |
Line 354... |
345 |
public void handleEvent(StoreEvent<Personne> ce) {
|
354 |
ce.getModel().set("_etat_", aDonnee.ETAT_MODIFIE);
|
346 |
actualiserEtatBoutonsBarreOutils();
|
355 |
}
|
Line 362... |
Line 371... |
362 |
CellEditor editeurRelation = new CellEditor(typeRelationCombo) {
|
371 |
CellEditor editeurRelation = new CellEditor(typeRelationCombo) {
|
363 |
@Override
|
372 |
@Override
|
364 |
public Object preProcessValue(Object valeur) {
|
373 |
public Object preProcessValue(Object valeur) {
|
365 |
Valeur retour = null;
|
374 |
Valeur retour = null;
|
366 |
if (valeur != null ) {
|
375 |
if (valeur != null ) {
|
- |
|
376 |
Debug.log(valeur.toString());
|
367 |
if (typeRelationCombo.getStore().findModel("nom", valeur.toString()) != null) {
|
377 |
if (typeRelationCombo.getStore().findModel("nom", valeur.toString()) != null) {
|
368 |
retour = typeRelationCombo.getStore().findModel("nom", valeur.toString());
|
378 |
retour = typeRelationCombo.getStore().findModel("nom", valeur.toString());
|
369 |
} else if (typeRelationCombo.getStore().findModel("abr", valeur.toString()) != null) {
|
379 |
} else if (typeRelationCombo.getStore().findModel("abr", valeur.toString()) != null) {
|
370 |
retour = typeRelationCombo.getStore().findModel("abr", valeur.toString());
|
380 |
retour = typeRelationCombo.getStore().findModel("abr", valeur.toString());
|
- |
|
381 |
} else if (typeRelationCombo.getStore().findModel("id_valeur", valeur.toString()) != null) {
|
- |
|
382 |
retour = typeRelationCombo.getStore().findModel("id_valeur", valeur.toString());
|
371 |
}
|
383 |
}
|
372 |
}
|
384 |
}
|
373 |
return retour;
|
385 |
return retour;
|
374 |
}
|
386 |
}
|
Line 384... |
Line 396... |
384 |
}
|
396 |
}
|
385 |
return retour;
|
397 |
return retour;
|
386 |
}
|
398 |
}
|
387 |
};
|
399 |
};
|
Line -... |
Line 400... |
- |
|
400 |
|
- |
|
401 |
GridCellRenderer<CollectionAPersonne> relationRendu = new GridCellRenderer<CollectionAPersonne>() {
|
- |
|
402 |
@Override
|
- |
|
403 |
public String render(CollectionAPersonne modele, String property, ColumnData config, int rowIndex, int colIndex, ListStore<CollectionAPersonne> store, Grid<CollectionAPersonne> grid) {
|
- |
|
404 |
String role = modele.get("_role_");
|
- |
|
405 |
if (typeRelationCombo.getStore() != null && role.matches("[0-9]+")) {
|
- |
|
406 |
role = typeRelationCombo.getStore().findModel("id_valeur", role).getNom();
|
- |
|
407 |
}
|
- |
|
408 |
modele.set("_role_", role);
|
- |
|
409 |
return role;
|
- |
|
410 |
}
|
- |
|
411 |
};
|
388 |
|
412 |
|
389 |
ColumnConfig typeRelationColonne = new ColumnConfig("id_role", i18nC.typeRelationPersonneCollection(), 75);
|
413 |
ColumnConfig typeRelationColonne = new ColumnConfig("_role_", i18nC.typeRelationPersonneCollection(), 75);
|
- |
|
414 |
typeRelationColonne.setEditor(editeurRelation);
|
390 |
typeRelationColonne.setEditor(editeurRelation);
|
415 |
typeRelationColonne.setRenderer(relationRendu);
|
Line 391... |
Line 416... |
391 |
colonnes.add(typeRelationColonne);
|
416 |
colonnes.add(typeRelationColonne);
|
392 |
|
417 |
|
393 |
colonnes.add(new ColumnConfig("fmt_nom_complet", i18nC.personneNomComplet(), 150));
|
418 |
colonnes.add(new ColumnConfig("fmt_nom_complet", i18nC.personneNomComplet(), 150));
|
Line 423... |
Line 448... |
423 |
GridCellRenderer<CollectionAPersonne> decesRendu = new GridCellRenderer<CollectionAPersonne>() {
|
448 |
GridCellRenderer<CollectionAPersonne> decesRendu = new GridCellRenderer<CollectionAPersonne>() {
|
424 |
@Override
|
449 |
@Override
|
425 |
public String render(CollectionAPersonne modele, String property, ColumnData config, int rowIndex, int colIndex, ListStore<CollectionAPersonne> store, Grid<CollectionAPersonne> grid) {
|
450 |
public String render(CollectionAPersonne modele, String property, ColumnData config, int rowIndex, int colIndex, ListStore<CollectionAPersonne> store, Grid<CollectionAPersonne> grid) {
|
426 |
String deces = modele.getPersonne().getDeces();
|
451 |
String deces = modele.getPersonne().getDeces();
|
427 |
if (listeIon != null && modele.getPersonne().getDeces().matches("[0-9]+")) {
|
452 |
if (listeIon != null && modele.getPersonne().getDeces().matches("[0-9]+")) {
|
428 |
deces = listeIon.get(modele.getPersonne().getDeces()).getNom();
|
453 |
deces = listeIon.findModel("id_valeur", modele.getPersonne().getDeces()).getNom();
|
429 |
}
|
454 |
}
|
430 |
modele.set("_deces_", deces);
|
455 |
modele.set("_deces_", deces);
|
431 |
return deces;
|
456 |
return deces;
|
432 |
}
|
457 |
}
|
433 |
};
|
458 |
};
|
Line 461... |
Line 486... |
461 |
}
|
486 |
}
|
462 |
}
|
487 |
}
|
Line 463... |
Line 488... |
463 |
|
488 |
|
464 |
private void rafraichirValeurListe(ValeurListe listeValeurs) {
|
489 |
private void rafraichirValeurListe(ValeurListe listeValeurs) {
|
465 |
if (listeValeurs.getId().equals(config.getListeId("ion"))) {
|
490 |
if (listeValeurs.getId().equals(config.getListeId("ion"))) {
|
- |
|
491 |
listeIon = new ListStore<Valeur>();
|
466 |
listeIon = listeValeurs;
|
492 |
listeIon.add(listeValeurs.toList());
|
467 |
} else if (listeValeurs.getId().equals(config.getListeId("relationPersonneCollection"))) {
|
493 |
} else if (listeValeurs.getId().equals(config.getListeId("relationPersonneCollection"))) {
|
468 |
Formulaire.rafraichirComboBox(listeValeurs, typeRelationCombo);
|
494 |
Formulaire.rafraichirComboBox(listeValeurs, typeRelationCombo);
|
469 |
} else {
|
495 |
} else {
|
470 |
GWT.log("Gestion de la liste "+listeValeurs.getId()+" non implémenté!", null);
|
496 |
GWT.log("Gestion de la liste "+listeValeurs.getId()+" non implémenté!", null);
|
Line 483... |
Line 509... |
483 |
|
509 |
|
484 |
personnesSaisisComboBox.getStore().removeAll();
|
510 |
personnesSaisisComboBox.getStore().removeAll();
|
485 |
personnesSaisisComboBox.getStore().add(liste);
|
511 |
personnesSaisisComboBox.getStore().add(liste);
|
486 |
personnesSaisisComboBox.expand();
|
512 |
personnesSaisisComboBox.expand();
|
487 |
}
|
- |
|
488 |
} else if (type.equals("liste_collection_a_personne")) {
|
- |
|
489 |
if (info.getDonnee(0) != null) {
|
- |
|
490 |
initialiser();
|
- |
|
491 |
// TODO : passer à la méthode peupler un objet CollectionAPersonneListe et modifier le type de auteurs
|
- |
|
492 |
//auteurs = (CollectionAPersonneListe) info.getDonnee(0);
|
- |
|
493 |
peupler();
|
- |
|
494 |
}
|
513 |
}
|
495 |
} else if (info.getType().equals("ajout_collection")) {
|
514 |
} else if (info.getType().equals("ajout_collection")) {
|
496 |
if (info.getDonnee(0) != null && info.getDonnee(0) instanceof String) {
|
515 |
if (info.getDonnee(0) != null && info.getDonnee(0) instanceof String) {
|
Line 497... |
Line 516... |
497 |
String collectionId = (String) info.getDonnee(0);
|
516 |
String collectionId = (String) info.getDonnee(0);
|
498 |
|
517 |
|
499 |
// Suite à la récupération de l'id de la collection nouvellement ajoutée nous ajoutons les personnes liées
|
518 |
// Suite à la récupération de l'id de la collection nouvellement ajoutée nous ajoutons les personnes liées
|
500 |
// En mode AJOUT, il ne peut que y avoir des personnes liées ajoutées
|
519 |
// En mode AJOUT, il ne peut que y avoir des personnes liées ajoutées
|
- |
|
520 |
mediateur.ajouterCollectionAPersonne(this, collectionId, personnesAjoutees);
|
- |
|
521 |
}
|
501 |
mediateur.ajouterCollectionAPersonne(this, collectionId, personnesAjoutees);
|
522 |
} else if (type.equals("modification_personne")) {
|
- |
|
523 |
if (info.getDonnee(0) != null) {
|
- |
|
524 |
Personne personne = (Personne) info.getDonnee(0);
|
- |
|
525 |
CollectionAPersonne personneDansGrille = grille.getStore().findModel("id_personne", personne.getId());
|
- |
|
526 |
int index = grille.getStore().indexOf(personneDansGrille);
|
- |
|
527 |
grille.getStore().remove(personneDansGrille);
|
- |
|
528 |
ajouterDansGrille(personne, index);
|
- |
|
529 |
}
|
- |
|
530 |
} else if (type.equals("ajout_personne")) {
|
- |
|
531 |
if (info.getDonnee(0) != null) {
|
502 |
} else {
|
532 |
Personne personne = (Personne) info.getDonnee(0);
|
503 |
Info.display("Ajout d'une Institution", info.toString());
|
533 |
ajouterDansGrille(personne);
|
504 |
}
|
534 |
}
|
505 |
} else if (info.getType().equals("modif_collection_a_personne")) {
|
535 |
} else if (info.getType().equals("modif_collection_a_personne")) {
|
506 |
Info.display("Modification des personnes liées à la collection", info.toString());
|
536 |
Info.display("Modification des personnes liées à la collection", info.toString());
|
507 |
} else if (info.getType().equals("suppression_collection_a_personne")) {
|
537 |
} else if (info.getType().equals("suppression_collection_a_personne")) {
|
508 |
Info.display("Suppression des personnes liées à la collection", info.toString());
|
538 |
Info.display("Suppression des personnes liées à la collection", info.toString());
|
- |
|
539 |
} else if (info.getType().equals("ajout_collection_a_personne")) {
|
- |
|
540 |
Info.display("Ajout des personnes liées à la collection", info.toString());
|
- |
|
541 |
} else if (info.getType().equals("liste_collection_a_personne")) {
|
- |
|
542 |
if (info.getDonnee(0) != null) {
|
- |
|
543 |
initialiser();
|
- |
|
544 |
collection.setPersonnesLiees((CollectionAPersonneListe) info.getDonnee(0));
|
509 |
} else if (info.getType().equals("ajout_collection_a_personne")) {
|
545 |
peupler();
|
510 |
Info.display("Ajout des personnes liées à la collection", info.toString());
|
546 |
}
|
Line 511... |
Line 547... |
511 |
}
|
547 |
}
|
512 |
}
|
548 |
}
|
- |
|
549 |
|
513 |
|
550 |
public void peupler() {
|
514 |
public void peupler() {
|
551 |
grille.getStore().removeAll();
|
515 |
initialiserCollection();
|
552 |
grille.getStore().add(collection.getPersonnesLiees().toList());
|
Line 516... |
Line 553... |
516 |
layout();
|
553 |
layout();
|
Line 523... |
Line 560... |
523 |
int nbrePersonne = grille.getStore().getCount();
|
560 |
int nbrePersonne = grille.getStore().getCount();
|
Line 524... |
Line 561... |
524 |
|
561 |
|
525 |
if (nbrePersonne > 0) {
|
562 |
if (nbrePersonne > 0) {
|
526 |
for (int i = 0; i < nbrePersonne; i++) {
|
563 |
for (int i = 0; i < nbrePersonne; i++) {
|
527 |
CollectionAPersonne personne = grille.getStore().getAt(i);
|
564 |
CollectionAPersonne personne = grille.getStore().getAt(i);
|
528 |
if (personne.getIdRole().equals("")) {
|
565 |
if (personne.get("_role_").equals("")) {
|
529 |
personneNumero += (i != 0 ? ", " : "")+(i+1);
|
566 |
personneNumero += (i != 0 ? ", " : "")+(i+1);
|
530 |
}
|
567 |
}
|
531 |
}
|
568 |
}
|
532 |
if (!personneNumero.equals("")) {
|
569 |
if (!personneNumero.equals("")) {
|
Line 536... |
Line 573... |
536 |
|
573 |
|
537 |
return messages;
|
574 |
return messages;
|
Line 538... |
Line 575... |
538 |
}
|
575 |
}
|
539 |
|
- |
|
540 |
public void collecter() {
|
576 |
|
541 |
initialiserCollection();
|
577 |
public void collecter() {
|
542 |
if (etreAccede()) {
|
578 |
if (etreAccede()) {
|
543 |
int nbrePersonne = grille.getStore().getCount();
|
579 |
int nbrePersonne = grille.getStore().getCount();
|
544 |
for (int i = 0; i < nbrePersonne; i++) {
|
580 |
for (int i = 0; i < nbrePersonne; i++) {
|
545 |
CollectionAPersonne personne = grille.getStore().getAt(i);
|
581 |
CollectionAPersonne relationCollectionPersonne = grille.getStore().getAt(i);
|
- |
|
582 |
if (relationCollectionPersonne.get("_etat_") != null) {
|
546 |
// Seules les lignes ajoutées ou modifiées sont prises en compte.
|
583 |
if (relationCollectionPersonne.get("_etat_").equals(aDonnee.ETAT_MODIFIE)) {
|
547 |
Record enregistrement = grille.getStore().getRecord(personne);
|
584 |
// Comme il est impossible de modifier les relations nous supprimons l'ancien enregistrement et ajoutons un nouveau avec le nouveau id_role
|
548 |
if (grille.getStore().getModifiedRecords().contains(enregistrement) == true
|
585 |
personnesSupprimees.put("id"+idGenere++, relationCollectionPersonne);
|
- |
|
586 |
Debug.log("AVANT:"+relationCollectionPersonne.getIdRole());
|
549 |
|| (personne.get("etat") != null && personne.get("etat").equals(aDonnee.ETAT_AJOUTE) )) {
|
587 |
|
550 |
|
588 |
CollectionAPersonne relationAAjouter = (CollectionAPersonne) relationCollectionPersonne.cloner(new CollectionAPersonne());
|
551 |
// Gestion de l'id de la structure
|
589 |
corrigerChampsGrille(relationAAjouter);// Nous modifions l'id_role
|
- |
|
590 |
Debug.log("APRES:"+relationAAjouter.getIdRole());
|
552 |
if (mode.equals(Formulaire.MODE_MODIFIER)) {
|
591 |
personnesAjoutees.put("id"+idGenere++, relationAAjouter);
|
553 |
personne.setIdCollection(collection.getId());
|
- |
|
554 |
}
|
592 |
GWT.log("Personne modifiées : "+relationAAjouter.getPersonne().getPrenom()+" "+relationAAjouter.getPersonne().getNom(), null);
|
555 |
|
593 |
}
|
556 |
// Ajout de la personne dans la liste correspondant à son état (ajouté ou modifié)
|
594 |
if (relationCollectionPersonne.get("_etat_").equals(aDonnee.ETAT_AJOUTE)) {
|
557 |
if (personne.get("etat") != null && personne.get("etat").equals(aDonnee.ETAT_AJOUTE)) {// Une personne ajoutée
|
- |
|
558 |
personnesAjoutees.put(""+i, personne);
|
595 |
corrigerChampsGrille(relationCollectionPersonne);// Nous modifions l'id_role
|
559 |
} else {// Une personne modifiée
|
596 |
personnesAjoutees.put("id"+idGenere++, relationCollectionPersonne);
|
560 |
personnesModifiees.put(personne.getId(), personne);
|
597 |
GWT.log("Personne ajoutées : "+relationCollectionPersonne.getPersonne().getPrenom()+" "+relationCollectionPersonne.getPersonne().getNom(), null);
|
561 |
}
|
598 |
}
|
562 |
} else {
|
599 |
// Initialisation de la grille
|
563 |
GWT.log("Personne non modifiées : "+personne.getPersonne().getPrenom()+" "+personne.getPersonne().getNom(), null);
|
600 |
relationCollectionPersonne.set("_etat_", "");
|
- |
|
601 |
}
|
564 |
}
|
602 |
}
|
565 |
}
|
603 |
grille.getStore().commitChanges();
|
Line -... |
Line 604... |
- |
|
604 |
}
|
- |
|
605 |
}
|
- |
|
606 |
|
- |
|
607 |
private void corrigerChampsGrille(CollectionAPersonne relationCollectionPersonne) {
|
- |
|
608 |
String role = relationCollectionPersonne.get("_role_");
|
- |
|
609 |
String champModele = "nom";
|
- |
|
610 |
if (role.matches("[0-9]+")) {
|
- |
|
611 |
champModele = "id_valeur";
|
- |
|
612 |
}
|
- |
|
613 |
if (typeRelationCombo.getStore().findModel(champModele, role) != null) {
|
- |
|
614 |
String idRole = typeRelationCombo.getStore().findModel(champModele, role).getId();
|
- |
|
615 |
relationCollectionPersonne.setIdRole(idRole);
|
566 |
}
|
616 |
}
|
567 |
}
|
617 |
}
|
568 |
|
618 |
|
569 |
public void soumettre() {
|
619 |
public void soumettre() {
|
570 |
if (mode.equals(Formulaire.MODE_MODIFIER)) {
|
620 |
if (mode.equals(Formulaire.MODE_MODIFIER)) {
|
571 |
if (personnesModifiees.size() == 0 && personnesAjoutees.size() == 0 && personnesSupprimees.size() == 0) {
|
- |
|
572 |
Info.display("Modification des personnes liées", "Rien n'a été enregistré car le formulaire n'a pas été modifié.");
|
- |
|
573 |
} else {
|
- |
|
574 |
if (personnesModifiees.size() != 0) {
|
621 |
if (personnesAjoutees.size() == 0 && personnesSupprimees.size() == 0) {
|
575 |
mediateur.modifierCollectionAPersonne(this, personnesModifiees);
|
622 |
Info.display("Modification des personnes liées", "Rien n'a été enregistré car le formulaire n'a pas été modifié.");
|
576 |
}
|
623 |
} else {
|
577 |
// Ajout des relations CollectionAPersonne
|
624 |
// Ajout des relations CollectionAPersonne
|
578 |
if (personnesAjoutees.size() != 0) {
|
625 |
if (personnesAjoutees.size() != 0) {
|
579 |
mediateur.ajouterCollectionAPersonne(this, collection.getId(), personnesAjoutees);
|
626 |
mediateur.ajouterCollectionAPersonne(this, collection.getId(), personnesAjoutees);
|
580 |
}
|
627 |
}
|
- |
|
628 |
// Suppression des relations StructureAPersonne
|
581 |
// Suppression des relations StructureAPersonne
|
629 |
if (personnesSupprimees.size() != 0) {
|
582 |
if (personnesSupprimees.size() != 0) {
|
630 |
mediateur.supprimerCollectionAPersonne(this, personnesSupprimees);
|
583 |
mediateur.supprimerCollectionAPersonne(this, personnesSupprimees);
|
631 |
Debug.log("Nbre personnes supprimées :"+personnesSupprimees.size());
|
584 |
}
|
632 |
}
|
Line 585... |
Line 633... |
585 |
}
|
633 |
}
|
586 |
}
|
634 |
}
|
587 |
}
|
635 |
}
|
- |
|
636 |
|
- |
|
637 |
private void obtenirPersonnesSaisis(String nom) {
|
- |
|
638 |
mediateur.selectionnerPersonneParNomComplet(this, null, nom+"%");
|
- |
|
639 |
}
|
- |
|
640 |
|
- |
|
641 |
private void actualiserGrille() {
|
- |
|
642 |
if (mode.equals(Formulaire.MODE_MODIFIER)) {
|
- |
|
643 |
mediateur.selectionnerCollectionAPersonne(this, collection.getId(), null);
|
- |
|
644 |
} else {
|
588 |
|
645 |
grille.getStore().removeAll();
|