Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1572 → Rev 1573

/trunk/src/org/tela_botanica/client/vues/publication/PublicationForm.java
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());
}