Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 446 → Rev 447

/trunk/src/org/tela_botanica/client/Mediateur.java
8,6 → 8,7
import org.tela_botanica.client.composants.ParametreFenetre;
import org.tela_botanica.client.i18n.Constantes;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Collection;
import org.tela_botanica.client.modeles.Configuration;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.MenuApplicationId;
25,6 → 26,7
import org.tela_botanica.client.modeles.StructureValorisation;
import org.tela_botanica.client.modeles.Utilisateur;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.vues.CollectionListeVue;
import org.tela_botanica.client.vues.ContenuVue;
import org.tela_botanica.client.vues.EnteteVue;
import org.tela_botanica.client.vues.PersonneForm;
269,6 → 271,211
}
 
//+----------------------------------------------------------------------------------------------------------------+
// GESTION DES VALEURS ET LISTES
//+----------------------------------------------------------------------------------------------------------------+
 
public void afficherListeValeurs(ValeurListe nouvelleDonnees) {
if (panneauCentre.getId().equals(ComposantId.PANNEAU_STRUCTURE_FORM)) {
((StructureForm) panneauCentre.getItem(0)).rafraichir(nouvelleDonnees);
} else {
GWT.log("Aucun panneau trouvé pour afficher la liste de valeur", null);
}
}
 
//+----------------------------------------------------------------------------------------------------------------+
// GESTION des PROJETS
//+----------------------------------------------------------------------------------------------------------------+
/**
* Retourne l'identifiant du projet courrant de l'application.
*/
public String getProjetId() {
String id = null;
Projet projetCourant = (Projet) Registry.get(RegistreId.PROJET_COURANT);
if (projetCourant != null && !projetCourant.getId().equals("")) {
id = projetCourant.getId();
}
return id;
}
//Greg : ajout d'un écouteur pour le changement liste projet
public void selectionnerProjets(Rafraichissable vue) {
modele.selectionnerProjets(vue);
}
public void afficherListeProjets(ProjetListe projets) {
panneauOuest.rafraichir(projets);
}
public void selectionnerProjetCourant(Projet projetSelectionne) {
Registry.register(RegistreId.PROJET_COURANT, projetSelectionne);
if (contenuPanneauCentre instanceof PersonneVue) {
modele.selectionnerPersonne(contenuPanneauCentre, null, getProjetId(), null);
//FIXME Le rafraichissement du panneau ne se fait pas!
} else if (contenuPanneauCentre instanceof StructureVue) {
modele.obtenirListeStructures(contenuPanneauCentre, getProjetId());
}
}
//+----------------------------------------------------------------------------------------------------------------+
// GESTION DES STRUCTURES
//+----------------------------------------------------------------------------------------------------------------+
 
public void clicListeStructure(Structure structure) {
contenuPanneauCentre.rafraichir(structure);
if (structure.getPersonnel() == null) {
selectionnerStructureAPersonne(contenuPanneauCentre, structure.getId(), StructureAPersonne.ROLE_EQUIPE);
} else {
GWT.log("OK personnel déjà chargé", null);
}
}
 
