14,6 → 14,7 |
import org.tela_botanica.client.modeles.Valeur; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.modeles.aDonnee; |
import org.tela_botanica.client.modeles.collection.CollectionAPersonne; |
import org.tela_botanica.client.modeles.personne.Personne; |
import org.tela_botanica.client.modeles.publication.Publication; |
import org.tela_botanica.client.modeles.publication.PublicationAPersonne; |
60,6 → 61,7 |
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem; |
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.user.client.Window; |
|
public class PersonneFormPublication extends FormulaireOnglet implements Rafraichissable { |
|
82,9 → 84,6 |
private FenetreForm fenetreFormulaire = null; |
|
public PersonneFormPublication(Formulaire formulaireCourrant) { |
|
Debug.log("|> PersonneFormPublication : [constructeur]"); |
|
initialiserOnglet(formulaireCourrant); |
setId("publication"); |
setText(Mediateur.i18nC.collectionPublication()); |
102,8 → 101,6 |
|
private void initialiser() { |
|
Debug.log("|> PersonneFormPublication.initialiser()"); |
|
// Remise à zéro des modification dans la liste des auteurs |
idGenere = 1; |
publicationsAjoutees = new PublicationAPersonneListe(); |
115,15 → 112,8 |
|
public void mettreAJourPersonne() { |
|
Debug.log("|> *** BEGIN PersonneFormPublication.mettreAJourPersonne()"); |
|
personneSelectionnee = ((PersonneForm) formulaire).personneSelectionnee; |
|
Debug.log("|--> PersonneFormPublication.mettreAJourPersonne : personneSelectionnee="+personneSelectionnee.toString()); |
|
if (personneSelectionnee==null) Debug.log("|> *** (personneSelectionnee==null)"); |
else Debug.log("|> *** (personneSelectionnee!=null)"); |
|
//Boucle sur les role pour trouver les publication à personne |
|
// FIXME ! |
139,10 → 129,6 |
if ((roles != null) && (personneSelectionnee!=null) && (!personneSelectionnee.toString().equals(""))) { |
|
mediateur.selectionnerPublicationAPersonne(this, null, personneSelectionnee.getId(), roles); |
|
Debug.log("|--> PersonneFormPublication.mettreAJourPersonne : selectionnerPublicationAPersonne(this, null, personneSelectionnee.getId(), roles)"); |
Debug.log("| avec personneSelectionnee.getId()="+personneSelectionnee.getId()); |
Debug.log("|> END PersonneFormPublication.mettreAJourPersonne()"); |
} |
} |
|
296,9 → 282,6 |
} |
|
private void actualiserGrille() { |
|
Debug.log("|> PersonneFormPublication.actualiserGrille()"); |
|
if (mode.equals(Formulaire.MODE_MODIFIER)) { |
mediateur.selectionnerPublicationAPersonne(this, null, personneSelectionnee.getId(), "%"); |
} else { |
343,20 → 326,16 |
} |
|
private void ajouterDansGrille(Publication publication, int index) { |
Debug.log("|> PersonneFormPublication.ajouterDansGrille(Publication publication, int index)"); |
if (publication != null) { |
Debug.log("|--> publication != null"); |
if (!listePublicationsLiees.containsKey(publication.getId())) { |
PublicationAPersonne publicationLiee = new PublicationAPersonne(); |
publicationLiee.setPersonne(personneSelectionnee); |
publicationLiee.setPublicationLiee(publication); |
publicationLiee.setIdPublication(publication.getId()); |
|
publicationLiee.set("_etat_", aDonnee.ETAT_AJOUTE); |
listePublicationsLiees.put(publication.getId(), publicationLiee); |
|
Debug.log("|--> personneSelectionneeID="+personneSelectionnee.getId()); |
Debug.log("|--> publicationID="+publication.getId()); |
|
// Ajout à la grille |
grille.stopEditing(); |
grille.getStore().insert(publicationLiee, 0); |
373,8 → 352,6 |
*/ |
private void mettreAJourGrille() { |
|
Debug.log("|> PersonneFormPublication.mettreAJourGrille()"); |
|
grille.getStore().removeAll(); |
grille.getStore().add(listePublicationsLiees.toList()); |
} |
385,10 → 362,7 |
if ((publicationLiee.get("_etat_").equals("") || !publicationLiee.get("_etat_").equals(aDonnee.ETAT_AJOUTE)) |
&& publicationLiee.getId() != null |
&& !publicationLiee.getId().equals("")) { |
Debug.log("Nbre publications supprimées avant:"+publicationsSupprimees.size()); |
publicationsSupprimees.put("id"+idGenere++, publicationLiee); |
//GWT.log("Publications supprimée : "+publicationLiee.getIdPublication()+" "+publicationLiee.get.getNomComplet(), null); |
Debug.log("Nbre publications supprimées :"+publicationsSupprimees.size()); |
} |
|
// Suppression de l'enregistrement de la grille |
398,8 → 372,6 |
|
private EditorGrid<PublicationAPersonne> creerGrille() { |
|
Debug.log("|> PersonneFormPublication.creerGrille()"); |
|
ListStore<PublicationAPersonne> storeGrille = new ListStore<PublicationAPersonne>(); |
storeGrille.addListener(Store.Add, new Listener<StoreEvent<PublicationAPersonne>>() { |
public void handleEvent(StoreEvent<PublicationAPersonne> ce) { |
411,6 → 383,13 |
actualiserEtatBoutonsBarreOutils(); |
} |
}); |
storeGrille.addListener(Store.Update, new Listener<StoreEvent<PublicationAPersonne>>() { |
public void handleEvent(StoreEvent<PublicationAPersonne> ce) { |
if (ce.getRecord().isModified("_role_") && !ce.getModel().get("_etat_").equals(aDonnee.ETAT_AJOUTE)) { |
ce.getModel().set("_etat_", aDonnee.ETAT_MODIFIE); |
} |
} |
}); |
|
RowNumberer numeroPlugin = new RowNumberer(); |
numeroPlugin.setHeader("#"); |
475,12 → 454,13 |
role = typeRelationCombo.getStore().findModel("id_valeur", role).getId(); |
} |
modele.set("_role_", role); |
modele.set("_etat_", aDonnee.ETAT_MODIFIE); |
return roleNom; |
} |
}; |
|
|
|
|
ColumnConfig typeRelationColonne = new ColumnConfig("_role_", i18nC.typeRelationPersonneCollection(), 75); |
typeRelationColonne.setEditor(editeurRelation); |
typeRelationColonne.setRenderer(relationRendu); |
556,11 → 536,13 |
|
public void rafraichir(Object nouvellesDonnees) { |
|
if (nouvellesDonnees instanceof Information) { |
if (nouvellesDonnees instanceof Information) |
{ |
Information info = (Information) nouvellesDonnees; |
rafraichirInformation(info); |
} else if (nouvellesDonnees instanceof ValeurListe) { |
|
} |
else if (nouvellesDonnees instanceof ValeurListe) |
{ |
ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees; |
if (listeValeurs.getId().equals(config.getListeId("relationPersonnePublication"))) { |
Formulaire.rafraichirComboBox(listeValeurs, typeRelationCombo); |
567,38 → 549,32 |
roles = listeValeurs.toList(); |
mettreAJourPersonne(); |
} |
} else if (nouvellesDonnees instanceof PublicationListe) { |
|
} |
else if (nouvellesDonnees instanceof PublicationListe) |
{ |
PublicationListe listePublications = (PublicationListe) nouvellesDonnees; |
rafraichirPublicationListe(listePublications); |
} else if (nouvellesDonnees instanceof PublicationAPersonneListe) { |
|
} |
else if (nouvellesDonnees instanceof PublicationAPersonneListe) |
{ |
PublicationAPersonneListe papl = (PublicationAPersonneListe) nouvellesDonnees; |
List<PublicationAPersonne> paplListe = papl.toList(); |
if (paplListe.size()>0){ |
|
Debug.log("|--> paplListe.size()>0"); |
Debug.log("|--> paplListe="+paplListe.toString()); |
|
Iterator<PublicationAPersonne> it = paplListe.iterator(); |
while (it.hasNext()) { |
PublicationAPersonne pap = it.next(); |
|
Debug.log("|--> listePublicationsLiees.size="+listePublicationsLiees.size()); |
|
listePublicationsLiees.put(pap.getPublicationLiee().getId(), pap); |
} |
mettreAJourGrille(); |
} |
} else { |
} |
else |
{ |
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
} |
} |
|
private void rafraichirPublicationListe(PublicationListe listePublications) { |
|
Debug.log("|> PersonneFormPublication.rafraichirPublicationListe(PublicationListe listePublications)"); |
|
publicationsSaisiesComboBox.getStore().removeAll(); |
publicationsSaisiesComboBox.getStore().add(listePublications.toList()); |
publicationsSaisiesComboBox.expand(); |
605,7 → 581,6 |
} |
|
public void rafraichirInformation(Information info) { |
|
if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) { |
GWT.log("MESSAGES:\n"+info.getMessages().toString(), null); |
} |
629,10 → 604,10 |
Publication publication = (Publication) info.getDonnee(0); |
ajouterDansGrille(publication); |
} |
} else if (type.equals("suppression_collection_a_publication")) { |
InfoLogger.display("Suppression des publications liées à la collection", info.toString()); |
} else if (type.equals("ajout_collection_a_publication")) { |
InfoLogger.display("Ajout des publications liées à la collection", info.toString()); |
} else if (type.equals("ajout_publication_a_personne")) { |
InfoLogger.display("Ajout publication à personne", info.getDonnees().toString()); |
} else if (type.equals("suppression_publication_a_personne")) { |
InfoLogger.display("Suppression publication à personne", info.getMessages().toString()); |
} else { |
GWT.log(Mediateur.i18nM.erreurRafraichir(info.getClass(), this.getClass()), null); |
} |
647,9 → 622,6 |
} |
|
public void collecter() { |
|
Debug.log("|*** PersonneFormPublication.collecter() BEGIN"); |
|
if (etreAccede()) { |
int nbrePublication = grille.getStore().getCount(); |
for (int i = 0; i < nbrePublication; i++) { |
658,7 → 630,6 |
if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_MODIFIE)) { |
// Comme il est impossible de modifier les relations nous supprimons l'ancien enregistrement et ajoutons un nouveau avec le nouveau id_role |
publicationsSupprimees.put("id"+idGenere++, publicationLiee); |
|
PublicationAPersonne relationAAjouter = (PublicationAPersonne) publicationLiee.cloner(new PublicationAPersonne()); |
publicationsAjoutees.put("id"+idGenere++, relationAAjouter); |
} |
673,14 → 644,9 |
} |
grille.getStore().commitChanges(); |
} |
|
Debug.log("|*** PersonneFormPublication.collecter() END"); |
} |
|
public List verifier() { |
|
Debug.log("|> PersonneFormPublication.verifier()"); |
|
List lstMessageErreur = new LinkedList<String>(); |
//Vérifier les roles |
List<PublicationAPersonne> listePublis = grille.getStore().getModels(); |
696,8 → 662,6 |
|
public void soumettre() { |
|
Debug.log("<8-8> BEGIN PersonneFormPublication.soumettre()"); |
|
if (mode.equals(Formulaire.MODE_MODIFIER)) { |
if (publicationsAjoutees.size() == 0 && publicationsSupprimees.size() == 0) { |
InfoLogger.display("Modification des publications liées", "Rien n'a été enregistré car le formulaire n'a pas été modifié."); |
705,18 → 669,14 |
// Ajout des relations PublicationAPersonne |
if (publicationsAjoutees.size() != 0) { |
//TODO : utiliser le role d'une liste déroulante |
|
mediateur.ajouterPublicationAPersonne(this, publicationsAjoutees, personneSelectionnee.getId(), null); |
} |
// Suppression des relations PublicationAPersonne |
if (publicationsSupprimees.size() != 0) { |
|
mediateur.supprimerPublicationAPersonne(this, publicationsSupprimees); |
} |
} |
} |
|
Debug.log("<8-8> END PersonneFormPublication.soumettre()"); |
} |
|
private void obtenirPublicationsSaisies(String nom) { |