480,17 → 480,18 |
if (personnesSaisiesComboBox.getValeur() instanceof ModelData) { |
// N'ajouter l'auteur que s'il n'est pas déjà présent dans la grille et dans les valeurs initiales |
Personne personneSaisieSelectionnee = new Personne(personnesSaisiesComboBox.getValeur()); |
PublicationAPersonne pap = new PublicationAPersonne(false); |
pap.setPersonne(personneSaisieSelectionnee, true); |
Log.debug("Récupération info combo :"+personneSaisieSelectionnee.toString()); |
PublicationAPersonne pap = new PublicationAPersonne(aDonnee.GARDER_PREFIXE); |
pap.setPersonne(personneSaisieSelectionnee, aDonnee.INTEGRER_PROPRIETES); |
pap.setOrdreAuteurs(String.valueOf(grilleAuteurs.getStore().getCount()+1)); |
if (modeDeCreation != Formulaire.MODE_AJOUTER) { |
pap.setPublicationLiee(publication); |
pap.setIdPublication(publicationId); |
} |
if (grilleAuteurs.getStore().findModel(pap) != null) { |
Info.display("Information", "La personne est déjà présente dans la liste d'auteurs"); |
} else { |
ajouterDansGrille(pap); |
pap.setIdRole(PublicationAPersonne.ROLE_AUTEUR); |
Log.debug("Récupération info combo pap id :"+pap.getId()); |
|
if (ajouterDansGrille(pap)) { |
personnesSaisiesComboBox.getCombo().setValue(null); |
} |
} |
498,35 → 499,42 |
}); |
} |
|
private void ajouterDansGrille(PublicationAPersonne pap) { |
ajouterDansGrille(pap, grilleAuteurs.getStore().getCount()); |
private boolean ajouterDansGrille(PublicationAPersonne pap) { |
return ajouterDansGrille(pap, grilleAuteurs.getStore().getCount()); |
} |
|
private void ajouterDansGrille(PublicationAPersonne pap, int index) { |
private boolean ajouterDansGrille(PublicationAPersonne pap, int index) { |
boolean ok = false; |
if (pap != null) { |
if (grilleAuteurs.getStore().contains(pap)) { |
InfoLogger.display("Information", "La personne choisie existe déjà dans la liste."); |
Log.debug("Début ajout dans grille :"+pap.toString()); |
if (grilleAuteurs.getStore().contains((ModelData) pap)) { |
InfoLogger.display("Information", "La personne choisie existe déjà dans la liste d'auteurs."); |
} else { |
// 1) si elle ne fait pas partie des initiaux, ajouter à la liste à ajouter |
if (!auteursInitialListe.containsValue(pap)) { |
auteursAjoutes.put(pap.getId(), pap); |
Log.debug("Ajout dans grille -> auteur '"+pap.getId()+"' a été ajouté à la liste des ajoutés (il ne fait pas parti de la liste initiale)."); |
} |
|
// L'enlever de la liste à supprimer |
if (auteursSupprimes.containsValue(pap)) { |
auteursSupprimes.remove(pap); |
Log.debug("Ajout dans grille -> auteur '"+pap.getId()+"' a été retiré de la liste des supprimés."); |
} |
|
// 2) Ajouter a la grille |
grilleAuteurs.getStore().insert(pap, index); |
grilleAuteurs.getStore().insert((ModelData) pap, index); |
grilleAuteurs.getSelectionModel().select(index, false); |
ok = true; |
} |
} |
return ok; |
} |
|
private void supprimerDansGrille() { |
ModelData donneeSelectionnee = grilleAuteurs.getSelectionModel().getSelectedItem(); |
PublicationAPersonne personneSelectionnee = new PublicationAPersonne(donneeSelectionnee, false); |
PublicationAPersonne personneSelectionnee = new PublicationAPersonne(donneeSelectionnee, aDonnee.GARDER_PREFIXE); |
Log.debug("Début supprimer auteur dans grille : "+personneSelectionnee.toString()); |
if (personneSelectionnee.getId() == null) { |
InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerAuteur()); |
} else { |
536,12 → 544,12 |
Log.debug("Ajout Personne à supprimer : "+auteursSupprimes.toString()); |
} |
|
if (auteursAjoutes.containsValue(personneSelectionnee)) { |
auteursAjoutes.remove(personneSelectionnee); |
if (auteursAjoutes.containsKey(personneSelectionnee.getId())) { |
auteursAjoutes.remove(personneSelectionnee.getId()); |
} |
|
if (auteursModifies.containsValue(personneSelectionnee)) { |
auteursModifies.remove(personneSelectionnee); |
if (auteursModifies.containsKey(personneSelectionnee.getId())) { |
auteursModifies.remove(personneSelectionnee.getId()); |
} |
|
// 2) Supprimer la personne de la liste |
612,8 → 620,9 |
Iterator<ModelData> itAuteurs = auteurs.iterator(); |
while (itAuteurs.hasNext()) { |
ModelData selection = itAuteurs.next(); |
PublicationAPersonne auteur = new PublicationAPersonne(selection, false); |
auteursInitialListe.put(auteur.getId(), auteur); |
PublicationAPersonne pap = new PublicationAPersonne(selection, aDonnee.GARDER_PREFIXE); |
auteursInitialListe.put(pap.getId(), pap); |
Log.debug("PublicationAPersonne ajoutée à la liste initiale avec l'id :"+pap.getId()+pap.toString()+selection.getProperties().toString()); |
} |
Log.debug("Initialisation liste auteur :"+auteursInitialListe.size()); |
} |