public void afficherListeStructures(StructureListe structuresACharger) {
// TODO : créer dès l'initialisation de l'application InsitutionVue et la cacher
StructureVue institutionVue = new StructureVue(this);
panneauCentre.add(institutionVue);
panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_LISTE);
contenuPanneauCentre = institutionVue;
institutionVue.rafraichir(structuresACharger);
}
public void clicAjouterStructure() {
panneauCentre.removeAll();
StructureForm structureForm = new StructureForm(this, StructureForm.MODE_AJOUTER);
panneauCentre.add(structureForm);
panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_FORM);
panneauCentre.layout();
}
public void clicModifierStructure(List<Structure> structureSelection) {
if (structureSelection.size() == 0) {
Info.display("Information", "Veuillez sélectionner une structure.");
} else if (structureSelection.size() > 1) {
Info.display("Information", "Veuillez sélectionner une seule structure à la fois.");
} else if (structureSelection.size() == 1) {
panneauCentre.removeAll();
StructureForm structureForm = new StructureForm(this, StructureForm.MODE_MODIFIER);
panneauCentre.add(structureForm);
panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_FORM);
selectionnerStructure(structureForm, structureSelection.get(0).getId());
selectionnerStructureAPersonne(structureForm, structureSelection.get(0).getId(), StructureAPersonne.ROLE_EQUIPE);
panneauCentre.layout();
} else {
Info.display("Erreur", "Une erreur est survenue dans la méthode clicModifierStructure() du Médiateur.");
}
}
public void clicSupprimerStructure(final Rafraichissable vue, final List<Structure> structureSelection) {
if (structureSelection.size() == 0) {
Info.display("Information", "Veuillez sélectionner une structure.");
} else if(structureSelection.size() > 0) {
String message = "Êtes vous sur de vouloir supprimer les structures sélectionnées ?";
if (structureSelection.size() == 1) {
message = "Êtes vous sur de vouloir supprimer la structure sélectionnée ?";
}
final Listener listenerSuppression = new Listener<ComponentEvent>() {
public void handleEvent(ComponentEvent ce) {
Dialog dialog = (Dialog) ce.component;
Button btn = dialog.getButtonPressed();
if (btn.getText().equals(dialog.yesText)) {
String idStr = "" ;
for(int i = 0 ; i < structureSelection.size() ; i++) {
idStr += structureSelection.get(i).getId()+"," ;
}
modele.supprimerStructure(vue, getUtilisateurId(), idStr);
}
}
};
MessageBox.confirm("Supprimer une structure", message, listenerSuppression);
} else {
Info.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerStructure() du Médiateur.");
}
}
public void selectionnerStructure(Rafraichissable vue, String structureId) {
GWT.log("Structure : "+structureId, null);
modele.selectionnerStructure(vue, null, structureId);
}
/**
* TODO : afficher un message du type "Structure ajoutée".
* Lance la creation d'une structure
* @param les données de la structure saisie
*/
public void ajouterStructure(Rafraichissable vue, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
modele.ajouterStructure(vue, getUtilisateurId(), structure, conservation, valorisation);
}
public void modifierStructure(Rafraichissable vue, String structureId, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
modele.modifierStructure(vue, getUtilisateurId(), structureId, structure, conservation, valorisation);
}
 
//+----------------------------------------------------------------------------------------------------------------+
// GESTION de la relation STRUCTURE A PERSONNE
public void selectionnerStructureAPersonne(Rafraichissable vue, String structureId, String roleId) {
GWT.log("Structure : "+structureId, null);
modele.selectionnerStructureAPersonne(vue, getUtilisateurId(), null, structureId, roleId);
}
public void modifierStructureAPersonne(Rafraichissable vue, StructureAPersonneListe personnelModifie) {
if (personnelModifie != null && personnelModifie.size() > 0) {
GWT.log("Mediateur :modif", null);
for (Iterator<String> it = personnelModifie.keySet().iterator(); it.hasNext();) {
modele.modifierStructureAPersonne(vue, getUtilisateurId(), (StructureAPersonne) personnelModifie.get(it.next()));
}
}
}
public void ajouterStructureAPersonne(Rafraichissable vue, String structureId, StructureAPersonneListe personnelAjoute) {
if (personnelAjoute != null && personnelAjoute.size() > 0) {
for (Iterator<String> it = personnelAjoute.keySet().iterator(); it.hasNext();) {
modele.ajouterStructureAPersonne(vue, getUtilisateurId(), structureId, (StructureAPersonne) personnelAjoute.get(it.next()));
}
}
}
public void supprimerStructureAPersonne(Rafraichissable vue, StructureAPersonneListe personnelSupprime) {
if (personnelSupprime != null && personnelSupprime.size() > 0) {
String idStrAPer = "" ;
for (Iterator<String> it = personnelSupprime.keySet().iterator(); it.hasNext();) {
idStrAPer += personnelSupprime.get(it.next()).getId()+"," ;
}
modele.supprimerStructureAPersonne(vue, getUtilisateurId(), idStrAPer);
}
}
 
//+----------------------------------------------------------------------------------------------------------------+
// GESTION des COLLECTIONS
//+----------------------------------------------------------------------------------------------------------------+
public void clicAjouterCollection() {
// TODO Auto-generated method stub
}
 
public void clicModifierCollection(List<Collection> selection) {
// TODO Auto-generated method stub
}
 
