| 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();
|