Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1261 → Rev 1262

/trunk/src/org/tela_botanica/client/vues/personne/PersonneFormPublication.java
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());
101,8 → 100,6
}
private void initialiser() {
Debug.log("|> PersonneFormPublication.initialiser()");
 
// Remise à zéro des modification dans la liste des auteurs
idGenere = 1;
113,16 → 110,9
actualiserEtatBoutonsBarreOutils();
}
public void mettreAJourPersonne() {
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)");
personneSelectionnee = ((PersonneForm) formulaire).personneSelectionnee;
 
//Boucle sur les role pour trouver les publication à personne
 
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,19 → 326,15
}
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();
372,8 → 351,6
* Met à jour la grille avec les informations contenus dans la variable listePublicationsLiees
*/
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());
if (paplListe.size()>0){
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,13 → 604,13
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);
}
}
}
 
public void peupler() {
646,19 → 621,15
}
 
public void collecter() {
Debug.log("|*** PersonneFormPublication.collecter() BEGIN");
public void collecter() {
if (etreAccede()) {
int nbrePublication = grille.getStore().getCount();
for (int i = 0; i < nbrePublication; i++) {
PublicationAPersonne publicationLiee = grille.getStore().getAt(i);
if (publicationLiee.get("_etat_") != null) {
if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_MODIFIE)) {
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);
}
672,15 → 643,10
}
}
grille.getStore().commitChanges();
}
Debug.log("|*** PersonneFormPublication.collecter() END");
}
}
public List verifier() {
 
Debug.log("|> PersonneFormPublication.verifier()");
public List verifier() {
List lstMessageErreur = new LinkedList<String>();
//Vérifier les roles
List<PublicationAPersonne> listePublis = grille.getStore().getModels();
696,27 → 662,21
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é.");
} else {
} else {
// Ajout des relations PublicationAPersonne
if (publicationsAjoutees.size() != 0) {
//TODO : utiliser le role d'une liste déroulante
//TODO : utiliser le role d'une liste déroulante
mediateur.ajouterPublicationAPersonne(this, publicationsAjoutees, personneSelectionnee.getId(), null);
}
}
// Suppression des relations PublicationAPersonne
if (publicationsSupprimees.size() != 0) {
if (publicationsSupprimees.size() != 0) {
mediateur.supprimerPublicationAPersonne(this, publicationsSupprimees);
}
}
}
Debug.log("<8-8> END PersonneFormPublication.soumettre()");
}
private void obtenirPublicationsSaisies(String nom) {