public void clicSupprimerCollection(CollectionListeVue collectionListeVue,
List<Collection> collectionsASupprimer) {
// TODO Auto-generated method stub
}
 
//+----------------------------------------------------------------------------------------------------------------+
// GESTION DES PERSONNES
//+----------------------------------------------------------------------------------------------------------------+
 
369,18 → 576,6
}
//+----------------------------------------------------------------------------------------------------------------+
// GESTION DES VALEURS ET LISTES
//+----------------------------------------------------------------------------------------------------------------+
 
public void afficherListeValeurs(ValeurListe nouvelleDonnees) {
if (panneauCentre.getId().equals(ComposantId.PANNEAU_STRUCTURE_FORM)) {
((StructureForm) panneauCentre.getItem(0)).rafraichir(nouvelleDonnees);
} else {
GWT.log("Aucun panneau trouvé pour afficher la liste de valeur", null);
}
}
 
//+----------------------------------------------------------------------------------------------------------------+
// GESTION DES PUBLICATIONS
//+----------------------------------------------------------------------------------------------------------------+
 
466,181 → 661,9
}
//+----------------------------------------------------------------------------------------------------------------+
// GESTION DES STRUCTURES
// RAFRAICHISSEMENT
//+----------------------------------------------------------------------------------------------------------------+
 
public void clicListeStructure(Structure structure) {
contenuPanneauCentre.rafraichir(structure);
if (structure.getPersonnel() == null) {
selectionnerStructureAPersonne(contenuPanneauCentre, structure.getId(), StructureAPersonne.ROLE_EQUIPE);
} else {
GWT.log("OK personnel déjà chargé", null);
}
}
 
public void afficherListeStructures(StructureListe structuresACharger) {
// TODO : créer dès l'initialisation de l'application InsitutionVue et la cacher
StructureVue institutionVue = new StructureVue(this);
panneauCentre.add(institutionVue);
panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_LISTE);
contenuPanneauCentre = institutionVue;
institutionVue.rafraichir(structuresACharger);
}
public void clicAjouterStructure() {
panneauCentre.removeAll();
StructureForm structureForm = new StructureForm(this, StructureForm.MODE_AJOUTER);
panneauCentre.add(structureForm);
panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_FORM);
panneauCentre.layout();
}
public void clicModifierStructure(List<Structure> structureSelection) {
if (structureSelection.size() == 0) {
Info.display("Information", "Veuillez sélectionner une structure.");
} else if (structureSelection.size() > 1) {
Info.display("Information", "Veuillez sélectionner une seule structure à la fois.");
} else if (structureSelection.size() == 1) {
panneauCentre.removeAll();
StructureForm structureForm = new StructureForm(this, StructureForm.MODE_MODIFIER);
panneauCentre.add(structureForm);
panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_FORM);
selectionnerStructure(structureForm, structureSelection.get(0).getId());
selectionnerStructureAPersonne(structureForm, structureSelection.get(0).getId(), StructureAPersonne.ROLE_EQUIPE);
panneauCentre.layout();
} else {
Info.display("Erreur", "Une erreur est survenue dans la méthode clicModifierStructure() du Médiateur.");
}
}
public void clicSupprimerStructure(final Rafraichissable vue, final List<Structure> structureSelection) {
if (structureSelection.size() == 0) {
Info.display("Information", "Veuillez sélectionner une structure.");
} else if(structureSelection.size() > 0) {
String message = "Êtes vous sur de vouloir supprimer les structures sélectionnées ?";
if (structureSelection.size() == 1) {
message = "Êtes vous sur de vouloir supprimer la structure sélectionnée ?";
}
final Listener listenerSuppression = new Listener<ComponentEvent>() {
public void handleEvent(ComponentEvent ce) {
Dialog dialog = (Dialog) ce.component;
Button btn = dialog.getButtonPressed();
if (btn.getText().equals(dialog.yesText)) {
String idStr = "" ;
for(int i = 0 ; i < structureSelection.size() ; i++) {
idStr += structureSelection.get(i).getId()+"," ;
}
modele.supprimerStructure(vue, getUtilisateurId(), idStr);
}
}
};
MessageBox.confirm("Supprimer une structure", message, listenerSuppression);
} else {
Info.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerStructure() du Médiateur.");
}
}
public void selectionnerStructure(Rafraichissable vue, String structureId) {
GWT.log("Structure : "+structureId, null);
modele.selectionnerStructure(vue, null, structureId);
}
/**
* TODO : afficher un message du type "Structure ajoutée".
* Lance la creation d'une structure
* @param les données de la structure saisie
*/
public void ajouterStructure(Rafraichissable vue, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
modele.ajouterStructure(vue, getUtilisateurId(), structure, conservation, valorisation);
}
public void modifierStructure(Rafraichissable vue, String structureId, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
modele.modifierStructure(vue, getUtilisateurId(), structureId, structure, conservation, valorisation);
}
 
