/trunk/src/org/tela_botanica/client/util/UtilDAO.java |
---|
2,23 → 2,12 |
import java.util.HashMap; |
import java.util.Iterator; |
import java.util.LinkedHashMap; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.modeles.Configuration; |
import org.tela_botanica.client.modeles.PersonneListe; |
import com.extjs.gxt.ui.client.Registry; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.http.client.Request; |
import com.google.gwt.http.client.RequestBuilder; |
import com.google.gwt.http.client.RequestCallback; |
import com.google.gwt.http.client.Response; |
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONException; |
import com.google.gwt.json.client.JSONParser; |
import com.google.gwt.json.client.JSONValue; |
import com.google.gwt.user.client.Window; |
public class UtilDAO { |
/trunk/src/org/tela_botanica/client/Mediateur.java |
---|
32,10 → 32,8 |
import org.tela_botanica.client.vues.PersonneDetailPanneauVue; |
import org.tela_botanica.client.vues.PersonneVue; |
import org.tela_botanica.client.vues.PublicationDetailPanneauVue; |
import org.tela_botanica.client.vues.PublicationListePanneauVue; |
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; |
43,19 → 41,16 |
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; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.dom.client.Element; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.RootPanel; |
public class Mediateur { |
public class Mediateur implements Rafraichissable { |
private Modele modele = null; |
private Utilisateur utilisateur = null; |
private Viewport viewport; |
private EntetePanneauVue panneauNord = null; |
63,17 → 58,16 |
private ContenuPanneauVue panneauCentre = null; |
private Rafraichissable contenuPanneauCentre = null; |
public Mediateur() { |
// Enregistrement du Médiateur dans le Registre |
Registry.register(RegistreId.MEDIATEUR, this); |
// Création du Modèle qui s'enregistre lui même dans le Registre |
modele = new Modele(); |
// Création de l'utilsateur courrant |
utilisateur = new Utilisateur(null, false); |
Registry.register(RegistreId.UTILISATEUR, utilisateur); |
// Création de l'utilisateur courrant |
Registry.register(RegistreId.UTILISATEUR_COURANT, new Utilisateur(null, false)); |
this.connecterUtilisateur(null, null); |
// Création du projet courrant |
Registry.register(RegistreId.PROJET_COURANT, new Projet()); |
// Création du Viewport qui contient la disposition globale de l'application |
viewport = new Viewport(); |
143,11 → 137,11 |
public void clicMenu(String menuNom) { |
panneauCentre.removeAll(); |
if (menuNom.equals("Institutions")) { |
((Modele) Registry.get(RegistreId.MODELE)).selectionnerStructures(getUtilisateurId(), getProjetId()); |
modele.selectionnerStructure(panneauCentre, getProjetId(), null); |
} else if (menuNom.equals("Publications")) { |
((Modele) Registry.get(RegistreId.MODELE)).obtenirListePublications(); |
modele.selectionnerPublications(panneauCentre); |
} else if (menuNom.equals("Personnes")) { |
((Modele) Registry.get(RegistreId.MODELE)).obtenirListePersonnes(); |
modele.selectionnerPersonne(panneauCentre, null, getProjetId(), null); |
} |
else { |
GWT.log("Non implémenté! Menu id : "+menuNom, null); |
191,7 → 185,12 |
* Retourne l'identifiant de l'utilisateur courrant de l'application. |
*/ |
public String getUtilisateurId() { |
return utilisateur.getId(); |
String id = null; |
Utilisateur utilisateurCourant = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT); |
if (!utilisateurCourant.getId().equals("")) { |
id = utilisateurCourant.getId(); |
} |
return id; |
} |
public void clicIdentification() { |
202,16 → 201,16 |
} |
public void connecterUtilisateur(String login, String mdp) { |
((Modele) Registry.get(RegistreId.MODELE)).connecterUtilisateur(login, mdp); |
modele.connecterUtilisateur(this, login, mdp); |
} |
public void deconnecterUtilisateur() { |
((Modele) Registry.get(RegistreId.MODELE)).deconnecterUtilisateur(); |
modele.deconnecterUtilisateur(this); |
} |
public void mettreAJourEtatIdentification(Utilisateur utilisateur) { |
// Mise à jour du registre |
Registry.register(RegistreId.UTILISATEUR, utilisateur); |
Registry.register(RegistreId.UTILISATEUR_COURANT, utilisateur); |
// Création de l'information de mise à jour de l'utilisateur |
Information info = new Information("maj_utilisateur"); |
234,24 → 233,22 |
} |
public void afficherListePersonnes(PersonneListe nouvelleDonnees) { |
public void afficherListePersonnes(PersonneListe personnes) { |
PersonneVue personneVue = new PersonneVue(); |
contenuPanneauCentre = personneVue; |
panneauCentre.add(personneVue); |
personneVue.rafraichir(nouvelleDonnees); |
personneVue.rafraichir(personnes); |
panneauCentre.layout(); |
} |
public void clicAjouterPersonne() { |
FormPersonneVue fPersonneVue = new FormPersonneVue(); |
contenuPanneauCentre = fPersonneVue; |
panneauCentre.add(fPersonneVue); |
panneauCentre.removeAll(); |
FormPersonneVue formulairePersonneVue = new FormPersonneVue(); |
contenuPanneauCentre = formulairePersonneVue; |
panneauCentre.add(formulairePersonneVue); |
panneauCentre.layout(); |
} |
public void selectionnerPersonneParNomComplet(Rafraichissable vue, String projetId, String nomComplet) { |
modele.selectionnerPersonne(vue, null, projetId, nomComplet); |
} |
public void clicSupprimerPersonne(Rafraichissable vue,List<Personne> personneSelection) { |
String ids = "" ; |
274,6 → 271,10 |
Info.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerPersonne() du Médiateur."); |
} |
} |
public void selectionnerPersonneParNomComplet(Rafraichissable vue, String projetId, String nomComplet) { |
modele.selectionnerPersonne(vue, null, projetId, nomComplet); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION DES VALEURS ET LISTES |
292,7 → 293,6 |
//+----------------------------------------------------------------------------------------------------------------+ |
public void afficherListePublication(PublicationListe nouvelleDonnees) { |
PublicationVue publicationVue = new PublicationVue() ; |
panneauCentre.removeAll(); |
panneauCentre.add(publicationVue); |
344,28 → 344,27 |
message = "Voulez-vous vraiment supprimer ces publication ?"; |
} |
if(Window.confirm(message)) { |
modele.supprimerPublication(getUtilisateurId(),publicationListe); |
modele.supprimerPublication(contenuPanneauCentre, getUtilisateurId(),publicationListe); |
} |
} |
} |
public void ajouterPublication(FormPublicationVue formPublicationVue, |
Publication publi) { |
modele.ajouterPublication(getUtilisateurId(),publi); |
public void ajouterPublication(FormPublicationVue formPublicationVue, Publication publi) { |
modele.ajouterPublication(contenuPanneauCentre, getUtilisateurId(),publi); |
} |
public void modifierPublication(FormPublicationVue formPublicationVue, Publication publi) { |
modele.modifierPublication(getUtilisateurId(),publi); |
modele.modifierPublication(contenuPanneauCentre, getUtilisateurId(),publi); |
} |
public void clicObtenirListeEditeurs(Rafraichissable r) { |
modele.obtenirListeStructures(r,getUtilisateurId(), null); |
public void clicObtenirListeEditeurs(Rafraichissable vue) { |
modele.selectionnerStructure(vue, null, null); |
} |
public void clicObtenirListeAuteurs(Rafraichissable r) { |
modele.obtenirListePersonnes(r); |
public void clicObtenirListeAuteurs(Rafraichissable vue) { |
modele.selectionnerPersonne(vue, null, null, null); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
422,7 → 421,7 |
if (structureSelection.size() == 1) { |
message = "Êtes vous sur de vouloir supprimer la structure sélectionnée ?"; |
} |
if(Window.confirm(message)) { |
if (Window.confirm(message)) { |
String idStr = "" ; |
for(int i = 0 ; i < structureSelection.size() ; i++) { |
idStr += structureSelection.get(i).getId()+"," ; |
436,7 → 435,7 |
public void selectionnerStructure(Rafraichissable vue, String structureId) { |
GWT.log("Structure : "+structureId, null); |
modele.selectionnerStructure(vue, getUtilisateurId(), null, structureId); |
modele.selectionnerStructure(vue, null, structureId); |
} |
/** |
444,8 → 443,8 |
* Lance la creation d'une structure |
* @param les données de la structure saisie |
*/ |
public void ajouterStructure(Rafraichissable vue, Structure structure) { |
modele.ajouterStructure(vue, getUtilisateurId(), structure); |
public void ajouterStructure(Rafraichissable vue, Structure structure, StructureConservation conservation, StructureValorisation valorisation) { |
modele.ajouterStructure(vue, getUtilisateurId(), structure, conservation, valorisation); |
} |
public void modifierStructure(Rafraichissable vue, Structure structure, StructureConservation conservation, StructureValorisation valorisation) { |
494,42 → 493,40 |
* Retourne l'identifiant du projet courrant de l'application. |
*/ |
public String getProjetId() { |
return Registry.get(RegistreId.PROJET); |
String id = null; |
Projet projetCourant = (Projet) Registry.get(RegistreId.PROJET_COURANT); |
if (!projetCourant.getId().equals("")) { |
id = projetCourant.getId(); |
} |
return id; |
} |
//Greg : ajout d'un écouteur pour le changement liste projet |
public void rafraichirListeProjets() { |
((Modele) Registry.get(RegistreId.MODELE)).obtenirListeProjets(); |
public void selectionnerProjets(Rafraichissable vue) { |
modele.selectionnerProjets(vue); |
} |
public void afficherListeProjets(ProjetListe projets) { |
((MenuPanneauVue) Registry.get(RegistreId.PANNEAU_OUEST)).rafraichir(projets); |
panneauOuest.rafraichir(projets); |
} |
public void selectionnerProjet(String selectedIndexValue) { |
Registry.register(RegistreId.PROJET, selectedIndexValue); |
public void selectionnerProjetCourant(Projet projetSelectionne) { |
Registry.register(RegistreId.PROJET_COURANT, projetSelectionne); |
if (contenuPanneauCentre instanceof PersonneVue) { |
((Modele) Registry.get(RegistreId.MODELE)).obtenirListePersonnes(); |
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); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/RegistreId.java |
---|
14,7 → 14,6 |
public static final String PANNEAU_INSTITUTION_DETAIL = "Panneau Institution détail"; |
public static final String PANNEAU_PUBLICATION_DETAIL = "panneau Publication détail"; |
public static final String PANNEAU_PERSONNE_DETAIL = "panneau Personne détail"; |
public static final String UTILISATEUR = "Utilisateur courant"; |
public static final String PROJET = "Projet courant"; |
public static final String UTILISATEUR_COURANT = "Utilisateur courant"; |
public static final String PROJET_COURANT = "Objet Projet courant"; |
} |
/trunk/src/org/tela_botanica/client/vues/EntetePanneauVue.java |
---|
124,7 → 124,7 |
if (nouvelleDonnees instanceof Information) { |
Information info = (Information) nouvelleDonnees; |
if (info.getType().equals("maj_utilisateur")) { |
Utilisateur utilisateur = ((Utilisateur) Registry.get(RegistreId.UTILISATEUR)); |
Utilisateur utilisateur = ((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT)); |
if (utilisateur.isIdentifie() == true) { |
identificationInfoHtml.setHtml(Format.substitute(identificationInfoTpl, (new Params()).add("Bienvenue : "+utilisateur.getNomComplet()))); |
identificationBouton.setText("Deconnexion"); |
/trunk/src/org/tela_botanica/client/vues/MenuPanneauVue.java |
---|
1,13 → 1,11 |
package org.tela_botanica.client.vues; |
import java.util.Collection; |
import java.util.HashMap; |
import java.util.Iterator; |
import java.util.List; |
import org.tela_botanica.client.ComposantId; |
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.Menu; |
import org.tela_botanica.client.modeles.Projet; |
import org.tela_botanica.client.modeles.ProjetListe; |
18,24 → 16,21 |
import com.extjs.gxt.ui.client.event.TreeEvent; |
import com.extjs.gxt.ui.client.util.TreeBuilder; |
import com.extjs.gxt.ui.client.widget.ContentPanel; |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
import com.extjs.gxt.ui.client.widget.layout.FlowLayout; |
import com.extjs.gxt.ui.client.widget.tree.Tree; |
import com.extjs.gxt.ui.client.widget.tree.TreeItem; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.ChangeListener; |
import com.google.gwt.user.client.ui.ClickListener; |
import com.google.gwt.user.client.ui.ListBox; |
import com.google.gwt.user.client.ui.MouseListener; |
import com.google.gwt.user.client.ui.Widget; |
public class MenuPanneauVue extends ContentPanel implements Rafraichissable { |
public class MenuPanneauVue extends ContentPanel { |
private Tree tree; |
private ListBox listeProjets; |
private boolean listeProjetsInitialise = false; |
private ProjetListe projetsCache = null; |
public MenuPanneauVue() { |
setBodyBorder(false); |
setLayoutOnChange(true); |
47,15 → 42,13 |
if (nouvelleDonnees instanceof Menu) { |
afficherMenu((Menu) nouvelleDonnees); |
} else if (nouvelleDonnees instanceof ProjetListe) { |
afficherProjets((ProjetListe) nouvelleDonnees); |
projetsCache = (ProjetListe) nouvelleDonnees; |
afficherProjets(); |
} |
} |
private void afficherProjets(ProjetListe projets) { |
Collection<Projet> valeursProjets = projets.values(); |
Iterator it = valeursProjets.iterator(); |
private void afficherProjets() { |
Iterator it = projetsCache.values().iterator(); |
while (it.hasNext()) { |
Projet projetCourant = (Projet) it.next(); |
listeProjets.addItem(projetCourant.getNom(), projetCourant.getId()); |
74,7 → 67,7 |
listeProjets.addClickListener(new ClickListener() { |
public void onClick(Widget sender) { |
if(!listeProjetsInitialise) { |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).rafraichirListeProjets(); |
chargerProjets(); |
listeProjetsInitialise = true; |
} |
} |
85,7 → 78,7 |
listeProjets.addChangeListener(new ChangeListener() { |
public void onChange(Widget sender) { |
// TODO : récupérer la valeur passé par l'évenement et enregistrer dans le registre |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).selectionnerProjet(listeProjets.getValue(listeProjets.getSelectedIndex())); |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).selectionnerProjetCourant(projetsCache.get(listeProjets.getValue(listeProjets.getSelectedIndex()))); |
} |
}); |
127,4 → 120,9 |
return menus; |
} |
} |
private void chargerProjets() { |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).selectionnerProjets(this); |
} |
} |
/trunk/src/org/tela_botanica/client/vues/StructureVue.java |
---|
2,7 → 2,6 |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.StructureListe; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.Style.LayoutRegion; |
11,7 → 10,6 |
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 { |
/trunk/src/org/tela_botanica/client/vues/ContenuPanneauVue.java |
---|
1,13 → 1,51 |
package org.tela_botanica.client.vues; |
import org.tela_botanica.client.modeles.Utilisateur; |
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.PersonneListe; |
import org.tela_botanica.client.modeles.ProjetListe; |
import org.tela_botanica.client.modeles.PublicationListe; |
import org.tela_botanica.client.modeles.StructureListe; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.widget.Info; |
import com.extjs.gxt.ui.client.widget.LayoutContainer; |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
import com.google.gwt.core.client.GWT; |
public class ContenuPanneauVue extends LayoutContainer { |
public class ContenuPanneauVue extends LayoutContainer implements Rafraichissable { |
public ContenuPanneauVue() { |
setLayout(new FitLayout()); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// RAFRAICHISSEMENT |
//+----------------------------------------------------------------------------------------------------------------+ |
public void rafraichir(Object nouvelleDonnees) { |
Mediateur mediateur = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)); |
if (nouvelleDonnees instanceof StructureListe) { |
mediateur.afficherListeStructures((StructureListe) nouvelleDonnees); |
} else if (nouvelleDonnees instanceof PublicationListe) { |
mediateur.afficherListePublication((PublicationListe) nouvelleDonnees); |
} else if (nouvelleDonnees instanceof PersonneListe) { |
} else if (nouvelleDonnees instanceof ProjetListe) { |
mediateur.afficherListeProjets((ProjetListe) nouvelleDonnees); |
} else if (nouvelleDonnees instanceof Information) { |
Information info = (Information) nouvelleDonnees; |
// Affichage des éventuels messages de déboguage ou d'alerte |
if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) { |
GWT.log(info.getMessages().toString(), null); |
} |
// Traitement en fonction des types d'information |
if (info.getType().equals("liste_personne")) { |
mediateur.afficherListePersonnes((PersonneListe) info.getDonnee(0)); |
Info.display("Chargement d'une liste de personnes", ""); |
} |
} |
} |
} |
/trunk/src/org/tela_botanica/client/vues/FormStructureVue.java |
---|
15,6 → 15,8 |
import org.tela_botanica.client.modeles.InterneValeurListe; |
import org.tela_botanica.client.modeles.Personne; |
import org.tela_botanica.client.modeles.PersonneListe; |
import org.tela_botanica.client.modeles.Projet; |
import org.tela_botanica.client.modeles.ProjetListe; |
import org.tela_botanica.client.modeles.Structure; |
import org.tela_botanica.client.modeles.StructureAPersonne; |
import org.tela_botanica.client.modeles.StructureAPersonneListe; |
86,6 → 88,7 |
import com.google.gwt.i18n.client.DateTimeFormat; |
import com.google.gwt.i18n.client.NumberFormat; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.ListBox; |
public class FormStructureVue extends LayoutContainer implements Rafraichissable { |
94,6 → 97,7 |
private Modele modele = null ; |
private String mode = "AJOUT"; |
private int tabIndex = 100; |
private FormPanel structureFormPanneau = null; |
private TabPanel onglets = null; |
209,6 → 213,9 |
private ListStore<Personne> personneExistanteMagazin; |
private ComboBox<Personne> personneExistanteCombo; |
private TextToolItem supprimerPersonnelBtn; |
private ListBox projetChp; |
private ListStore<Projet> projetsMagazin; |
private ComboBox<Projet> projetsCombo; |
public FormStructureVue() { |
298,7 → 305,7 |
if (mode.equals("AJOUT")) { |
// Ajout des informations sur la Structure |
mediateur.ajouterStructure(this, structure); |
mediateur.ajouterStructure(this, structure, conservation, valorisation); |
// L'ajout des relations StructureAPersonne se fait quand la structure a été ajoutée |
// Voir la méthode rafraichir(). |
} else if (mode.equals("MODIF")) { |
625,6 → 632,10 |
Structure structure = new Structure(); |
structure.setId(idStructureChp.getValue()); |
structure.setNom(nomStructureChp.getValue()); |
// Récupération de l'identifiant du projet |
if (projetsCombo.getValue() != null) { |
structure.setIdProjet(projetsCombo.getValue().getId()); |
} |
// Récupération de l'acronyme (= identifiant alternatif) |
structure.setIdAlternatif(null); |
if (comboAcronyme.getValue() != null) { |
680,6 → 691,10 |
if (mode.equals("MODIF") && identification != null && identificationOnglet.getData("acces").equals(false)) { |
idStructureChp.setValue(identification.getId()); |
nomStructureChp.setValue(identification.getNom()); |
if (!identification.getIdProjet().equals("0")) { |
projetsCombo.setValue(projetsCombo.getStore().findModel("id_projet", identification.getIdProjet())); |
} |
if (!identification.getIdAlternatif().isEmpty()) { |
String[] acronyme = identification.getIdAlternatif().split("##"); |
if (acronyme[0].matches("^IH$")) { |
1104,7 → 1119,7 |
configs.add(r); |
ColumnConfig column = new ColumnConfig("fonction", "Fonction", 150); |
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("fonction")); |
modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("fonction")); |
magazinLiFonction = new ListStore<Valeur>(); |
magazinLiFonction.add(new ArrayList<Valeur>()); |
1203,7 → 1218,7 |
column.setEditor(new CellEditor(emailChp)); |
configs.add(column); |
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("statut")); |
modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("statut")); |
magazinLiStatut = new ListStore<Valeur>(); |
magazinLiStatut.add(new ArrayList<Valeur>()); |
1421,12 → 1436,25 |
fieldSetIdentite.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4)); |
nomStructureChp = new TextField<String>(); |
nomStructureChp.setTabIndex(100); |
nomStructureChp.setTabIndex(tabIndex++); |
nomStructureChp.setFieldLabel("Nom de la structure"); |
nomStructureChp.setAllowBlank(false); |
nomStructureChp.getMessages().setBlankText("Ce champ est obligatoire."); |
fieldSetIdentite.add(nomStructureChp, new FormData(450, 0)); |
modele.selectionnerProjets(this); |
projetsMagazin = new ListStore<Projet>(); |
projetsMagazin.add(new ArrayList<Projet>()); |
projetsCombo = new ComboBox<Projet>(); |
projetsCombo.setTabIndex(tabIndex++); |
projetsCombo.setFieldLabel("Projet"); |
projetsCombo.setLabelSeparator(""); |
projetsCombo.setDisplayField("nom"); |
projetsCombo.setEditable(false); |
projetsCombo.setTriggerAction(TriggerAction.ALL); |
projetsCombo.setStore(projetsMagazin); |
fieldSetIdentite.add(projetsCombo, new FormData(450, 0)); |
// Création du sous-formulaire : Acronyme |
LayoutContainer ligne = new LayoutContainer(); |
ligne.setLayout(new ColumnLayout()); |
1439,7 → 1467,7 |
acronymes.add(InterneValeurListe.getTypeAcronyme()); |
comboAcronyme = new ComboBox<InterneValeur>(); |
comboAcronyme.setTabIndex(101); |
comboAcronyme.setTabIndex(tabIndex++); |
comboAcronyme.setEmptyText("Sélectioner un type d'acronyme..."); |
comboAcronyme.setFieldLabel("Acronymes"); |
comboAcronyme.setDisplayField("nom"); |
1468,7 → 1496,7 |
ihChp = new TextField<String>(); |
//ihChp.setEmptyText("Index Herbariorum"); |
ihChp.setTabIndex(102); |
ihChp.setTabIndex(tabIndex++); |
ihChp.setLabelSeparator(""); |
ihChp.setToolTip("Index Herbariorum : herbier de plus de 5000 échantillons"); |
ihChp.hide(); |
1475,7 → 1503,7 |
droite.add(ihChp); |
mnhnChp = new TextField<String>(); |
mnhnChp.setTabIndex(103); |
mnhnChp.setTabIndex(tabIndex++); |
//mnhnChp.setEmptyText("MNHN"); |
mnhnChp.setLabelSeparator(""); |
mnhnChp.setToolTip("Acronyme MNHN : herbier de moins de 5000 échantillons"); |
1500,7 → 1528,7 |
typesStructure.add(InterneValeurListe.getTypeStructure()); |
comboTypeStructure = new ComboBox<InterneValeur>(); |
comboTypeStructure.setTabIndex(104); |
comboTypeStructure.setTabIndex(tabIndex++); |
comboTypeStructure.setEmptyText("Sélectioner un type de structure..."); |
comboTypeStructure.setFieldLabel("Statut des structures"); |
comboTypeStructure.setDisplayField("nom"); |
1527,11 → 1555,11 |
}); |
gaucheTs.add(comboTypeStructure); |
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpu")); |
modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpu")); |
magazinLstpu = new ListStore<Valeur>(); |
magazinLstpu.add(new ArrayList<Valeur>()); |
comboLstpu = new ComboBox<Valeur>(); |
comboLstpu.setTabIndex(105); |
comboLstpu.setTabIndex(tabIndex++); |
//comboLstpu.setFieldLabel("Statut des structures publiques"); |
comboLstpu.setLabelSeparator(""); |
comboLstpu.setDisplayField("nom"); |
1541,11 → 1569,11 |
comboLstpu.hide(); |
droiteTs.add(comboLstpu); |
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpr")); |
modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpr")); |
magazinLstpr = new ListStore<Valeur>(); |
magazinLstpr.add(new ArrayList<Valeur>()); |
comboLstpr = new ComboBox<Valeur>(); |
comboLstpr.setTabIndex(106); |
comboLstpr.setTabIndex(tabIndex++); |
//comboLstpr.setFieldLabel("Statut des structures privées"); |
comboLstpr.setLabelSeparator(""); |
comboLstpr.setDisplayField("nom"); |
1560,7 → 1588,7 |
fieldSetIdentite.add(ligneTs); |
dateFondationChp = new DateField(); |
dateFondationChp.setTabIndex(107); |
dateFondationChp.setTabIndex(tabIndex++); |
dateFondationChp.setFieldLabel("Date de fondation"); |
dateFondationChp.getPropertyEditor().getFormat(); |
dateFondationChp.getPropertyEditor().setFormat(DateTimeFormat.getFormat("dd/MM/yyyy")); |
1594,22 → 1622,22 |
fieldSetAdresse.setLayout(creerFormLayout(100, LabelAlign.LEFT, 4)); |
adrChp = new TextArea(); |
adrChp.setTabIndex(108); |
adrChp.setTabIndex(tabIndex++); |
adrChp.setFieldLabel("Adresse"); |
fieldSetAdresse.add(adrChp, new FormData(550, 0)); |
cpChp = new TextField<String>(); |
cpChp.setTabIndex(109); |
cpChp.setTabIndex(tabIndex++); |
cpChp.setFieldLabel("Code postal"); |
gaucheFdAdresse.add(cpChp); |
villeChp = new TextField<String>(); |
villeChp.setTabIndex(110); |
villeChp.setTabIndex(tabIndex++); |
villeChp.setFieldLabel("Ville"); |
droiteFdAdresse.add(villeChp); |
regionChp = new TextField<String>(); |
regionChp.setTabIndex(111); |
regionChp.setTabIndex(tabIndex++); |
regionChp.setFieldLabel("Région"); |
gaucheFdAdresse.add(regionChp); |
1616,11 → 1644,11 |
//paysChp = new TextField<String>(); |
//paysChp.setTabIndex(112); |
//paysChp.setFieldLabel("Pays"); |
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("pays")); |
modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("pays")); |
magazinPays = new ListStore<Valeur>(); |
magazinPays.add(new ArrayList<Valeur>()); |
comboPays = new ComboBox<Valeur>(); |
comboPays.setTabIndex(112); |
comboPays.setTabIndex(tabIndex++); |
comboPays.setFieldLabel("Pays"); |
comboPays.setEmptyText("Sélectioner un pays..."); |
comboPays.setEditable(true); |
1655,23 → 1683,23 |
fieldSetTelMail.setLayout(creerFormLayout(200, LabelAlign.LEFT, 4)); |
telChp = new TextField<String>(); |
telChp.setTabIndex(113); |
telChp.setTabIndex(tabIndex++); |
telChp.setFieldLabel("Téléphone"); |
gaucheFdTelMail.add(telChp); |
faxChp = new TextField<String>(); |
faxChp.setTabIndex(114); |
faxChp.setTabIndex(tabIndex++); |
faxChp.setFieldLabel("Fax"); |
droiteFdTelMail.add(faxChp); |
emailChp = new TextField<String>(); |
emailChp.setTabIndex(115); |
emailChp.setTabIndex(tabIndex++); |
emailChp.setFieldLabel("Courriel"); |
emailChp.setToolTip("Saisir le courriel de l'organisation, pas de courriel individuel. Ex. : accueil@organisation.org"); |
gaucheFdTelMail.add(emailChp); |
urlChp = new TextField<String>(); |
urlChp.setTabIndex(116); |
urlChp.setTabIndex(tabIndex++); |
urlChp.setFieldLabel("Site web"); |
droiteFdTelMail.add(urlChp); |
1866,7 → 1894,7 |
* @return |
*/ |
private ContentPanel creerChoixMultipleCp(String listeNom) { |
modele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeNom)); |
modele.obtenirListeValeurs(this, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeNom)); |
ContentPanel cp = new ContentPanel(); |
cp.setLayout(creerFormLayout(650, LabelAlign.TOP, 0)); |
cp.setHeaderVisible(false); |
2103,6 → 2131,18 |
} else { |
GWT.log("La liste #"+listeValeurs.getId()+" ne contient aucune valeurs!", null); |
} |
} else if (nouvelleDonnees instanceof ProjetListe) { |
ProjetListe projets = (ProjetListe) nouvelleDonnees; |
List<Projet> liste = new ArrayList<Projet>(); |
for (Iterator<String> it = projets.keySet().iterator(); it.hasNext();) { |
liste.add(projets.get(it.next())); |
} |
projetsMagazin.removeAll(); |
projetsMagazin.add(liste); |
projetsCombo.setStore(projetsMagazin); |
} else { |
GWT.log("Pas de correspondance dans la méthode rafraichir() de la classe "+this.getClass(), null); |
} |
} catch (Exception e) { |
GWT.log("rafraichir()", e); |
/trunk/src/org/tela_botanica/client/vues/PersonneVue.java |
---|
1,17 → 1,19 |
package org.tela_botanica.client.vues; |
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.PersonneListe; |
import org.tela_botanica.client.modeles.StructureListe; |
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.layout.BorderLayout; |
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.core.client.GWT; |
public class PersonneVue extends LayoutContainer implements Rafraichissable { |
36,8 → 38,19 |
public void rafraichir(Object nouvelleDonnees) { |
if (nouvelleDonnees instanceof PersonneListe) { |
remplirListe((PersonneListe) nouvelleDonnees); |
} else if (nouvelleDonnees instanceof Information) { |
Information info = (Information) nouvelleDonnees; |
// Affichage des éventuels messages de déboguage ou d'alerte |
if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) { |
GWT.log(info.getMessages().toString(), null); |
} |
// Traitement en fonction des types d'information |
if (info.getType().equals("liste_personne")) { |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListePersonnes((PersonneListe) info.getDonnee(0)); |
Info.display("Chargement d'une liste de personnes", ""); |
} |
} else { |
Window.alert("Problème!"); |
GWT.log("Pas de correspondance dans la méthode rafraichir() de la classe "+this.getClass(), null); |
} |
} |
/trunk/src/org/tela_botanica/client/vues/StructureListePanneauVue.java |
---|
32,7 → 32,6 |
import com.extjs.gxt.ui.client.widget.toolbar.TextToolItem; |
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 StructureListePanneauVue extends ContentPanel implements Rafraichissable { |
46,7 → 45,7 |
private TextToolItem ajouter; |
public StructureListePanneauVue() { |
Utilisateur utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR); |
Utilisateur utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT); |
mediateur = Registry.get(RegistreId.MEDIATEUR); |
structureListePanneauVue = this; |
162,7 → 161,7 |
modifier.disable(); |
} |
} else if (info.getType().equals("maj_utilisateur")) { |
if (((Utilisateur) Registry.get(RegistreId.UTILISATEUR)).isIdentifie()) { |
if (((Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT)).isIdentifie()) { |
if (table.getItemCount() != 0) { |
supprimer.enable(); |
} |
/trunk/src/org/tela_botanica/client/Modele.java |
---|
4,59 → 4,35 |
import java.util.List; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.PersonneListe; |
import org.tela_botanica.client.modeles.PersonneAsyncDao; |
import org.tela_botanica.client.modeles.ProjetListe; |
import org.tela_botanica.client.modeles.ProjetAsyncDao; |
import org.tela_botanica.client.modeles.Publication; |
import org.tela_botanica.client.modeles.PublicationListe; |
import org.tela_botanica.client.modeles.PublicationAsyncDao; |
import org.tela_botanica.client.modeles.Structure; |
import org.tela_botanica.client.modeles.StructureAPersonne; |
import org.tela_botanica.client.modeles.StructureAPersonneAsyncDao; |
import org.tela_botanica.client.modeles.StructureAPersonneListe; |
import org.tela_botanica.client.modeles.StructureAsyncDao; |
import org.tela_botanica.client.modeles.StructureConservation; |
import org.tela_botanica.client.modeles.StructureListe; |
import org.tela_botanica.client.modeles.StructureValorisation; |
import org.tela_botanica.client.modeles.Utilisateur; |
import org.tela_botanica.client.modeles.UtilisateurAsyncDao; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.modeles.ValeurListeAsyncDao; |
import com.extjs.gxt.ui.client.Registry; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.user.client.Window; |
// TODO : le transformer en SINGLETON |
public class Modele implements Rafraichissable { |
public class Modele { |
public Modele() { |
Registry.register(RegistreId.MODELE, this); |
} |
public void rafraichir(Object nouvelleDonnees) { |
if (nouvelleDonnees instanceof StructureListe) { |
((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) { |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListeValeurs((ValeurListe) nouvelleDonnees); |
} else if (nouvelleDonnees instanceof PublicationListe) { |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListePublication((PublicationListe) nouvelleDonnees); |
} else if (nouvelleDonnees instanceof PersonneListe) { |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListePersonnes((PersonneListe) nouvelleDonnees); |
} else if (nouvelleDonnees instanceof ProjetListe) { |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListeProjets((ProjetListe) nouvelleDonnees); |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION DES VALEURS ET LISTES |
//+----------------------------------------------------------------------------------------------------------------+ |
public void obtenirListeValeurs(Integer id) { |
ValeurListeAsyncDao lsDao = new ValeurListeAsyncDao(this); |
public void obtenirListeValeurs(Rafraichissable vue, Integer id) { |
ValeurListeAsyncDao lsDao = new ValeurListeAsyncDao(vue); |
lsDao.obtenirListe(id); |
} |
64,23 → 40,16 |
// GESTION DES UTILISATEURS |
//+----------------------------------------------------------------------------------------------------------------+ |
// pour obtenir la liste de personne et la fournir à des éléments spécifiques |
public void obtenirListePersonnes(Rafraichissable r) { |
// Lance le service JREST associé au personne via la class PersonneListeAsyncDAO |
PersonneAsyncDao plDao = new PersonneAsyncDao(r); |
plDao.obtenirListePersonnes(); |
} |
public void connecterUtilisateur(String login, String mdp) { |
Utilisateur utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR); |
public void connecterUtilisateur(Rafraichissable vue, String login, String mdp) { |
Utilisateur utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT); |
utilisateur.setLogin(login); |
utilisateur.setMotDePasse(mdp); |
UtilisateurAsyncDao uDao = new UtilisateurAsyncDao(this); |
UtilisateurAsyncDao uDao = new UtilisateurAsyncDao(vue); |
uDao.connecterUtilisateur(); |
} |
public void deconnecterUtilisateur() { |
UtilisateurAsyncDao uDao = new UtilisateurAsyncDao(this); |
public void deconnecterUtilisateur(Rafraichissable vue) { |
UtilisateurAsyncDao uDao = new UtilisateurAsyncDao(vue); |
uDao.deconnecterUtilisateur(); |
} |
88,28 → 57,24 |
// GESTION DES STRUCTURES |
//+----------------------------------------------------------------------------------------------------------------+ |
public void obtenirListeStructures(Rafraichissable r, String utilisateurId, String projetId) { |
public void obtenirListeStructures(Rafraichissable vue, String projetId) { |
StructureAsyncDao sDao = new StructureAsyncDao(); |
sDao.selectionner(r, utilisateurId, projetId,""); |
sDao.selectionner(vue, projetId, ""); |
} |
public void selectionnerStructure(Rafraichissable vue, String utilisateurId, String projetId, String structureId) { |
public void selectionnerStructure(Rafraichissable vue, String projetId, String structureId) { |
// Gestion des données des tables coel_structure, coel_structure_conservation et coel_structure_valorisation |
StructureAsyncDao sDao = new StructureAsyncDao(); |
sDao.selectionner(vue, utilisateurId, projetId, structureId); |
sDao.selectionner(vue, projetId, structureId); |
} |
public void selectionnerStructures(String utilisateurId, String projetId) { |
selectionnerStructure(this, utilisateurId, projetId, null); |
} |
/** Lance la creation d'une Structure |
* @param vue la vue demandant a être rafraichie |
* @param structure les données de la structure |
*/ |
public void ajouterStructure(Rafraichissable vue, String idUtilisateur, Structure structure) { |
public void ajouterStructure(Rafraichissable vue, String idUtilisateur, Structure structure, StructureConservation conservation, StructureValorisation valorisation) { |
StructureAsyncDao structureDao = new StructureAsyncDao(); |
structureDao.ajouter(vue, idUtilisateur, structure); |
structureDao.ajouter(vue, idUtilisateur, structure, conservation, valorisation); |
} |
public void supprimerStructure(Rafraichissable vue, String idUtilisateur, String idStr) { |
125,11 → 90,11 |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION de la relation STRUCTURE A PERSONNE |
public void selectionnerStructureAPersonne(Rafraichissable r, String idUtilisateur, String projetId, String structureId, String roleId) { |
public void selectionnerStructureAPersonne(Rafraichissable vue, String idUtilisateur, String projetId, String structureId, String roleId) { |
// Gestion des données de la table coel_structure_a_personne |
if (structureId != null && roleId != null) { |
StructureAPersonneAsyncDao sapDao = new StructureAPersonneAsyncDao(); |
sapDao.selectionner(r, idUtilisateur, structureId, roleId); |
sapDao.selectionner(vue, idUtilisateur, structureId, roleId); |
} |
} |
152,55 → 117,47 |
// GESTION DES PROJETS |
//+----------------------------------------------------------------------------------------------------------------+ |
public void obtenirListeProjets () { |
ProjetAsyncDao projetsDao = new ProjetAsyncDao(this); |
public void selectionnerProjets(Rafraichissable vue) { |
ProjetAsyncDao projetsDao = new ProjetAsyncDao(vue); |
projetsDao.selectionner(); |
} |
public void supprimerPersonne(Rafraichissable vue, String utilisateurId, |
String idStr) { |
PersonneAsyncDao personneDao = new PersonneAsyncDao(vue); |
personneDao.supprimer(vue, utilisateurId, idStr); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION DES PERSONNES |
//+----------------------------------------------------------------------------------------------------------------+ |
public void obtenirListePersonnes() { |
// Lance le service JREST associé au personne via la class PersonneListeAsyncDAO |
PersonneAsyncDao plDao = new PersonneAsyncDao(this); |
plDao.obtenirListePersonnes(); |
} |
public void selectionnerPersonne(Rafraichissable vue, String personneId, String projetId, String nomComplet) { |
PersonneAsyncDao pDao = new PersonneAsyncDao(vue); |
pDao.selectionner(personneId, projetId, nomComplet); |
} |
public void supprimerPersonne(Rafraichissable vue, String utilisateurId, |
String idStr) { |
PersonneAsyncDao personneDao = new PersonneAsyncDao(vue); |
personneDao.supprimer(vue, utilisateurId, idStr); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION DES PUBLICATIONS |
//+----------------------------------------------------------------------------------------------------------------+ |
public void obtenirListePublications() { |
PublicationAsyncDao lsDao = new PublicationAsyncDao(this); |
public void selectionnerPublications(Rafraichissable vue) { |
PublicationAsyncDao lsDao = new PublicationAsyncDao(vue); |
lsDao.obtenirListePublication(); |
} |
public void modifierPublication(String utilisateurId, Publication publi) { |
PublicationAsyncDao pDao = new PublicationAsyncDao(this); |
pDao.modifierPublication(this, utilisateurId, publi); |
public void modifierPublication(Rafraichissable vue, String utilisateurId, Publication publi) { |
PublicationAsyncDao pDao = new PublicationAsyncDao(vue); |
pDao.modifierPublication(utilisateurId, publi); |
} |
public void ajouterPublication(String utilisateurId, Publication publi) { |
PublicationAsyncDao pDao = new PublicationAsyncDao(this); |
pDao.ajouterPublication(this, utilisateurId, publi); |
public void ajouterPublication(Rafraichissable vue, String utilisateurId, Publication publi) { |
PublicationAsyncDao pDao = new PublicationAsyncDao(vue); |
pDao.ajouterPublication(utilisateurId, publi); |
} |
public void supprimerPublication(String utilisateurId, |
List<Publication> publicationListe) { |
public void supprimerPublication(Rafraichissable vue, String utilisateurId, List<Publication> publicationListe) { |
String idPubs = ""; |
for(Iterator<Publication> it = publicationListe.iterator(); it.hasNext();) { |
Publication pub = it.next(); |
209,8 → 166,8 |
idPubs += ","; |
} |
} |
PublicationAsyncDao pDao = new PublicationAsyncDao(this); |
pDao.supprimerPublication(this, utilisateurId, idPubs); |
PublicationAsyncDao pDao = new PublicationAsyncDao(vue); |
pDao.supprimerPublication(utilisateurId, idPubs); |
} |
} |
/trunk/src/org/tela_botanica/client/composants/IdentificationFenetre.java |
---|
72,7 → 72,7 |
setButtonBar(barreDeBoutons); |
} |
@Override |
protected void createButtons() { |
reinitialiserBouton = new Button("Réinitialiser"); |
120,5 → 120,5 |
protected void validate() { |
validerBouton.setEnabled(hasValue(login) && hasValue(motDePasse) && motDePasse.getValue().length() > 3); |
} |
} |
/trunk/src/org/tela_botanica/client/modeles/PublicationAsyncDao.java |
---|
68,7 → 68,7 |
} |
} |
public void modifierPublication(final Rafraichissable r, String utilisateurId, Publication pubAModifier) { |
public void modifierPublication(String utilisateurId, Publication pubAModifier) { |
// Demande de toutes les structures |
String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl(); |
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url+SERVICE_NOM+"/"+pubAModifier.getId()); |
108,7 → 108,7 |
} |
} |
public void ajouterPublication(Modele modele, String utilisateurId, Publication pubAModifier) { |
public void ajouterPublication(String utilisateurId, Publication pubAModifier) { |
String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl(); |
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url+SERVICE_NOM+"/"); |
148,8 → 148,7 |
} |
public void supprimerPublication(Modele modele, String utilisateurId, |
String idPubs) { |
public void supprimerPublication(String utilisateurId, String idPubs) { |
String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl(); |
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, url+SERVICE_NOM+"/"+utilisateurId+"/"+idPubs); |
/trunk/src/org/tela_botanica/client/modeles/UtilisateurAsyncDao.java |
---|
34,7 → 34,7 |
public UtilisateurAsyncDao(Rafraichissable r) { |
rafraichissement = r; |
urlServiceBase = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl(); |
utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR); |
utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT); |
} |
/** |
/trunk/src/org/tela_botanica/client/modeles/ProjetListe.java |
---|
7,14 → 7,13 |
/** |
* Table de hachage composée d'informations sur les Valeurs des listes, renvoyé par un objet de type DAO |
* La clé est le nom de l'entite + le nom de l'entite parente |
* La clé est l'id de l'entite. |
* |
* @author david delon |
* @author Grégoire DUCHÉ |
* |
*/ |
public class ProjetListe extends LinkedHashMap<String, Projet> { |
private int id = 0; |
/** |
49,31 → 48,8 |
this.put(projet.getId(), projet); |
} |
} |
} |
/*public PersonneListe(JSONString listeId, JSONArray listePersonnes) { |
super(listePersonnes.size()); |
this.setId(Integer.parseInt(listeId.stringValue())); |
//this.constuireObjet(listePersonnes); |
}*/ |
/*private void constuireObjet(JSONArray liste) |
{ |
final int taillemax = liste.size(); |
for (int i = 0; i < taillemax; i++) { |
JSONObject listeValeur = liste.get(i).isObject() ; |
if (listeValeur != null) { |
Valeur valeur = new Valeur(listeValeur); |
this.put(valeur.getId(), valeur); |
} |
} |
}*/ |
/** |
* @param id l'identifiant à définir |
*/ |
/trunk/src/org/tela_botanica/client/modeles/PersonneAsyncDao.java |
---|
22,115 → 22,19 |
public class PersonneAsyncDao { |
private static final String SERVICE_NOM = "CoelPersonne"; |
private PersonneListe personnes = null; |
private Rafraichissable rafraichissement = null; |
private Rafraichissable vueARafraichir = null; |
public PersonneAsyncDao(Rafraichissable r) { |
rafraichissement = r; |
public PersonneAsyncDao(Rafraichissable vue) { |
vueARafraichir = vue; |
} |
// TODO : utiliser à la place la méthode sélectionner |
public void obtenirDetailPersonne(String personneId) { |
//RequestBuilder rb = UtilDAO.construireRequete("CoelPersonneListe"); |
Window.alert("lalal"); |
} |
// TODO : utiliser à la place la méthode sélectionner |
public void obtenirListePersonnes() { |
Integer idProjet = null; |
if (Registry.get(RegistreId.PROJET) != null) { |
idProjet = Integer.parseInt((String) Registry.get(RegistreId.PROJET)); |
} |
obtenirListePersonnes(idProjet); |
} |
// TODO : utiliser à la place la méthode sélectionner |
public void obtenirListePersonnes(Integer idProjet) { |
// Appel du service JREST pour avoir toutes les personnes |
String[] parametres = null; |
if (idProjet != null) { |
parametres = new String[2]; |
parametres[0] = "*"; |
parametres[1] = idProjet.toString(); |
} |
RequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres); |
try { |
rb.sendRequest(null, new RequestCallback() { |
public void onError(Request request, Throwable exception) { |
/* |
* Gestion de l'exception lorsque la requête ne se termine pas correctement |
* */ |
GWT.log("Erreur à l'exécution du service CoelPersonneListe", exception); |
Window.alert("Une erreur s'est produite lors de l'accès aux données"); |
} |
public void onResponseReceived(Request request, Response response) { |
/* |
* La requête doit renvoyer une chaîne de caratères, parsable avec JSON |
* Si ce n'est pas le cas, on log une erreur |
* */ |
if (!response.getText().equals("")) { |
try { |
final JSONValue responseValue = JSONParser.parse(response.getText()); |
// Si la requête est un succès, reception d'un tableau |
if (responseValue.isArray() != null) { |
final JSONArray reponse = responseValue.isArray(); |
// Transformation du tableau JSON réponse en ListePersonnes |
personnes = new PersonneListe(reponse); |
} |
} |
catch (JSONException e) { |
// Cette exception est levée si la chaîne de caractère n'a pu être parsée par JSON |
GWT.log("ERREUR parsing JSON", e); |
Window.alert("Une erreur s'est produite lors de la récupération des personnes."); |
} |
} |
if (personnes == null) { |
// Si la requete est vide, il faut toutefois retourner une liste, vide. |
personnes = new PersonneListe(); |
} |
// On met à jour le demandeur des données |
rafraichissement.rafraichir(personnes); |
} |
}); |
} catch (RequestException e) { |
// Erreur à la création de la requête : url non-valide? |
GWT.log("Erreur à la création de la requete pour "+SERVICE_NOM+" (obtenir)", e); |
Window.alert("Une erreur s'est produite lors de l'accès aux données"); |
} |
} |
public void selectionner(String personneId, String projetId, String nomComplet) { |
// Ajout des paramètres et données à selectionner dans l'URL |
final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + |
SERVICE_NOM + "/" + |
(personneId == null ? "*" : personneId) + "/" + |
(projetId == null ? "*" : projetId) + "/" + |
(nomComplet == null ? "*" : URL.encodeComponent(nomComplet)) + "/" + |
""; |
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, url); |
String[] parametres = new String[3]; |
parametres[0] = (personneId == null ? "*" : personneId); |
parametres[1] = (projetId == null ? "*" : projetId); |
parametres[2] = (nomComplet == null ? "*" : URL.encodeComponent(nomComplet)); |
final RequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres); |
try { |
rb.sendRequest(null, new RequestCallback() { |
163,12 → 67,11 |
PersonneListe personnes = new PersonneListe(reponse); |
info.setDonnee(0, personnes); |
// et on met à jour le demandeur des données |
rafraichissement.rafraichir(info); |
vueARafraichir.rafraichir(info); |
} else { |
GWT.log(url+"\n\tLa réponse n'est pas un talbeau JSON et vaut : "+responseValue.toString(), null); |
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un talbeau JSON et vaut : "+responseValue.toString(), null); |
} |
} else { |
GWT.log(url, null); |
if (response.getText().length() == 0) { |
GWT.log("\tLa réponse a une taille de 0", null); |
} |
/trunk/src/org/tela_botanica/client/modeles/StructureAsyncDao.java |
---|
21,7 → 21,7 |
private static final String SERVICE_NOM = "CoelStructure"; |
public void selectionner(final Rafraichissable vue, String idUtilisateur, final String projetId, final String structureId) { |
public void selectionner(final Rafraichissable vue, final String projetId, final String structureId) { |
// Ajout des paramètres et données à selectionner dans l'URL |
final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + |
SERVICE_NOM + "/" + |
98,7 → 98,7 |
} |
} |
public void ajouter(final Rafraichissable r, String utilisateurId, final Structure str) { |
public void ajouter(final Rafraichissable r, String utilisateurId, final Structure str, StructureConservation conservation, StructureValorisation valorisation) { |
final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + |
SERVICE_NOM + "/" + |
""; |
126,6 → 126,39 |
"&cs_fax=" + URL.encodeComponent(str.getFax()) + |
"&cs_truk_url=" + URL.encodeComponent(str.getUrl()) + |
"&cs_nbre_personne=" + URL.encodeComponent(Integer.toString(str.getNbrePersonne())) + |
"&csc_mark_formation=" + URL.encodeComponent(conservation.getFormation()) + |
"&csc_formation=" + URL.encodeComponent(conservation.getFormationInfo()) + |
"&csc_mark_formation_interet=" + URL.encodeComponent(conservation.getFormationInteret()) + |
"&csc_truk_stockage_local=" + URL.encodeComponent(conservation.getStockageLocal()) + |
"&csc_truk_stockage_meuble=" + URL.encodeComponent(conservation.getStockageMeuble()) + |
"&csc_truk_stockage_parametre=" + URL.encodeComponent(conservation.getStockageParametre()) + |
"&csc_mark_collection_commune=" + URL.encodeComponent(conservation.getCollectionCommune()) + |
"&csc_truk_collection_autre=" + URL.encodeComponent(conservation.getCollectionAutre()) + |
"&csc_mark_acces_controle=" + URL.encodeComponent(conservation.getAccesControle()) + |
"&csc_mark_restauration=" + URL.encodeComponent(conservation.getRestauration()) + |
"&csc_truk_restauration_operation=" + URL.encodeComponent(conservation.getRestaurationOperation()) + |
"&csc_ce_materiel_conservation=" + URL.encodeComponent(conservation.getMaterielConservation()) + |
"&csc_truk_materiel_autre=" + URL.encodeComponent(conservation.getMaterielAutre()) + |
"&csc_mark_traitement=" + URL.encodeComponent(conservation.getTraitement()) + |
"&csc_truk_traitement=" + URL.encodeComponent(conservation.getTraitements()) + |
"&csc_mark_acquisition_collection=" + URL.encodeComponent(conservation.getAcquisitionCollection()) + |
"&csc_mark_acquisition_echantillon=" + URL.encodeComponent(conservation.getAcquisitionEchantillon()) + |
"&csc_mark_acquisition_traitement=" + URL.encodeComponent(conservation.getAcquisitionTraitement()) + |
"&csc_truk_acquisition_traitement_poison=" + URL.encodeComponent(conservation.getAcquisitionTraitementPoison()) + |
"&csc_truk_acquisition_traitement_insecte=" + URL.encodeComponent(conservation.getAcquisitionTraitementInsecte()) + |
"&csv_mark_action=" + URL.encodeComponent(valorisation.getAction()) + |
"&csv_truk_action=" + URL.encodeComponent(valorisation.getActionInfo()) + |
"&csv_publication=" + URL.encodeComponent(valorisation.getPublication()) + |
"&csv_collection_autre=" + URL.encodeComponent(valorisation.getCollectionAutre()) + |
"&csv_mark_action_future=" + URL.encodeComponent(valorisation.getActionFuture()) + |
"&csv_action_future=" + URL.encodeComponent(valorisation.getActionFutureInfo()) + |
"&csv_mark_recherche=" + URL.encodeComponent(valorisation.getRecherche()) + |
"&csv_truk_recherche_provenance=" + URL.encodeComponent(valorisation.getRechercheProvenance()) + |
"&csv_truk_recherche_type=" + URL.encodeComponent(valorisation.getRechercheType()) + |
"&csv_mark_acces_ss_motif=" + URL.encodeComponent(valorisation.getAccesSansMotif()) + |
"&csv_acces_ss_motif=" + URL.encodeComponent(valorisation.getAccesSansMotifInfo()) + |
"&csv_mark_visite_avec_motif=" + URL.encodeComponent(valorisation.getVisiteAvecMotif()) + |
"&csv_visite_avec_motif=" + URL.encodeComponent(valorisation.getVisiteAvecMotifInfo()) + |
""; |
try { |
179,7 → 212,7 |
} |
} |
public void supprimer(final Rafraichissable r, String utilisateurId, String structureId) { |
public void supprimer(final Rafraichissable vues, String utilisateurId, String structureId) { |
// Ajout des paramètres et données à supprimer dans l'URL |
final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + |
SERVICE_NOM + "/" + |
218,7 → 251,7 |
// 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); |
vues.rafraichir(info); |
} else { |
GWT.log(url+"\n\tLa réponse n'est pas une chaine JSON.", null); |
} |
242,7 → 275,7 |
} |
} |
public void modifier(final Rafraichissable r, String utilisateurId, Structure str, StructureConservation conservation, StructureValorisation valorisation) { |
public void modifier(final Rafraichissable vues, String utilisateurId, Structure str, StructureConservation conservation, StructureValorisation valorisation) { |
final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + |
SERVICE_NOM + "/" + |
str.getId() |
334,7 → 367,7 |
// Si la requête est un succès, reception d'une chaine |
if (responseValue.isString() != null) { |
Information info = new Information("modif_structure", responseValue.isString().stringValue()); |
r.rafraichir(info); |
vues.rafraichir(info); |
} else { |
GWT.log(url+"\n\tLa réponse n'est pas une chaine JSON.", null); |
} |
/trunk/src/org/tela_botanica/client/modeles/ProjetAsyncDao.java |
---|
19,10 → 19,10 |
private static final String SERVICE_NOM = "CoelProjet"; |
private ProjetListe projets = null; |
private Rafraichissable rafraichissement = null; |
private Rafraichissable vue = null; |
public ProjetAsyncDao(Rafraichissable r) { |
rafraichissement = r; |
public ProjetAsyncDao(Rafraichissable vueARafraichir) { |
vue = vueARafraichir; |
} |
public void selectionner() { |
76,7 → 76,7 |
} |
// Mise à jour du demandeur des données |
rafraichissement.rafraichir(projets); |
vue.rafraichir(projets); |
} |
}); |