/trunk/src/org/tela_botanica/client/Coel.java |
---|
24,7 → 24,7 |
constantes = GWT.create(Constantes.class); |
//messages = GWT.create(StockWatcherMessages.class); |
GXT.setDefaultTheme(Theme.GRAY, true); |
//GXT.setDefaultTheme(Theme.GRAY, true); |
GXT.hideLoadingPanel("loading"); |
Registry.register(RegistreId.APPLI_NOM, constantes.appliNom()); |
36,6 → 36,6 |
new Mediateur(); |
// J'appelle directement la page où je travaille |
Mediateur mediat = Registry.get(RegistreId.MEDIATEUR); |
mediat.clicAjouterStructure(); |
mediat.clicMenu("Institutions"); |
} |
} |
/trunk/src/org/tela_botanica/client/vues/StructureVue.java |
---|
10,6 → 10,7 |
import com.extjs.gxt.ui.client.widget.LayoutContainer; |
import com.extjs.gxt.ui.client.widget.layout.BorderLayout; |
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.user.client.Window; |
public class StructureVue extends LayoutContainer implements Rafraichissable { |
33,18 → 34,11 |
} |
public void rafraichir(Object nouvelleDonnees) { |
if (nouvelleDonnees instanceof StructureListe) { |
remplirListe((StructureListe) nouvelleDonnees); |
} else { |
Window.alert("Problème!"); |
} |
// Nous passons l'objet aux méthodes rafraichir des panneaux composant le panneau principal Structure |
panneauInstitutionListe.rafraichir(nouvelleDonnees); |
panneauInstitutionDetail.rafraichir(nouvelleDonnees); |
// Mise à jour du panneau central |
((LayoutContainer) Registry.get(RegistreId.PANNEAU_CENTRE)).layout(); |
} |
private void remplirListe(StructureListe listeInstitutions) { |
LayoutContainer panneauCentre = (LayoutContainer) Registry.get(RegistreId.PANNEAU_CENTRE); |
panneauInstitutionListe.rafraichir(listeInstitutions); |
panneauInstitutionDetail.rafraichir(listeInstitutions); |
panneauCentre.layout(); |
} |
} |
/trunk/src/org/tela_botanica/client/vues/ContenuPanneauVue.java |
---|
1,5 → 1,7 |
package org.tela_botanica.client.vues; |
import org.tela_botanica.client.modeles.Utilisateur; |
import com.extjs.gxt.ui.client.widget.LayoutContainer; |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
/trunk/src/org/tela_botanica/client/vues/FormStructureVue.java |
---|
77,6 → 77,7 |
private Mediateur mediateur = null; |
private Modele modele = null ; |
private String mode = "AJOUT"; |
private FormPanel structureFormPanneau; |
private int tabIndex = 100; |
159,7 → 160,7 |
structureFormPanneau.setFrame(true); |
structureFormPanneau.setIconStyle("icone-form-ajouter"); |
structureFormPanneau.setCollapsible(false); |
structureFormPanneau.setHeading(i18nC.titreAjoutFormStructurePanneau()); |
structureFormPanneau.setHeading(i18nC.titreAjoutFormStructurePanneau()); |
structureFormPanneau.setButtonAlign(HorizontalAlignment.CENTER); |
structureFormPanneau.setLayout(new FlowLayout()); |
213,17 → 214,19 |
private void soumettreFormulaire() { |
GWT.log("Soumission du formulaire", null); |
ajouterStructure(); |
Structure structure = collecterDonnees(); |
if (mode == "AJOUT") { |
mediateur.ajouterStructure(this, structure); |
} else if (mode == "MODIF") { |
mediateur.modifierStructure(this, structure); |
} |
} |
private void ajouterStructure() { |
private Structure collecterDonnees() { |
Structure structure = new Structure(); |
structure.setNom(nomStructureChp.getValue()); |
if (dateFondationChp.getValue() != null) { |
structure.setDateFondation(DateTimeFormat.getFormat("yyyy-MM-dd HH:mm:ss").format(dateFondationChp.getValue())); |
} |
structure.setDateFondation(dateFondationChp.getValue()); |
structure.setAdresse(adrChp.getValue()); |
structure.setCodePostal(cpChp.getValue()); |
structure.setVille(villeChp.getValue()); |
235,9 → 238,25 |
structure.setCourriel(emailChp.getValue()); |
structure.setUrl(urlChp.getValue()); |
mediateur.ajouterStructure(this, structure); |
return structure; |
} |
private void peuplerFormulaire(Structure str) { |
nomStructureChp.setValue(str.getNom()); |
dateFondationChp.setValue(str.getDateFondation()); |
adrChp.setValue(str.getAdresse()); |
cpChp.setValue(str.getCodePostal()); |
villeChp.setValue(str.getVille()); |
regionChp.setValue(str.getRegion()); |
paysChp.setValue(str.getPays()); |
telChp.setValue(str.getTelephone()); |
faxChp.setValue(str.getFax()); |
emailChp.setValue(str.getCourriel()); |
urlChp.setValue(str.getUrl()); |
} |
private TabItem creerOngletValorisation() { |
valorisationOnglet = new TabItem(); |
valorisationOnglet.setText("Valorisation"); |
1083,9 → 1102,17 |
public void rafraichir(Object nouvelleDonnees) { |
if (nouvelleDonnees instanceof Information) { |
Information info = (Information) nouvelleDonnees; |
if (info.getMessages() != null) { |
GWT.log(info.getMessages().toString(), null); |
} |
if (info.getType().equals("ajout_structure")) { |
GWT.log(info.getMessages().toString(), null); |
Info.display("Ajout d'une Institution", info.toString()); |
} else if (info.getType().equals("selection_structure")) { |
Info.display("Modification d'une Institution", info.toString()); |
Structure str = (Structure) info.getDonnee(0); |
mode = "MODIF"; |
structureFormPanneau.setHeading(i18nC.titreModifFormStructurePanneau()); |
peuplerFormulaire(str); |
} |
} else if (nouvelleDonnees instanceof ValeurListe) { |
ValeurListe listeValeurs = (ValeurListe) nouvelleDonnees; |
/trunk/src/org/tela_botanica/client/vues/StructureListePanneauVue.java |
---|
11,6 → 11,7 |
import org.tela_botanica.client.modeles.Information; |
import org.tela_botanica.client.modeles.Structure; |
import org.tela_botanica.client.modeles.StructureListe; |
import org.tela_botanica.client.modeles.Utilisateur; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.Style.SelectionMode; |
35,7 → 36,7 |
public class StructureListePanneauVue extends ContentPanel implements Rafraichissable { |
private Rafraichissable structureListePanneauVue = null ; |
private Mediateur coelMediateur = null ; |
private Mediateur mediateur = null ; |
private Table table = null; |
private ListStore<Structure> store = null; |
private TableBinder<Structure> binder = null; |
44,7 → 45,8 |
private TextToolItem ajouter; |
public StructureListePanneauVue() { |
coelMediateur = Registry.get(RegistreId.MEDIATEUR); |
Utilisateur utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR); |
mediateur = Registry.get(RegistreId.MEDIATEUR); |
structureListePanneauVue = this; |
ToolBar toolBar = new ToolBar(); |
52,7 → 54,7 |
ajouter.setIconStyle(ComposantClass.ICONE_AJOUTER); |
ajouter.addSelectionListener(new SelectionListener<ComponentEvent>() { |
public void componentSelected(ComponentEvent ce) { |
coelMediateur.clicAjouterStructure(); |
mediateur.clicAjouterStructure(); |
} |
}); |
toolBar.add(ajouter); |
59,6 → 61,11 |
modifier = new TextToolItem("Modifier"); |
modifier.setIconStyle(ComposantClass.ICONE_MODIFIER); |
modifier.addSelectionListener(new SelectionListener<ComponentEvent>() { |
public void componentSelected(ComponentEvent ce) { |
mediateur.clicModifierStructure(binder.getSelection()); |
} |
}); |
toolBar.add(modifier); |
supprimer = new TextToolItem("Supprimer"); |
65,9 → 72,12 |
supprimer.setIconStyle(ComposantClass.ICONE_SUPPRIMER); |
supprimer.addSelectionListener(new SelectionListener<ComponentEvent>() { |
public void componentSelected(ComponentEvent ce) { |
coelMediateur.clicSupprimerStructure(structureListePanneauVue, binder.getSelection()); |
mediateur.clicSupprimerStructure(structureListePanneauVue, binder.getSelection()); |
} |
}); |
if (!utilisateur.isIdentifie()) { |
supprimer.disable(); |
} |
toolBar.add(supprimer); |
setTopComponent(toolBar); |
108,7 → 118,7 |
} |
private void clicListe(Structure institution) { |
coelMediateur.clicListeInstitution(institution); |
mediateur.clicListeInstitution(institution); |
} |
public void rafraichir(Object nouvelleDonnees) { |
148,7 → 158,18 |
supprimer.disable(); |
modifier.disable(); |
} |
} else if (info.getType().equals("maj_utilisateur")) { |
if (((Utilisateur) Registry.get(RegistreId.UTILISATEUR)).isIdentifie()) { |
if (table.getItemCount() != 0) { |
supprimer.enable(); |
} |
} else { |
supprimer.disable(); |
} |
} |
} else { |
GWT.log("Ce type d'objet n'est pas pris en compte par la méthode rafraichir de la classe EntetePanneauVue", null); |
} |
layout(); |
} |
} |
/trunk/src/org/tela_botanica/client/vues/EntetePanneauVue.java |
---|
4,6 → 4,7 |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Information; |
import org.tela_botanica.client.modeles.Utilisateur; |
import com.extjs.gxt.ui.client.Registry; |
23,6 → 24,7 |
import com.extjs.gxt.ui.client.widget.layout.RowLayout; |
import com.extjs.gxt.ui.client.widget.menu.Menu; |
import com.extjs.gxt.ui.client.widget.menu.MenuItem; |
import com.google.gwt.core.client.GWT; |
public class EntetePanneauVue extends LayoutContainer implements Rafraichissable { |
119,20 → 121,25 |
} |
public void rafraichir(Object nouvelleDonnees) { |
if (nouvelleDonnees instanceof Utilisateur) { |
Utilisateur utilisateur = (Utilisateur) nouvelleDonnees; |
if (utilisateur.isIdentifie() == true) { |
identificationInfoHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add("Bienvenue : "+utilisateur.getNomComplet()))); |
identificationBouton.setText("Deconnexion"); |
identificationBouton.setIconStyle("icone-deconnexion"); |
identificationBouton.setId(ComposantId.BTN_DECONNEXION); |
} else { |
identificationInfoHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add("Mode anonyme"))); |
identificationBouton.setText("Identifiez vous..."); |
identificationBouton.setIconStyle("icone-connexion"); |
identificationBouton.setId(ComposantId.BTN_CONNEXION); |
if (nouvelleDonnees instanceof Information) { |
Information info = (Information) nouvelleDonnees; |
if (info.getType().equals("maj_utilisateur")) { |
Utilisateur utilisateur = ((Utilisateur) Registry.get(RegistreId.UTILISATEUR)); |
if (utilisateur.isIdentifie() == true) { |
identificationInfoHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add("Bienvenue : "+utilisateur.getNomComplet()))); |
identificationBouton.setText("Deconnexion"); |
identificationBouton.setIconStyle("icone-deconnexion"); |
identificationBouton.setId(ComposantId.BTN_DECONNEXION); |
} else { |
identificationInfoHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add("Mode anonyme"))); |
identificationBouton.setText("Identifiez vous..."); |
identificationBouton.setIconStyle("icone-connexion"); |
identificationBouton.setId(ComposantId.BTN_CONNEXION); |
} |
} |
} else { |
GWT.log("Ce type d'objet n'est pas pris en compte par la méthode rafraichir de la classe EntetePanneauVue", null); |
} |
layout(); |
} |
} |
/trunk/src/org/tela_botanica/client/Modele.java |
---|
28,7 → 28,7 |
public void rafraichir(Object nouvelleDonnees) { |
if (nouvelleDonnees instanceof StructureListe) { |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListeInstitutions((StructureListe) nouvelleDonnees); |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListeStructures((StructureListe) nouvelleDonnees); |
} else if (nouvelleDonnees instanceof Utilisateur) { |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).mettreAJourEtatIdentification((Utilisateur) nouvelleDonnees); |
} else if (nouvelleDonnees instanceof ValeurListe) { |
40,7 → 40,6 |
} else if (nouvelleDonnees instanceof ProjetsListe) { |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListeProjets((ProjetsListe) nouvelleDonnees); |
} |
} |
public void obtenirListeValeurs(Integer id) { |
48,19 → 47,10 |
lsDao.obtenirListe(id); |
} |
public void obtenirListeInstitutions() { |
StructureListeAsyncDao lsDao = new StructureListeAsyncDao(this); |
lsDao.obtenirListeInstitution(); |
} |
public void obtenirListePersonnes() { |
/* |
* Lance le service JREST associé au personne via la class PersonneListeAsyncDAO |
* */ |
// Lance le service JREST associé au personne via la class PersonneListeAsyncDAO |
PersonnesAsyncDao plDao = new PersonnesAsyncDao(this); |
plDao.obtenirListePersonnes(); |
} |
public void connecterUtilisateur(String login, String mdp) { |
81,25 → 71,39 |
lsDao.obtenirListePublication(); |
} |
public void selectionnerStructure(Rafraichissable r, String idUtilisateur, String idStr) { |
StructureAsyncDao sDao = new StructureAsyncDao(); |
sDao.selectionner(r, idUtilisateur, idStr); |
} |
public void selectionnerStructures(String idUtilisateur) { |
Rafraichissable r = this; |
String idStr = null; |
selectionnerStructure(r, idUtilisateur, idStr); |
} |
/** Lance la creation d'une Structure |
* @param r la vue demandant a être rafraichie |
* @param vue la vue demandant a être rafraichie |
* @param structure les données de la structure |
*/ |
public void ajouterStructure(Rafraichissable r, String idUtilisateur, Structure structure) { |
public void ajouterStructure(Rafraichissable vue, String idUtilisateur, Structure structure) { |
StructureAsyncDao structureDao = new StructureAsyncDao(); |
structureDao.ajouter(r, idUtilisateur, structure); |
structureDao.ajouter(vue, idUtilisateur, structure); |
} |
public void supprimerListeStructure(Rafraichissable r, String idUtilisateur, String idStr) { |
public void supprimerStructure(Rafraichissable vue, String idUtilisateur, String idStr) { |
StructureAsyncDao structureDao = new StructureAsyncDao(); |
structureDao.supprimer(r, idUtilisateur, idStr); |
structureDao.supprimer(vue, idUtilisateur, idStr); |
} |
public void modifierStructure(Rafraichissable vue, String utilisateurId, Structure structure) { |
StructureAsyncDao structureDao = new StructureAsyncDao(); |
structureDao.ajouter(vue, utilisateurId, structure); |
} |
public void obtenirListeProjets () { |
ProjetsListeAsyncDao projetsDao = new ProjetsListeAsyncDao(this); |
projetsDao.obtenirListeProjets(); |
} |
} |
/trunk/src/org/tela_botanica/client/modeles/StructureListeAsyncDao.java |
---|
File deleted |
/trunk/src/org/tela_botanica/client/modeles/StructureAsyncDao.java |
---|
13,11 → 13,83 |
import com.google.gwt.http.client.Response; |
import com.google.gwt.http.client.URL; |
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONObject; |
import com.google.gwt.json.client.JSONParser; |
import com.google.gwt.json.client.JSONValue; |
public class StructureAsyncDao { |
public void selectionner(final Rafraichissable r, String idUtilisateur, final String idStr) { |
// Ajout des paramètres et données à selectionner dans l'URL |
final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + |
"CoelStructureListe/" + |
(idStr == null ? "" : idStr) + |
""; |
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url); |
try { |
rb.sendRequest(null, new RequestCallback() { |
public void onError(Request request, Throwable exception) { |
// Gestion des exceptions déclenchées par l'exécution de la requête |
GWT.log("Erreur à l'exécution du service CoelStructureListe (selection)", exception); |
Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête."); |
} |
public void onErrorHTTP(Request request, Response reponse) { |
// Gestion des erreurs HTTP renvoyé par Apache ou JRest |
Information info = new Information("erreur_jrest", JSONParser.parse(reponse.getText()).isArray()); |
GWT.log("Erreur JREST - Code "+reponse.getStatusCode()+"\n"+info.getMessages().toString(), null); |
Info.display("Erreur JREST - Code "+reponse.getStatusCode(), info.toString()); |
} |
public void onResponseReceived(Request request, Response response) { |
// Si le code de réponse HTTP ne vaut pas 200 OK, on lance le mécanise d'erreur HTTP |
if (response.getStatusCode() != 200) { |
onErrorHTTP(request, response); |
} else { |
if (response.getText().length() != 0 && response.getText() != null) { |
final JSONValue responseValue = JSONParser.parse(response.getText()); |
// Si la requête est un succès, reception d'un objet ou d'un tableau |
if (responseValue.isObject() != null) { |
final JSONObject reponse = responseValue.isObject(); |
// Transformation du tableau JSON réponse en ListeInstitution |
Structure structure = new Structure(reponse); |
Information info = new Information("selection_structure", structure); |
r.rafraichir(info); |
} else if (responseValue.isArray() != null) { |
final JSONArray reponse = responseValue.isArray(); |
// Transformation du tableau JSON réponse en ListeInstitution |
StructureListe structures = new StructureListe(reponse); |
// et on met à jour le demandeur des données |
r.rafraichir(structures); |
} else { |
GWT.log(url+"\n\tLa réponse n'est pas un objet ou un talbeau JSON et vaut : "+responseValue.toString(), null); |
} |
} else { |
if (idStr == null) { |
// Dans le cas, où nous demandons toutes les institutions et qu'il n'y en a pas, nous retournons un objet vide |
StructureListe structures = new StructureListe(0); |
r.rafraichir(structures); |
} else { |
GWT.log(url, null); |
if (response.getText().length() == 0) { |
GWT.log("\tLa réponse a une taille de 0", null); |
} |
if (response.getText() == null) { |
GWT.log("\tLa réponse vaul null", null); |
} |
} |
} |
} |
} |
}); |
} catch (RequestException e) { |
e.printStackTrace(); |
} |
} |
public void ajouter(final Rafraichissable r, String utilisateurId, final Structure str) { |
final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + |
"CoelStructureListe/"; |
52,7 → 124,7 |
public void onError(Request request, Throwable exception) { |
// Gestion des exceptions déclenchées par l'exécution de la requête |
GWT.log("Erreur à l'exécution du service CoelStructureListe", exception); |
GWT.log("Erreur à l'exécution du service CoelStructureListe (ajout)", exception); |
Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête."); |
} |
114,8 → 186,9 |
rb.sendRequest(postDonnees, new RequestCallback() { |
public void onError(Request request, Throwable exception) { |
// TODO Auto-generated method stub |
// Gestion des exceptions déclenchées par l'exécution de la requête |
GWT.log("Erreur à l'exécution du service CoelStructureListe (suppression)", exception); |
Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête."); |
} |
public void onErrorHTTP(Request request, Response reponse) { |
133,7 → 206,7 |
if (response.getText().length() != 0 && response.getText() != null) { |
final JSONValue responseValue = JSONParser.parse(response.getText()); |
// Si la requête est un succès, reception d'un tableau |
// Si la requête est un succès, reception d'une chaine |
if (responseValue.isString() != null) { |
Information info = new Information("suppression_structure", responseValue.isString().stringValue()); |
r.rafraichir(info); |
/trunk/src/org/tela_botanica/client/modeles/Information.java |
---|
8,10 → 8,15 |
private String type = null; |
private ArrayList<String> messages = null; |
private ArrayList<Object> donnees = null; |
public Information() { |
messages = new ArrayList<String>(); |
} |
public Information(String t) { |
type = t; |
} |
public Information(String t, String m) { |
messages = new ArrayList<String>(); |
29,6 → 34,13 |
type = t; |
} |
public Information(String t, Object o) { |
donnees = new ArrayList<Object>(); |
donnees.add(o); |
type = t; |
} |
public void setType(String t) { |
type = t; |
} |
46,12 → 58,25 |
public ArrayList<String> getMessages() { |
return messages; |
} |
public void setDonnee(Object objet) { |
donnees.add(objet); |
} |
public Object getDonnee(int index) { |
return donnees.get(index); |
} |
public ArrayList<Object> getDonnees() { |
return donnees; |
} |
public String toString() { |
String chaine = new String(); |
for(int i = 0 ; i < messages.size() ; i++) { |
// GXT ne prend pas en compte /n ou /r/n... |
chaine += getMessage(i)+"\n"; |
if (messages != null) { |
for(int i = 0 ; i < messages.size() ; i++) { |
// GXT ne prend pas en compte /n ou /r/n... |
chaine += getMessage(i)+"\n"; |
} |
} |
return chaine; |
} |
/trunk/src/org/tela_botanica/client/modeles/Structure.java |
---|
1,8 → 1,10 |
package org.tela_botanica.client.modeles; |
import java.util.Date; |
import java.util.Iterator; |
import java.util.Set; |
import com.google.gwt.i18n.client.DateTimeFormat; |
import com.google.gwt.json.client.JSONObject; |
public class Structure extends aDonnee { |
125,13 → 127,21 |
return (String) renvoyerValeurCorrecte("adresse_02"); |
} |
public String getDateFondation() { |
return (String) renvoyerValeurCorrecte("date_fondation"); |
public Date getDateFondation() { |
return DateTimeFormat.getFormat("yyyy-MM-dd HH:mm:ss").parse((String) renvoyerValeurCorrecte("date_fondation")); |
} |
public void setDateFondation(Date dateFondation) { |
if (dateFondation != null) { |
DateTimeFormat.getFormat("yyyy-MM-dd HH:mm:ss").format(dateFondation); |
this.set("date_fondation", dateFondation.toString()); |
} |
} |
public void setDateFondation(String dateFondation) { |
this.set("date_fondation", dateFondation); |
if (dateFondation != null) { |
this.set("date_fondation", dateFondation); |
} |
} |
public String getCodePostal() { |
return (String) renvoyerValeurCorrecte("code_postal"); |
} |
/trunk/src/org/tela_botanica/client/modeles/StructureListe.java |
---|
38,17 → 38,17 |
* Constructeur pour une liste d'institutions |
* @param dates |
*/ |
public StructureListe(JSONArray institutions) |
public StructureListe(JSONArray structures) |
{ |
super(institutions.size()) ; |
final int taillemax = institutions.size(); |
super(structures.size()) ; |
final int taillemax = structures.size(); |
for (int i = 0; i < taillemax; i++) { |
JSONObject institutionCourante = institutions.get(i).isObject() ; |
JSONObject structureCourante = structures.get(i).isObject() ; |
if (institutionCourante != null) { |
Structure institution = new Structure(institutionCourante); |
this.put(institution.getId(), institution); |
if (structureCourante != null) { |
Structure structure = new Structure(structureCourante); |
this.put(structure.getId(), structure); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/Mediateur.java |
---|
7,6 → 7,7 |
import org.tela_botanica.client.composants.ParametreFenetre; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Configuration; |
import org.tela_botanica.client.modeles.Information; |
import org.tela_botanica.client.modeles.Menu; |
import org.tela_botanica.client.modeles.Personne; |
import org.tela_botanica.client.modeles.PersonneListe; |
25,6 → 26,7 |
import org.tela_botanica.client.vues.PublicationDetailPanneauVue; |
import org.tela_botanica.client.vues.PublicationVue; |
import org.tela_botanica.client.vues.StructureDetailPanneauVue; |
import org.tela_botanica.client.vues.StructureListePanneauVue; |
import org.tela_botanica.client.vues.StructureVue; |
import org.tela_botanica.client.vues.MenuPanneauVue; |
31,6 → 33,8 |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.Style.LayoutRegion; |
import com.extjs.gxt.ui.client.util.Margins; |
import com.extjs.gxt.ui.client.widget.Info; |
import com.extjs.gxt.ui.client.widget.LayoutContainer; |
import com.extjs.gxt.ui.client.widget.Viewport; |
import com.extjs.gxt.ui.client.widget.layout.BorderLayout; |
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData; |
47,6 → 51,7 |
private EntetePanneauVue panneauNord = null; |
private MenuPanneauVue panneauOuest = null; |
private ContenuPanneauVue panneauCentre = null; |
private Rafraichissable contenuPanneauCentre = null; |
public Mediateur() { |
80,9 → 85,9 |
RootPanel.get().add(viewport); |
} |
public String getUtilisateurId() { |
return utilisateur.getId(); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION des PANNEAUX PRINCIPAUX |
//+----------------------------------------------------------------------------------------------------------------+ |
private void creerPanneauNord() { |
panneauNord = new EntetePanneauVue(); |
116,6 → 121,10 |
viewport.add(panneauCentre, regionCentre); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION du MENU |
//+----------------------------------------------------------------------------------------------------------------+ |
public void chargeMenu(Menu menus) { |
((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(menus); |
} |
123,7 → 132,7 |
public void clicMenu(String s) { |
panneauCentre.removeAll(); |
if (s.equals("Institutions")) { |
((Modele) Registry.get(RegistreId.MODELE)).obtenirListeInstitutions(); |
((Modele) Registry.get(RegistreId.MODELE)).selectionnerStructures(getUtilisateurId()); |
}else if (s.equals("Publications")) { |
((Modele) Registry.get(RegistreId.MODELE)).obtenirListePublications(); |
} |
136,35 → 145,10 |
panneauCentre.layout(); |
} |
public void clicIdentification() { |
// Gestion du login |
IdentificationFenetre dialog = new IdentificationFenetre(); |
dialog.setClosable(false); |
dialog.show(); |
} |
public void clicListeInstitution(Structure institution) { |
((StructureDetailPanneauVue) Registry.get(RegistreId.PANNEAU_INSTITUTION_DETAIL)).rafraichir(institution); |
} |
public void clicListePersonne(Personne personne) { |
((PersonneDetailPanneauVue) Registry.get(RegistreId.PANNEAU_PERSONNE_DETAIL)).rafraichir(personne); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION DES FENÊTRES |
//+----------------------------------------------------------------------------------------------------------------+ |
public void afficherListeInstitutions(StructureListe nouvelleDonnees) { |
// TODO : créer dès l'initialisation de l'application InsitutionVue et la cacher |
StructureVue institutionVue = new StructureVue(); |
panneauCentre.add(institutionVue); |
institutionVue.rafraichir(nouvelleDonnees); |
} |
public void afficherListePersonnes(PersonneListe nouvelleDonnees) { |
PersonneVue personneVue = new PersonneVue(); |
panneauCentre.add(personneVue); |
personneVue.rafraichir(nouvelleDonnees); |
} |
public void ouvrirAide() { |
AideFenetre aideFenetre = new AideFenetre(); |
aideFenetre.show(); |
190,6 → 174,21 |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION de l'UTILISATEUR et de l'IDENTIFICATION |
//+----------------------------------------------------------------------------------------------------------------+ |
public String getUtilisateurId() { |
return utilisateur.getId(); |
} |
public void clicIdentification() { |
// Gestion du login |
IdentificationFenetre dialog = new IdentificationFenetre(); |
dialog.setClosable(false); |
dialog.show(); |
} |
public void connecterUtilisateur(String login, String mdp) { |
((Modele) Registry.get(RegistreId.MODELE)).connecterUtilisateur(login, mdp); |
} |
199,17 → 198,36 |
} |
public void mettreAJourEtatIdentification(Utilisateur utilisateur) { |
panneauNord.rafraichir(utilisateur); |
// Mise à jour du registre |
Registry.register(RegistreId.UTILISATEUR, utilisateur); |
// Création de l'information de mise à jour de l'utilisateur |
Information info = new Information("maj_utilisateur"); |
// Rafraichissement du panneau Nord |
panneauNord.rafraichir(info); |
// Rafraichissement du panneau Centre |
if (contenuPanneauCentre != null) { |
contenuPanneauCentre.rafraichir(info); |
} |
} |
public void clicAjouterStructure() { |
panneauCentre.removeAll(); |
FormStructureVue formStructureVue = new FormStructureVue(); |
panneauCentre.add(formStructureVue); |
panneauCentre.setId(ComposantId.PANNEAU_FORM_STRUCTURE); |
panneauCentre.layout(); |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION DES PERSONNES |
//+----------------------------------------------------------------------------------------------------------------+ |
public void clicListePersonne(Personne personne) { |
((PersonneDetailPanneauVue) Registry.get(RegistreId.PANNEAU_PERSONNE_DETAIL)).rafraichir(personne); |
} |
public void afficherListePersonnes(PersonneListe nouvelleDonnees) { |
PersonneVue personneVue = new PersonneVue(); |
panneauCentre.add(personneVue); |
personneVue.rafraichir(nouvelleDonnees); |
} |
/* GREG : Ajouter Personne |
* Gestion du clic dans le menu gauche |
* Affiche le formulaire |
218,9 → 236,12 |
GWT.log("ajouter pers", null); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION DES VALEURS ET LISTES |
//+----------------------------------------------------------------------------------------------------------------+ |
public void afficherListeValeurs(ValeurListe nouvelleDonnees) { |
if (panneauCentre.getId().equals(ComposantId.PANNEAU_FORM_STRUCTURE)) { |
if (panneauCentre.getId().equals(ComposantId.PANNEAU_STRUCTURE_FORM)) { |
((FormStructureVue) panneauCentre.getItem(0)).rafraichir(nouvelleDonnees); |
} else { |
GWT.log("Aucun panneau trouvé pour afficher la liste de valeur", null); |
227,6 → 248,10 |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION DES PUBLICATIONS |
//+----------------------------------------------------------------------------------------------------------------+ |
public void afficherListePublication(PublicationListe nouvelleDonnees) { |
PublicationVue publicationVue = new PublicationVue() ; |
244,6 → 269,32 |
// TODO Auto-generated method stub |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION DES STRUCTURES |
//+----------------------------------------------------------------------------------------------------------------+ |
public void clicListeInstitution(Structure institution) { |
((StructureDetailPanneauVue) Registry.get(RegistreId.PANNEAU_INSTITUTION_DETAIL)).rafraichir(institution); |
} |
public void afficherListeStructures(StructureListe nouvelleDonnees) { |
// TODO : créer dès l'initialisation de l'application InsitutionVue et la cacher |
StructureVue institutionVue = new StructureVue(); |
panneauCentre.add(institutionVue); |
panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_LISTE); |
contenuPanneauCentre = institutionVue; |
institutionVue.rafraichir(nouvelleDonnees); |
} |
public void clicAjouterStructure() { |
panneauCentre.removeAll(); |
FormStructureVue formStructureVue = new FormStructureVue(); |
panneauCentre.add(formStructureVue); |
panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_FORM); |
panneauCentre.layout(); |
} |
/** |
* TODO : afficher un message du type "Structure ajoutée". |
* Lance la creation d'une structure |
254,19 → 305,57 |
} |
public void clicSupprimerStructure(Rafraichissable vue, List<Structure> structureSelection) { |
if(structureSelection.size() > 0) { |
if(Window.confirm("Êtes vous sur de vouloir supprimer les structures sélectionnées ?")) { |
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 ?"; |
} |
if(Window.confirm(message)) { |
String idStr = "" ; |
for(int i = 0 ; i < structureSelection.size() ; i++) { |
idStr += structureSelection.get(i).getId()+"," ; |
} |
modele.supprimerListeStructure(vue, getUtilisateurId(), idStr) ; |
modele.supprimerStructure(vue, getUtilisateurId(), idStr); |
} |
} else { |
Window.alert("Aucune structure sélectionnée"); |
Info.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerStructure() du Médiateur."); |
} |
} |
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(); |
FormStructureVue formStructureVue = new FormStructureVue(); |
panneauCentre.add(formStructureVue); |
panneauCentre.setId(ComposantId.PANNEAU_STRUCTURE_FORM); |
String idStr = "" ; |
for(int i = 0 ; i < structureSelection.size() ; i++) { |
idStr = structureSelection.get(i).getId(); |
} |
modele.selectionnerStructure(formStructureVue, getUtilisateurId(), idStr); |
panneauCentre.layout(); |
} else { |
Info.display("Erreur", "Une erreur est survenue dans la méthode clicModifierStructure() du Médiateur."); |
} |
} |
public void modifierStructure(Rafraichissable vue, Structure structure) { |
modele.modifierStructure(vue, getUtilisateurId(), structure); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION des PROJETS |
//+----------------------------------------------------------------------------------------------------------------+ |
//Greg : ajout d'un écouteur pour le changement liste projet |
public void rafraichirListeProjets() { |
((Modele) Registry.get(RegistreId.MODELE)).obtenirListeProjets(); |
275,6 → 364,4 |
public void afficherListeProjets(ProjetsListe projets) { |
((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(projets); |
} |
} |
/trunk/src/org/tela_botanica/client/i18n/Constantes.properties |
---|
1,2 → 1,3 |
appliNom = Collections en ligne |
titreAjoutFormStructurePanneau = Ajout d'une institution |
titreAjoutFormStructurePanneau = Ajout d'une institution |
titreModifFormStructurePanneau = Modification d'une institution |
/trunk/src/org/tela_botanica/client/i18n/Constantes.java |
---|
5,4 → 5,5 |
public interface Constantes extends Constants { |
String titreAjoutFormStructurePanneau(); |
String appliNom(); |
String titreModifFormStructurePanneau(); |
} |
/trunk/src/org/tela_botanica/client/ComposantId.java |
---|
8,6 → 8,7 |
public static final String MENU_CEL = "coel-id-menu-cel"; |
public static final String MENU_BEL = "coel-id-menu-bel"; |
public static final String BTN_DECONNEXION = "coel-id-btn-deconnexion"; |
public static final String PANNEAU_AIDE = "coel-id-pano-aide"; |
public static final String PANNEAU_FORM_STRUCTURE = "coel-id_pano-form-structure"; |
public static final String PANNEAU_AIDE = "coel-id-paneau-aide"; |
public static final String PANNEAU_STRUCTURE_FORM = "coel-id_paneau-structure-form"; |
public static final String PANNEAU_STRUCTURE_LISTE = "coel-id_paneau-structure-liste"; |
} |