//+----------------------------------------------------------------------------------------------------------------+
// GESTION de la relation STRUCTURE A PERSONNE
public void selectionnerStructureAPersonne(Rafraichissable vue, String structureId, String roleId) {
GWT.log("Structure : "+structureId, null);
modele.selectionnerStructureAPersonne(vue, getUtilisateurId(), null, structureId, roleId);
}
public void modifierStructureAPersonne(Rafraichissable vue, StructureAPersonneListe personnelModifie) {
if (personnelModifie != null && personnelModifie.size() > 0) {
GWT.log("Mediateur :modif", null);
for (Iterator<String> it = personnelModifie.keySet().iterator(); it.hasNext();) {
modele.modifierStructureAPersonne(vue, getUtilisateurId(), (StructureAPersonne) personnelModifie.get(it.next()));
}
}
}
public void ajouterStructureAPersonne(Rafraichissable vue, String structureId, StructureAPersonneListe personnelAjoute) {
if (personnelAjoute != null && personnelAjoute.size() > 0) {
for (Iterator<String> it = personnelAjoute.keySet().iterator(); it.hasNext();) {
modele.ajouterStructureAPersonne(vue, getUtilisateurId(), structureId, (StructureAPersonne) personnelAjoute.get(it.next()));
}
}
}
public void supprimerStructureAPersonne(Rafraichissable vue, StructureAPersonneListe personnelSupprime) {
if (personnelSupprime != null && personnelSupprime.size() > 0) {
String idStrAPer = "" ;
for (Iterator<String> it = personnelSupprime.keySet().iterator(); it.hasNext();) {
idStrAPer += personnelSupprime.get(it.next()).getId()+"," ;
}
modele.supprimerStructureAPersonne(vue, getUtilisateurId(), idStrAPer);
}
}
 
//+----------------------------------------------------------------------------------------------------------------+
// GESTION des PROJETS
//+----------------------------------------------------------------------------------------------------------------+
/**
* Retourne l'identifiant du projet courrant de l'application.
*/
public String getProjetId() {
String id = null;
Projet projetCourant = (Projet) Registry.get(RegistreId.PROJET_COURANT);
if (projetCourant != null && !projetCourant.getId().equals("")) {
id = projetCourant.getId();
}
return id;
}
//Greg : ajout d'un écouteur pour le changement liste projet
public void selectionnerProjets(Rafraichissable vue) {
modele.selectionnerProjets(vue);
}
public void afficherListeProjets(ProjetListe projets) {
panneauOuest.rafraichir(projets);
}
public void selectionnerProjetCourant(Projet projetSelectionne) {
Registry.register(RegistreId.PROJET_COURANT, projetSelectionne);
if (contenuPanneauCentre instanceof PersonneVue) {
modele.selectionnerPersonne(contenuPanneauCentre, null, getProjetId(), null);
//FIXME Le rafraichissement du panneau ne se fait pas!
} else if (contenuPanneauCentre instanceof StructureVue) {
modele.obtenirListeStructures(contenuPanneauCentre, getProjetId());
}
}
//+----------------------------------------------------------------------------------------------------------------+
// RAFRAICHISSEMENT
//+----------------------------------------------------------------------------------------------------------------+
public void rafraichir(Object nouvelleDonnees) {
if (nouvelleDonnees instanceof Utilisateur) {
mettreAJourEtatIdentification((Utilisateur) nouvelleDonnees);
678,4 → 701,5
public void masquerPopinChargement() {
((PopupChargement) Registry.get(RegistreId.POPUP_CHARGEMENT)).hide();
}
 
}