Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 882 → Rev 883

/trunk/src/org/tela_botanica/client/util/Debug.java
New file
0,0 → 1,10
package org.tela_botanica.client.util;
 
import com.google.gwt.core.client.GWT;
 
public class Debug {
public static void log(String texte) {
GWT.log(texte, null);
}
}
/trunk/src/org/tela_botanica/client/Mediateur.java
11,6 → 11,8
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Collection;
import org.tela_botanica.client.modeles.CollectionAPersonne;
import org.tela_botanica.client.modeles.CollectionAPublication;
import org.tela_botanica.client.modeles.CollectionAPublicationListe;
import org.tela_botanica.client.modeles.CollectionListe;
import org.tela_botanica.client.modeles.Configuration;
import org.tela_botanica.client.modeles.Information;
488,24 → 490,19
}
public void afficherFormCollection(String collectionId) {
String mode = Formulaire.MODE_AJOUTER;
if (collectionId != null) {
mode = Formulaire.MODE_MODIFIER;
}
panneauCentre.removeAll();
CollectionForm collectionForm = new CollectionForm(this, mode);
CollectionForm collectionForm = new CollectionForm(this, collectionId);
panneauCentre.add(collectionForm);
if (mode.equals(Formulaire.MODE_MODIFIER)) {
selectionnerCollection(collectionForm, collectionId);
}
panneauCentre.layout();
}
public void clicListeCollection(Collection collectionCliquee) {
panneauCentre.getContenu().rafraichir(collectionCliquee);
if (collectionCliquee != null) {
selectionnerCollectionAPersonne(panneauCentre.getContenu(), collectionCliquee.getId(), null);
selectionnerCollectionAPublication(panneauCentre.getContenu(), collectionCliquee.getId());
}
}
public void clicAjouterCollection() {
584,7 → 581,40
//+----------------------------------------------------------------------------------------------------------------+
// GESTION de la relation COLLECTION A PUBLICATION
public void selectionnerCollectionAPublication(Rafraichissable vueARafraichir, String collectionId) {
modele.selectionnerCollectionAPublication(vueARafraichir, collectionId);
}
public void ajouterCollectionAPublication(Rafraichissable vueARafraichir, String collectionId, CollectionAPublicationListe publicationsAjoutees) {
if (publicationsAjoutees != null && publicationsAjoutees.size() > 0) {
for (Iterator<String> it = publicationsAjoutees.keySet().iterator(); it.hasNext();) {
modele.ajouterCollectionAPublication(vueARafraichir, collectionId, (CollectionAPublication) publicationsAjoutees.get(it.next()));
}
}
}
public void modifierCollectionAPublication(Rafraichissable vueARafraichir, CollectionAPublicationListe publicationsModifiees) {
if (publicationsModifiees != null && publicationsModifiees.size() > 0) {
for (Iterator<String> it = publicationsModifiees.keySet().iterator(); it.hasNext();) {
modele.modifierCollectionAPublication(vueARafraichir, (CollectionAPublication) publicationsModifiees.get(it.next()));
}
}
}
public void supprimerCollectionAPersonne(Rafraichissable vueARafraichir, CollectionAPublicationListe publicationsSupprimees) {
if (publicationsSupprimees != null && publicationsSupprimees.size() > 0) {
String idCollectionAPublicationSeparesParVirgule = "" ;
for (Iterator<String> it = publicationsSupprimees.keySet().iterator(); it.hasNext();) {
idCollectionAPublicationSeparesParVirgule += publicationsSupprimees.get(it.next()).getId()+"," ;
}
modele.supprimerCollectionAPublication(vueARafraichir, idCollectionAPublicationSeparesParVirgule);
}
}
//+----------------------------------------------------------------------------------------------------------------+
// GESTION de la relation COLLECTION A PUBLICATION
//+----------------------------------------------------------------------------------------------------------------+
// GESTION de la relation COLLECTION A COMMENTAIRE
//+----------------------------------------------------------------------------------------------------------------+
/trunk/src/org/tela_botanica/client/vues/CollectionFormPersonne.java
21,6 → 21,7
import org.tela_botanica.client.modeles.Valeur;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.aDonnee;
import org.tela_botanica.client.util.Debug;
 
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.ButtonEvent;
61,27 → 62,22
public class CollectionFormPersonne extends FormulaireOnglet implements Rafraichissable {
private Collection collection = null;
private Collection collectionCollectee = null;
private static int idGenere = 1;
private ContentPanel panneauPrincipal = null;
private ToolBar barreOutils = null;
private Grid<CollectionAPersonne> grille;
private EditorGrid<CollectionAPersonne> grille;
private ComboBox<Valeur> typeRelationCombo = null;
private CollectionAPersonneListe personnes = null;
private CollectionAPersonneListe personnesAjoutees = null;
private CollectionAPersonneListe personnesModifiees = null;
private CollectionAPersonneListe personnesSupprimees = null;
private ComboBox<Personne> personnesSaisisComboBox = null;
private Button personnesBoutonSupprimer = null;
private Button personnesBoutonModifier = null;
private ValeurListe listeIon = null;
private ListStore<Valeur> listeIon = null;
private FenetreForm fenetreFormulaire = null;
private static final String ETAT_AJOUTE = "A";
private static final String ETAT_SUPPRIME = "S";
public CollectionFormPersonne(Formulaire formulaireCourrant) {
initialiserOnglet(formulaireCourrant);
setId("personne");
102,19 → 98,16
private void initialiser() {
// Remise à zéro des modification dans la liste des auteurs
idGenere = 1;
personnesAjoutees = new CollectionAPersonneListe();
personnesModifiees = new CollectionAPersonneListe();
personnesSupprimees = new CollectionAPersonneListe();
// Actualisation de l'état des boutons de la barre d'outils
actualiserEtatBoutonsBarreOutils();
collection = ((CollectionForm) formulaire).collection;
}
private void initialiserCollection() {
collection = ((CollectionForm) formulaire).collection;
collectionCollectee = ((CollectionForm) formulaire).collectionCollectee;
}
private ContentPanel creerPanneauContenantGrille() {
ContentPanel panneau = new ContentPanel();
262,7 → 255,7
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
// TODO : mettre en place le rafraichissement de la liste
actualiserGrille();
}
});
return bouton;
302,20 → 295,25
}
private void ajouterDansGrille(Personne personne) {
ajouterDansGrille(personne, 0);
}
private void ajouterDansGrille(Personne personne, int index) {
if (personne != null) {
CollectionAPersonne relationCollectionPersonne = new CollectionAPersonne();
relationCollectionPersonne.setPersonne(personne);
// Ajout de la personne ajoutée à la liste
if (relationCollectionPersonne.getId() != null && !relationCollectionPersonne.getId().equals("")) {
personnesAjoutees.put(relationCollectionPersonne.getId(), relationCollectionPersonne);
relationCollectionPersonne.setIdPersonne(personne.getId());
// Gestion de l'id de la collection
if (mode.equals(Formulaire.MODE_MODIFIER)) {
relationCollectionPersonne.setIdCollection(collection.getId());
}
relationCollectionPersonne.set("_etat_", aDonnee.ETAT_AJOUTE);
corrigerChampsGrille(relationCollectionPersonne);
// Définition de l'état
relationCollectionPersonne.set("etat", ETAT_AJOUTE);
// Ajout à la grille
grille.getStore().insert(relationCollectionPersonne, 0);
grille.stopEditing();
grille.getStore().insert(relationCollectionPersonne, index);
grille.startEditing(0, 0);
grille.getSelectionModel().select(0, false);
}
}
323,10 → 321,13
private void supprimerDansGrille(CollectionAPersonne relationCollectionPersonne) {
if (relationCollectionPersonne != null) {
// Ajout de la personne supprimée à la liste
if ((relationCollectionPersonne.get("etat") == null || !relationCollectionPersonne.get("etat").equals(ETAT_AJOUTE))
if ((relationCollectionPersonne.get("_etat_").equals("") || !relationCollectionPersonne.get("_etat_").equals(aDonnee.ETAT_AJOUTE))
&& relationCollectionPersonne.getId() != null
&& !relationCollectionPersonne.getId().equals("")) {
personnesSupprimees.put(relationCollectionPersonne.getId(), relationCollectionPersonne);
Debug.log("Nbre personnes supprimées avant:"+personnesSupprimees.size());
personnesSupprimees.put("id"+idGenere++, relationCollectionPersonne);
GWT.log("Personne supprimées : "+relationCollectionPersonne.getPersonne().getId()+" "+relationCollectionPersonne.getPersonne().getPrenom()+" "+relationCollectionPersonne.getPersonne().getNom(), null);
Debug.log("Nbre personnes supprimées :"+personnesSupprimees.size());
}
// Suppression de l'enregistrement de la grille
334,18 → 335,26
}
}
 
private Grid<CollectionAPersonne> creerGrille() {
ListStore<Personne> storeGrille = new ListStore<Personne>();
storeGrille.addListener(Store.Add, new Listener<StoreEvent<Personne>>() {
public void handleEvent(StoreEvent<Personne> ce) {
private EditorGrid<CollectionAPersonne> creerGrille() {
ListStore<CollectionAPersonne> storeGrille = new ListStore<CollectionAPersonne>();
storeGrille.addListener(Store.Add, new Listener<StoreEvent<CollectionAPersonne>>() {
public void handleEvent(StoreEvent<CollectionAPersonne> ce) {
actualiserEtatBoutonsBarreOutils();
}
});
storeGrille.addListener(Store.Remove, new Listener<StoreEvent<Personne>>() {
public void handleEvent(StoreEvent<Personne> ce) {
storeGrille.addListener(Store.Remove, new Listener<StoreEvent<CollectionAPersonne>>() {
public void handleEvent(StoreEvent<CollectionAPersonne> ce) {
actualiserEtatBoutonsBarreOutils();
}
});
storeGrille.addListener(Store.Update, new Listener<StoreEvent<CollectionAPersonne>>() {
public void handleEvent(StoreEvent<CollectionAPersonne> ce) {
if (ce.getRecord().isModified("_role_") && !ce.getModel().get("_etat_").equals(aDonnee.ETAT_AJOUTE)) {
Debug.log("id role modifié");
ce.getModel().set("_etat_", aDonnee.ETAT_MODIFIE);
}
}
});
RowNumberer pluginLigneNumero = new RowNumberer();
364,10 → 373,13
public Object preProcessValue(Object valeur) {
Valeur retour = null;
if (valeur != null ) {
Debug.log(valeur.toString());
if (typeRelationCombo.getStore().findModel("nom", valeur.toString()) != null) {
retour = typeRelationCombo.getStore().findModel("nom", valeur.toString());
} else if (typeRelationCombo.getStore().findModel("abr", valeur.toString()) != null) {
retour = typeRelationCombo.getStore().findModel("abr", valeur.toString());
} else if (typeRelationCombo.getStore().findModel("id_valeur", valeur.toString()) != null) {
retour = typeRelationCombo.getStore().findModel("id_valeur", valeur.toString());
}
}
return retour;
386,8 → 398,21
}
};
ColumnConfig typeRelationColonne = new ColumnConfig("id_role", i18nC.typeRelationPersonneCollection(), 75);
GridCellRenderer<CollectionAPersonne> relationRendu = new GridCellRenderer<CollectionAPersonne>() {
@Override
public String render(CollectionAPersonne modele, String property, ColumnData config, int rowIndex, int colIndex, ListStore<CollectionAPersonne> store, Grid<CollectionAPersonne> grid) {
String role = modele.get("_role_");
if (typeRelationCombo.getStore() != null && role.matches("[0-9]+")) {
role = typeRelationCombo.getStore().findModel("id_valeur", role).getNom();
}
modele.set("_role_", role);
return role;
}
};
ColumnConfig typeRelationColonne = new ColumnConfig("_role_", i18nC.typeRelationPersonneCollection(), 75);
typeRelationColonne.setEditor(editeurRelation);
typeRelationColonne.setRenderer(relationRendu);
colonnes.add(typeRelationColonne);
colonnes.add(new ColumnConfig("fmt_nom_complet", i18nC.personneNomComplet(), 150));
425,7 → 450,7
public String render(CollectionAPersonne modele, String property, ColumnData config, int rowIndex, int colIndex, ListStore<CollectionAPersonne> store, Grid<CollectionAPersonne> grid) {
String deces = modele.getPersonne().getDeces();
if (listeIon != null && modele.getPersonne().getDeces().matches("[0-9]+")) {
deces = listeIon.get(modele.getPersonne().getDeces()).getNom();
deces = listeIon.findModel("id_valeur", modele.getPersonne().getDeces()).getNom();
}
modele.set("_deces_", deces);
return deces;
463,7 → 488,8
private void rafraichirValeurListe(ValeurListe listeValeurs) {
if (listeValeurs.getId().equals(config.getListeId("ion"))) {
listeIon = listeValeurs;
listeIon = new ListStore<Valeur>();
listeIon.add(listeValeurs.toList());
} else if (listeValeurs.getId().equals(config.getListeId("relationPersonneCollection"))) {
Formulaire.rafraichirComboBox(listeValeurs, typeRelationCombo);
} else {
485,13 → 511,6
personnesSaisisComboBox.getStore().add(liste);
personnesSaisisComboBox.expand();
}
} else if (type.equals("liste_collection_a_personne")) {
if (info.getDonnee(0) != null) {
initialiser();
// TODO : passer à la méthode peupler un objet CollectionAPersonneListe et modifier le type de auteurs
//auteurs = (CollectionAPersonneListe) info.getDonnee(0);
peupler();
}
} else if (info.getType().equals("ajout_collection")) {
if (info.getDonnee(0) != null && info.getDonnee(0) instanceof String) {
String collectionId = (String) info.getDonnee(0);
499,9 → 518,20
// Suite à la récupération de l'id de la collection nouvellement ajoutée nous ajoutons les personnes liées
// En mode AJOUT, il ne peut que y avoir des personnes liées ajoutées
mediateur.ajouterCollectionAPersonne(this, collectionId, personnesAjoutees);
} else {
Info.display("Ajout d'une Institution", info.toString());
}
} else if (type.equals("modification_personne")) {
if (info.getDonnee(0) != null) {
Personne personne = (Personne) info.getDonnee(0);
CollectionAPersonne personneDansGrille = grille.getStore().findModel("id_personne", personne.getId());
int index = grille.getStore().indexOf(personneDansGrille);
grille.getStore().remove(personneDansGrille);
ajouterDansGrille(personne, index);
}
} else if (type.equals("ajout_personne")) {
if (info.getDonnee(0) != null) {
Personne personne = (Personne) info.getDonnee(0);
ajouterDansGrille(personne);
}
} else if (info.getType().equals("modif_collection_a_personne")) {
Info.display("Modification des personnes liées à la collection", info.toString());
} else if (info.getType().equals("suppression_collection_a_personne")) {
508,11 → 538,18
Info.display("Suppression des personnes liées à la collection", info.toString());
} else if (info.getType().equals("ajout_collection_a_personne")) {
Info.display("Ajout des personnes liées à la collection", info.toString());
} else if (info.getType().equals("liste_collection_a_personne")) {
if (info.getDonnee(0) != null) {
initialiser();
collection.setPersonnesLiees((CollectionAPersonneListe) info.getDonnee(0));
peupler();
}
}
}
public void peupler() {
initialiserCollection();
grille.getStore().removeAll();
grille.getStore().add(collection.getPersonnesLiees().toList());
layout();
Info.display(i18nC.chargementPersonne(), i18nC.ok());
}
525,7 → 562,7
if (nbrePersonne > 0) {
for (int i = 0; i < nbrePersonne; i++) {
CollectionAPersonne personne = grille.getStore().getAt(i);
if (personne.getIdRole().equals("")) {
if (personne.get("_role_").equals("")) {
personneNumero += (i != 0 ? ", " : "")+(i+1);
}
}
538,42 → 575,52
}
public void collecter() {
initialiserCollection();
if (etreAccede()) {
int nbrePersonne = grille.getStore().getCount();
for (int i = 0; i < nbrePersonne; i++) {
CollectionAPersonne personne = grille.getStore().getAt(i);
// Seules les lignes ajoutées ou modifiées sont prises en compte.
Record enregistrement = grille.getStore().getRecord(personne);
if (grille.getStore().getModifiedRecords().contains(enregistrement) == true
|| (personne.get("etat") != null && personne.get("etat").equals(aDonnee.ETAT_AJOUTE) )) {
// Gestion de l'id de la structure
if (mode.equals(Formulaire.MODE_MODIFIER)) {
personne.setIdCollection(collection.getId());
CollectionAPersonne relationCollectionPersonne = grille.getStore().getAt(i);
if (relationCollectionPersonne.get("_etat_") != null) {
if (relationCollectionPersonne.get("_etat_").equals(aDonnee.ETAT_MODIFIE)) {
// Comme il est impossible de modifier les relations nous supprimons l'ancien enregistrement et ajoutons un nouveau avec le nouveau id_role
personnesSupprimees.put("id"+idGenere++, relationCollectionPersonne);
Debug.log("AVANT:"+relationCollectionPersonne.getIdRole());
CollectionAPersonne relationAAjouter = (CollectionAPersonne) relationCollectionPersonne.cloner(new CollectionAPersonne());
corrigerChampsGrille(relationAAjouter);// Nous modifions l'id_role
Debug.log("APRES:"+relationAAjouter.getIdRole());
personnesAjoutees.put("id"+idGenere++, relationAAjouter);
GWT.log("Personne modifiées : "+relationAAjouter.getPersonne().getPrenom()+" "+relationAAjouter.getPersonne().getNom(), null);
}
if (relationCollectionPersonne.get("_etat_").equals(aDonnee.ETAT_AJOUTE)) {
corrigerChampsGrille(relationCollectionPersonne);// Nous modifions l'id_role
personnesAjoutees.put("id"+idGenere++, relationCollectionPersonne);
GWT.log("Personne ajoutées : "+relationCollectionPersonne.getPersonne().getPrenom()+" "+relationCollectionPersonne.getPersonne().getNom(), null);
}
// Ajout de la personne dans la liste correspondant à son état (ajouté ou modifié)
if (personne.get("etat") != null && personne.get("etat").equals(aDonnee.ETAT_AJOUTE)) {// Une personne ajoutée
personnesAjoutees.put(""+i, personne);
} else {// Une personne modifiée
personnesModifiees.put(personne.getId(), personne);
}
} else {
GWT.log("Personne non modifiées : "+personne.getPersonne().getPrenom()+" "+personne.getPersonne().getNom(), null);
// Initialisation de la grille
relationCollectionPersonne.set("_etat_", "");
}
}
grille.getStore().commitChanges();
}
}
private void corrigerChampsGrille(CollectionAPersonne relationCollectionPersonne) {
String role = relationCollectionPersonne.get("_role_");
String champModele = "nom";
if (role.matches("[0-9]+")) {
champModele = "id_valeur";
}
if (typeRelationCombo.getStore().findModel(champModele, role) != null) {
String idRole = typeRelationCombo.getStore().findModel(champModele, role).getId();
relationCollectionPersonne.setIdRole(idRole);
}
}
 
public void soumettre() {
if (mode.equals(Formulaire.MODE_MODIFIER)) {
if (personnesModifiees.size() == 0 && personnesAjoutees.size() == 0 && personnesSupprimees.size() == 0) {
if (personnesAjoutees.size() == 0 && personnesSupprimees.size() == 0) {
Info.display("Modification des personnes liées", "Rien n'a été enregistré car le formulaire n'a pas été modifié.");
} else {
if (personnesModifiees.size() != 0) {
mediateur.modifierCollectionAPersonne(this, personnesModifiees);
}
// Ajout des relations CollectionAPersonne
if (personnesAjoutees.size() != 0) {
mediateur.ajouterCollectionAPersonne(this, collection.getId(), personnesAjoutees);
581,6 → 628,7
// Suppression des relations StructureAPersonne
if (personnesSupprimees.size() != 0) {
mediateur.supprimerCollectionAPersonne(this, personnesSupprimees);
Debug.log("Nbre personnes supprimées :"+personnesSupprimees.size());
}
}
}
589,4 → 637,13
private void obtenirPersonnesSaisis(String nom) {
mediateur.selectionnerPersonneParNomComplet(this, null, nom+"%");
}
private void actualiserGrille() {
if (mode.equals(Formulaire.MODE_MODIFIER)) {
mediateur.selectionnerCollectionAPersonne(this, collection.getId(), null);
} else {
grille.getStore().removeAll();
layout();
}
}
}
/trunk/src/org/tela_botanica/client/vues/StructureDetailVue.java
617,11 → 617,10
personnelChargementOk = true;
}
} else {
GWT.log(mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
}
if (avoirDonneesChargees()) {
afficherDetailInstitution();
afficherDetailInstitution();
}
}
/trunk/src/org/tela_botanica/client/vues/CollectionFormPublication.java
6,6 → 6,8
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.images.Images;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Collection;
import org.tela_botanica.client.modeles.CollectionAPublicationListe;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.Publication;
import org.tela_botanica.client.modeles.PublicationListe;
49,22 → 51,23
import com.google.gwt.user.client.ui.Image;
 
public class CollectionFormPublication extends FormulaireOnglet implements Rafraichissable {
private Collection collection = null;
private static int idGenere = 1;
private ContentPanel panneauPrincipal = null;
private ToolBar barreOutils = null;
private Grid<Publication> grille;
private PublicationListe publications = null;
private PublicationListe publicationsAjoutees = null;
private PublicationListe publicationsSupprimees = null;
private ComboBox<Publication> publicationsSaisiesComboBox = null;
private Button publicationsBoutonSupprimer = null;
private Button publicationsBoutonModifier = null;
private Button ajouterPublicationSaisieBouton = null;
private FenetreForm fenetreFormulaire = null;
private static final String ETAT_AJOUTE = "A";
private static final String ETAT_SUPPRIME = "S";
public CollectionFormPublication(Formulaire formulaireCourrant) {
initialiserOnglet(formulaireCourrant);
84,13 → 87,16
private void initialiser() {
// Remise à zéro des modification dans la liste des auteurs
idGenere = 1;
publicationsAjoutees = new PublicationListe();
publicationsSupprimees = new PublicationListe();
// Actualisation de l'état des boutons de la barre d'outils
actualiserEtatBoutonsBarreOutils();
collection = ((CollectionForm) formulaire).collection;
}
private ContentPanel creerPanneauContenantGrille() {
ContentPanel panneau = new ContentPanel();
238,12 → 244,21
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
// TODO : mettre en place le rafraichissement de la liste
actualiserGrille();
}
});
return bouton;
}
private void actualiserGrille() {
if (mode.equals(Formulaire.MODE_MODIFIER)) {
mediateur.selectionnerCollectionAPublication(this, collection.getId());
} else {
grille.getStore().removeAll();
layout();
}
}
private ComboBox<Publication> creerComboBoxPublicationsSaisis() {
ListStore<Publication> publicationsSaisiesStore = new ListStore<Publication>();
284,7 → 299,7
}
// Définition de l'état
publication.set("etat", ETAT_AJOUTE);
publication.set("_etat_", ETAT_AJOUTE);
// Ajout à la grille
grille.getStore().insert(publication, 0);
421,12 → 436,19
grille.getStore().add(publication);
grille.getStore().commitChanges();
}
} else if (info.getType().equals("liste_collection_a_publication")) {
if (info.getDonnee(0) != null) {
initialiser();
collection.setPublicationsLiees((CollectionAPublicationListe) info.getDonnee(0));
peupler();
}
} else {
GWT.log(Mediateur.i18nM.erreurRafraichir(info.getClass(), this.getClass()), null);
}
}
 
private void peupler() {
public void peupler() {
//grille.getStore().add(collection.getPublicationsLiees().toList());
layout();
Info.display(i18nC.chargementPublication(), i18nC.ok());
}
/trunk/src/org/tela_botanica/client/vues/PersonneForm.java
85,7 → 85,6
 
// VARIABLES
private TabItem tiIdentite, tiAdresses, tiInfosNat;
private Mediateur mediateur;
private Configuration config = (Configuration) Registry.get(RegistreId.CONFIG);
private Personne personneSelectionnee, personneSauvegarde = null;
protected String mode = "";
113,6 → 112,7
public PersonneForm(Mediateur mediateurCourrant, String personneId, Rafraichissable vueARafraichirApresValidation) {
vueExterneARafraichirApresValidation = vueARafraichirApresValidation;
personneId = (personneId == null ? "" : personneId);
initialiserPersonneForm(mediateurCourrant, personneId);
}
/trunk/src/org/tela_botanica/client/vues/CollectionForm.java
6,8 → 6,12
import org.tela_botanica.client.composants.ChampComboBoxListeValeurs;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Collection;
import org.tela_botanica.client.modeles.CollectionAPersonneListe;
import org.tela_botanica.client.modeles.CollectionAPublicationListe;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.MenuApplicationId;
import org.tela_botanica.client.modeles.Publication;
import org.tela_botanica.client.modeles.PublicationAPersonne;
import org.tela_botanica.client.modeles.Valeur;
import org.tela_botanica.client.util.UtilArray;
 
43,9 → 47,24
private CollectionFormInventaire inventaireOnglet = null;
private TextField<String> nomChp = null;
public CollectionForm(Mediateur mediateurCourrant, String modeDeCreation) {
public CollectionForm(Mediateur mediateurCourrant, String collectionId) {
initialiserCollectionForm(mediateurCourrant, collectionId);
}
private void initialiserCollectionForm(Mediateur mediateurCourrant, String collectionId) {
collection = new Collection();
collection.setId(collectionId);
String modeDeCreation = (collection.getId().isEmpty() ? Formulaire.MODE_AJOUTER : Formulaire.MODE_MODIFIER);
initialiserFormulaire(mediateurCourrant, modeDeCreation, MenuApplicationId.COLLECTION);
creerFieldsetPrincipal();
if (modeDeCreation.equals(Formulaire.MODE_MODIFIER)) {
mediateurCourrant.selectionnerCollection(this, collectionId);
mediateurCourrant.selectionnerCollectionAPersonne(this, collectionId, null);
mediateurCourrant.selectionnerCollectionAPublication(this, collectionId);
}
}
private void creerFieldsetPrincipal() {
193,6 → 212,10
} else {
Info.display("Ajout d'une Institution", info.toString());
}
} else if (info.getType().equals("liste_collection_a_personne")) {
personneOnglet.rafraichir(info);
} else if (info.getType().equals("liste_collection_a_publication")) {
publicationOnglet.rafraichir(info);
}
}
207,7 → 230,6
 
private void peuplerOnglets() {
generalOnglet.peupler();
personneOnglet.peupler();
}
 
private void actualiserTitrePanneau() {
293,6 → 315,7
private void collecterOnglets() {
generalOnglet.collecter();
personneOnglet.collecter();
}
protected boolean verifierFormulaire() {
/trunk/src/org/tela_botanica/client/vues/CollectionDetailVue.java
1,12 → 1,20
package org.tela_botanica.client.vues;
 
import java.util.Iterator;
 
import org.tela_botanica.client.ComposantClass;
import org.tela_botanica.client.ComposantId;
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Collection;
import org.tela_botanica.client.modeles.CollectionBotanique;
import org.tela_botanica.client.modeles.CollectionAPersonne;
import org.tela_botanica.client.modeles.CollectionAPersonneListe;
import org.tela_botanica.client.modeles.CollectionAPublication;
import org.tela_botanica.client.modeles.CollectionAPublicationListe;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.Personne;
import org.tela_botanica.client.modeles.ProjetListe;
import org.tela_botanica.client.modeles.Publication;
import org.tela_botanica.client.modeles.Structure;
import org.tela_botanica.client.modeles.ValeurListe;
 
23,19 → 31,24
 
public class CollectionDetailVue extends DetailVue implements Rafraichissable {
 
private Collection collection = null;
private boolean collectionChargementOk = false;
private boolean personnesLieesChargementOk = false;
private boolean publicationsLieesChargementOk = false;
private Structure structure = null;
 
private String enteteTpl = null;
private String generalTpl = null;
private String auteurTpl = null;
private String personneTpl = null;
private String tableauPersonnesLieesTpl = null;
private String lignePersonneLieeTpl = null;
private String publicationTpl = null;
private String tableauPublicationsLieesTpl = null;
private String lignePublicationLieeTpl = null;
private String descriptionTpl = null;
private String contenuTpl = null;
private String inventaireTpl = null;
private Collection collection = null;
private boolean collectionChargementOk = false;
private ContentPanel panneauPrincipal = null;
private Html entete = null;
private TabPanel onglets = null;
45,6 → 58,7
private TabItem descriptionOnglet = null;
private TabItem contenuOnglet = null;
private TabItem inventaireOnglet = null;
 
public CollectionDetailVue(Mediateur mediateurCourant) {
super(mediateurCourant);
102,8 → 116,12
private void initialiserTousLesTpl() {
initialiserEnteteHtmlTpl();
initialiserGeneralTpl();
initialiserAuteurTpl();
initialiserPersonneTpl();
initialiserTableauPersonnesLieesTpl();
initialiserLignePersonneLieeTpl();
initialiserPublicationTpl();
initialiserTableauPublicationsLieesTpl();
initialiserLignePublicationLieeTpl();
initialiserContenuTpl();
initialiserDescriptionTpl();
initialiserInventaireTpl();
143,26 → 161,76
"</div>";
}
private void initialiserAuteurTpl() {
auteurTpl =
private void initialiserPersonneTpl() {
personneTpl =
"<div class='{css_corps}'>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_auteur}</h2>"+
" <h2>{i18n_titre_personne}</h2>"+
" {tableau_personnes_liees}"+
" </div>"+
" <hr class='{css_clear}'/>"+
"</div>";
}
private void initialiserTableauPersonnesLieesTpl() {
tableauPersonnesLieesTpl =
"<h3>{i18n_titre_membre}</h3>"+
"<table>"+
" <thead>"+
" <tr>" +
" <th>{i18n_prenom}</th>" +
" <th>{i18n_nom}</th>" +
" </tr>"+
" </thead>"+
" <tbody>"+
" {lignes}"+
" </tbody>"+
"</table>";
}
private void initialiserLignePersonneLieeTpl() {
lignePersonneLieeTpl =
"<tr>"+
" <td>{prenom}</td>"+
" <td>{nom}</td>"+
"</tr>";
}
private void initialiserPublicationTpl() {
publicationTpl =
"<div class='{css_corps}'>"+
" <div class='{css_fieldset}'>"+
" <h2>{i18n_titre_publication}</h2>"+
" {tableau_publications_liees}"+
" </div>"+
" <hr class='{css_clear}'/>"+
"</div>";
}
private void initialiserTableauPublicationsLieesTpl() {
tableauPublicationsLieesTpl =
"<table>"+
" <thead>"+
" <tr>" +
" <th>{i18n_auteur}</th>" +
" <th>{i18n_titre}</th>" +
" </tr>"+
" </thead>"+
" <tbody>"+
" {lignes}"+
" </tbody>"+
"</table>";
}
private void initialiserLignePublicationLieeTpl() {
lignePublicationLieeTpl =
"<tr>"+
" <td>{auteur}</td>"+
" <td>{titre}</td>"+
"</tr>";
}
private void initialiserDescriptionTpl() {
descriptionTpl =
"<div class='{css_corps}'>"+
210,6 → 278,13
} else if (nouvellesDonnees instanceof ValeurListe) {
ValeurListe listeValeursReceptionnee = (ValeurListe) nouvellesDonnees;
receptionerListeValeurs(listeValeursReceptionnee);
} else if (nouvellesDonnees instanceof Information) {
Information info = (Information) nouvellesDonnees;
if (info.getType().equals("liste_collection_a_personne")) {
lierCollectionAPersonne((CollectionAPersonneListe) info.getDonnee(0));
} else if (info.getType().equals("liste_collection_a_publication")) {
lierCollectionAPublication((CollectionAPublicationListe) info.getDonnee(0));
}
} else {
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
}
219,9 → 294,19
}
}
protected void lierCollectionAPersonne(CollectionAPersonneListe personnes) {
collection.setPersonnesLiees(personnes);
personnesLieesChargementOk = true;
}
protected void lierCollectionAPublication(CollectionAPublicationListe publications) {
collection.setPublicationsLiees(publications);
publicationsLieesChargementOk = true;
}
private boolean avoirDonneesChargees() {
boolean ok = false;
if (projetsChargementOk && collectionChargementOk && ontologieChargementOk) {
if (projetsChargementOk && collectionChargementOk && ontologieChargementOk && personnesLieesChargementOk && publicationsLieesChargementOk) {
ok = true;
}
return ok;
231,7 → 316,7
if (collection != null) {
afficherEntete();
afficherIdentification();
afficherAuteur();
afficherPersonne();
afficherPublication();
afficherDescription();
afficherContenu();
303,20 → 388,79
afficherOnglet(generalTpl, generalParams, generalOnglet);
}
private void afficherAuteur() {
Params auteurParams = new Params();
auteurParams.set("i18n_titre_auteur", i18nC.collectionPersonneTitre());
private void afficherPersonne() {
String tableauPersonneHtml = "";
if (collection.getPersonnesLiees().size() > 0) {
tableauPersonneHtml = construireTableauPersonnesLiees();
}
afficherOnglet(auteurTpl, auteurParams, personneOnglet);
Params personneParams = new Params();
personneParams.set("i18n_titre_personne", i18nC.collectionPersonneTitre());
personneParams.set("tableau_personnes_liees", tableauPersonneHtml);
afficherOnglet(personneTpl, personneParams, personneOnglet);
}
private String construireTableauPersonnesLiees() {
Params contenuParams = new Params();
contenuParams.set("i18n_prenom", i18nC.personnePrenom());
contenuParams.set("i18n_nom", i18nC.personneNom());
String lignesPersonnel = "";
Iterator<String> it = collection.getPersonnesLiees().keySet().iterator();
while (it.hasNext()) {
CollectionAPersonne relationCollectionAPersonne = collection.getPersonnesLiees().get(it.next());
Personne personne = relationCollectionAPersonne.getPersonne();
Params ligneParams = new Params();
ligneParams.set("prenom", personne.getPrenom());
ligneParams.set("nom", personne.getNom());
lignesPersonnel += Format.substitute(lignePersonneLieeTpl, ligneParams);
}
contenuParams.set("lignes", lignesPersonnel);
String cHtml = Format.substitute(tableauPersonnesLieesTpl, contenuParams);
return cHtml;
}
private void afficherPublication() {
Params publicationParams = new Params();
publicationParams.set("i18n_titre_publication", i18nC.collectionPublicationTitre());
String tableauPublicationHtml = "";
if (collection.getPersonnesLiees().size() > 0) {
tableauPublicationHtml = construireTableauPublicationsLiees();
}
publicationParams.set("tableau_publications_liees", tableauPublicationHtml);
afficherOnglet(publicationTpl, publicationParams, publicationOnglet);
}
private String construireTableauPublicationsLiees() {
Params contenuParams = new Params();
contenuParams.set("i18n_auteur", i18nC.publicationAuteurs());
contenuParams.set("i18n_titre", i18nC.publicationTitre());
String lignesPublication = "";
Iterator<String> it = collection.getPublicationsLiees().keySet().iterator();
while (it.hasNext()) {
CollectionAPublication relationCollectionAPublication = collection.getPublicationsLiees().get(it.next());
Publication publication = relationCollectionAPublication.getPublication();
Params ligneParams = new Params();
ligneParams.set("auteur", publication.getAuteur());
ligneParams.set("titre", publication.getTitre());
lignesPublication += Format.substitute(lignePublicationLieeTpl, ligneParams);
}
contenuParams.set("lignes", lignesPublication);
String cHtml = Format.substitute(tableauPublicationsLieesTpl, contenuParams);
return cHtml;
}
private void afficherDescription() {
Params descriptionParams = new Params();
descriptionParams.set("i18n_titre_description", i18nC.collectionDescriptionTitre());
/trunk/src/org/tela_botanica/client/vues/CollectionVue.java
4,6 → 4,7
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Collection;
import org.tela_botanica.client.modeles.CollectionListe;
import org.tela_botanica.client.modeles.Information;
 
import com.extjs.gxt.ui.client.Style.LayoutRegion;
import com.extjs.gxt.ui.client.util.Margins;
42,8 → 43,15
} else if (nouvellesDonnees instanceof CollectionListe) {
listeCollectionPanneau.rafraichir(nouvellesDonnees);
mediateur.desactiverChargement();
} else {
GWT.log(mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
} else if (nouvellesDonnees instanceof Information) {
Information info = (Information) nouvellesDonnees;
if (info.getType().equals("liste_collection_a_personne")
|| info.getType().equals("liste_collection_a_publication")
|| info.getType().equals("liste_collection_a_commentaire")) {
detailCollectionPanneau.rafraichir(nouvellesDonnees);
}
}else {
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
}
}
/trunk/src/org/tela_botanica/client/Modele.java
7,6 → 7,8
import org.tela_botanica.client.modeles.Collection;
import org.tela_botanica.client.modeles.CollectionAPersonne;
import org.tela_botanica.client.modeles.CollectionAPersonneAsyncDao;
import org.tela_botanica.client.modeles.CollectionAPublication;
import org.tela_botanica.client.modeles.CollectionAPublicationAsyncDao;
import org.tela_botanica.client.modeles.CollectionAsyncDao;
import org.tela_botanica.client.modeles.Personne;
import org.tela_botanica.client.modeles.PersonneAsyncDao;
164,11 → 166,8
// GESTION de la relation COLLECTION A PERSONNE
public void selectionnerCollectionAPersonne(Rafraichissable vueARafraichir, String collectionId, String roleId) {
// Gestion des données de la table coel_collection_a_personne
if (collectionId != null && roleId != null) {
CollectionAPersonneAsyncDao sapDao = new CollectionAPersonneAsyncDao(vueARafraichir);
sapDao.selectionner(collectionId, roleId);
}
CollectionAPersonneAsyncDao sapDao = new CollectionAPersonneAsyncDao(vueARafraichir);
sapDao.selectionner(collectionId, roleId);
}
public void modifierCollectionAPersonne(Rafraichissable vueARafraichir, CollectionAPersonne collectionAPersonne) {
187,6 → 186,29
}
//+----------------------------------------------------------------------------------------------------------------+
// GESTION de la relation COLLECTION A PUBLICATION
public void selectionnerCollectionAPublication(Rafraichissable vueARafraichir, String collectionId) {
CollectionAPublicationAsyncDao capDao = new CollectionAPublicationAsyncDao(vueARafraichir);
capDao.selectionner(collectionId);
}
public void modifierCollectionAPublication(Rafraichissable vueARafraichir, CollectionAPublication collectionAPublication) {
CollectionAPublicationAsyncDao collectionAPublicationDao = new CollectionAPublicationAsyncDao(vueARafraichir);
collectionAPublicationDao.modifier(collectionAPublication);
}
public void ajouterCollectionAPublication(Rafraichissable vueARafraichir, String collectionId, CollectionAPublication collectionAPublication) {
CollectionAPublicationAsyncDao collectionAPublicationDao = new CollectionAPublicationAsyncDao(vueARafraichir);
collectionAPublicationDao.ajouter(collectionId, collectionAPublication);
}
public void supprimerCollectionAPublication(Rafraichissable vueARafraichir, String collectionAPublicationId) {
CollectionAPublicationAsyncDao collectionAPublicationDao = new CollectionAPublicationAsyncDao(vueARafraichir);
collectionAPublicationDao.supprimer(collectionAPublicationId);
}
//+----------------------------------------------------------------------------------------------------------------+
// GESTION DES PERSONNES
//+----------------------------------------------------------------------------------------------------------------+
/trunk/src/org/tela_botanica/client/modeles/aDonnee.java
31,6 → 31,7
public static final String SEPARATEUR_VALEURS = ";;";
public static final String SEPARATEUR_DONNEES = "||";
public static final String ETAT_AJOUTE = "A";
public static final Object ETAT_MODIFIE = "M";
protected abstract String getPrefixe();
/trunk/src/org/tela_botanica/client/modeles/CollectionAPublication.java
New file
0,0 → 1,85
package org.tela_botanica.client.modeles;
 
import com.google.gwt.json.client.JSONObject;
 
public class CollectionAPublication extends aDonnee {
private static final long serialVersionUID = 1L;
public static final String PREFIXE = "ccapu";
private Publication publicationLiee = null;
public CollectionAPublication() {
initialiser(new JSONObject());
}
public CollectionAPublication(JSONObject collectionAPublicationListe) {
initialiser(collectionAPublicationListe);
}
@Override
protected String getPrefixe() {
return PREFIXE;
}
private void initialiser(JSONObject collectionAPublicationListe) {
setPublication(new Publication(collectionAPublicationListe));
initialiserChampsPourGrille();
initialiserModele(collectionAPublicationListe);
}
// PUBLICATION
public Publication getPublication() {
return publicationLiee;
}
public void setPublication(Publication publication) {
publicationLiee = publication;
initialiserChampsPourGrille();
}
private void initialiserChampsPourGrille() {
set("fmt_auteur", getPublication().getAuteur());
set("titre", getPublication().getTitre());
set("collection", getPublication().getCollection());
set("indication_nvt", getPublication().getIndicationNvt());
set("fascicule", getPublication().getFascicule());
set("truk_pages", getPublication().getPages());
}
// ID
/** Génère un identifiant de CollectionAPersonne.
*
* C'est une concaténation des clés primaires de la table coel_collection_a_personne séparées par un tiret "-".
*
* @return identifiant unique d'une relation "collection à personne".
*/
public String getId() {
String idCollection = getIdCollection();
String idPublication = getIdPublication();
if (idCollection.equals("") && idPublication.equals("")) {
return null;
} else {
return (idCollection+"-"+idPublication);
}
}
//+---------------------------------------------------------------------------------------------------------------+
// CHAMPS PROVENANT de la TABLE COEL_COLLECTION_A_PERSONNE
// ID COLLECTION
public String getIdCollection() {
return renvoyerValeurCorrecte("id_collection");
}
public void setIdCollection(String idCollection) {
set("id_collection", idCollection);
}
// ID PUBLICATION
public String getIdPublication() {
return renvoyerValeurCorrecte("id_publication");
}
public void setIdPublication(String ip) {
set("id_publication", ip);
}
}
/trunk/src/org/tela_botanica/client/modeles/CollectionAPublicationListe.java
New file
0,0 → 1,39
package org.tela_botanica.client.modeles;
 
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONObject;
 
/**
* Table de hachage composée d'informations sur les Structures et les Personnes, renvoyé par un objet de type DAO
* La clé est une concaténation des clés primaires de la table coel_structure_a_personne séparées par un tiret "-".
*
* @author david delon
*
*/
public class CollectionAPublicationListe extends aDonneeListe<CollectionAPublication> {
 
private static final long serialVersionUID = 1L;
 
public CollectionAPublicationListe() {
super();
}
public CollectionAPublicationListe(int taille) {
super(taille);
}
public CollectionAPublicationListe(JSONArray publications) {
super(publications.size()) ;
final int taillemax = publications.size();
for (int i = 0; i < taillemax; i++) {
JSONObject collectionAPublicationCourante = publications.get(i).isObject() ;
if (collectionAPublicationCourante != null) {
CollectionAPublication collectionAPublication = new CollectionAPublication(collectionAPublicationCourante);
this.put(collectionAPublication.getId(), collectionAPublication);
}
}
}
}
/trunk/src/org/tela_botanica/client/modeles/CollectionAPersonne.java
24,8 → 24,8
private void initialiser(JSONObject collectionAPersonneListe) {
setPersonne(new Personne(collectionAPersonneListe));
initialiserModele(collectionAPersonneListe);
initialiserChampsPourGrille();
initialiserModele(collectionAPersonneListe);
}
// PERSONNE
38,14 → 38,16
}
private void initialiserChampsPourGrille() {
set("_role_", getIdRole());
set("fmt_nom_complet", getPersonne().getNomComplet());
set("nom", getPersonne().getNom());
set("prenom", getPersonne().getPrenom());
set("naissance_date", getPersonne().getNaissanceDate());
set("naissance_lieu", getPersonne().getNaissanceLieu());
set("ce_deces", getPersonne().getDeces());
set("_deces_", getPersonne().getDeces());
set("deces_date", getPersonne().getDecesDate());
set("deces_lieu", getPersonne().getDecesLieu());
set("_etat_", "");
}
// ID
92,5 → 94,5
public void setIdRole(String ir) {
set("id_role", ir);
}
}
/trunk/src/org/tela_botanica/client/modeles/CollectionAPublicationAsyncDao.java
New file
0,0 → 1,122
package org.tela_botanica.client.modeles;
 
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.RegistreId;
import org.tela_botanica.client.http.JsonRestRequestBuilder;
import org.tela_botanica.client.http.JsonRestRequestCallback;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilDAO;
 
import com.extjs.gxt.ui.client.Registry;
import com.google.gwt.core.client.GWT;
import com.google.gwt.http.client.URL;
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONValue;
 
public class CollectionAPublicationAsyncDao {
private static final String SERVICE_NOM = "CoelCollectionAPublication";
 
private String utilisateurId = null;
private Rafraichissable vueARafraichir = null;
 
public CollectionAPublicationAsyncDao(Rafraichissable vueARafraichirCourrante) {
vueARafraichir = vueARafraichirCourrante;
utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId();
}
public void selectionner(final String collectionId) {
String[] parametres = {collectionId};
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
Debug.log(rb.getUrl());
rb.envoyerRequete(null, new JsonRestRequestCallback() {
@Override
public void surReponse(JSONValue responseValue) {
Information info = new Information("liste_collection_a_publication");
if (responseValue != null) {
// 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 ListeInstitution
CollectionAPublicationListe publications = new CollectionAPublicationListe(reponse);
info.setDonnee(0, publications);
// et on met à jour le demandeur des données
vueARafraichir.rafraichir(info);
} else {
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un talbeau JSON et vaut : "+responseValue.toString(), null);
}
} else {
if (collectionId == null) {
// Dans le cas, où nous demandons toutes les relations Collection à Publication et qu'il n'y en a pas, nous retournons un message d'information
info.setMessage("Aucune relations entre la collection et les publications");
vueARafraichir.rafraichir(info);
}
}
}
});
}
 
public void ajouter(String collectionId, CollectionAPublication publications) {
String postDonneesEncodees = construirePost(collectionId, publications);
final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM);
rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
@Override
public void surReponse(JSONValue responseValue) {
// Si la requête est un succès, reception d'une chaine
if (responseValue.isString() != null) {
Information info = new Information("ajout_collection_a_publication");
info.setMessage(responseValue.isString().stringValue());
vueARafraichir.rafraichir(info);
} else {
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas une chaine JSON.", null);
}
}
});
}
public void modifier(CollectionAPublication publications) {
String[] parametres = {publications.getIdCollection(), publications.getIdPublication()};
final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
String postDonneesEncodees = construirePost(publications.getIdCollection(), publications);
rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
@Override
public void surReponse(JSONValue responseValue) {
Information info = new Information("modif_collection_a_publication");
// Si la requête est un succès, reception d'une chaine
if (responseValue.isString() != null) {
info.setMessage(responseValue.isString().stringValue());
vueARafraichir.rafraichir(info);
} else {
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas une chaine JSON.", null);
}
}
});
}
public void supprimer(String idCollectionAPublication) {
String[] parametres = {utilisateurId, idCollectionAPublication};
final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
rb.envoyerRequeteSuppression(new JsonRestRequestCallback() {
@Override
public void surReponse(JSONValue responseValue) {
if (responseValue.isString() != null) {
Information info = new Information("suppression_collection_a_publication");
info.setMessage(responseValue.isString().stringValue());
vueARafraichir.rafraichir(info);
} else {
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas une chaine JSON.", null);
}
}
});
}
private String construirePost(String collectionId, CollectionAPublication publication) {
String postDonnees = "cmhl_ce_modifier_par=" + URL.encodeComponent(utilisateurId) +
"&ccapu_id_collection=" + URL.encodeComponent(collectionId) +
"&ccapu_id_publication=" + URL.encodeComponent(publication.getIdPublication());
return postDonnees;
}
}
/trunk/src/org/tela_botanica/client/modeles/CollectionAPersonneAsyncDao.java
5,6 → 5,7
import org.tela_botanica.client.http.JsonRestRequestBuilder;
import org.tela_botanica.client.http.JsonRestRequestCallback;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilDAO;
 
import com.extjs.gxt.ui.client.Registry;
28,6 → 29,7
String[] parametres = {collectionId, roleId};
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres);
Debug.log(rb.getUrl());
rb.envoyerRequete(null, new JsonRestRequestCallback() {
@Override
public void surReponse(JSONValue responseValue) {
78,7 → 80,7
final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
String postDonneesEncodees = construirePost(personnes.getIdCollection(), personnes);
Debug.log(rb.getUrl());
rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
@Override
public void surReponse(JSONValue responseValue) {
/trunk/src/org/tela_botanica/client/modeles/Collection.java
8,6 → 8,8
public static final String PREFIXE = "cc";
private CollectionBotanique botanique = null;
private CollectionAPersonneListe personnesLiees = null;
private CollectionAPublicationListe publicationsLiees = null;
public Collection() {
}
29,6 → 31,22
botanique = botaniqueAStocker;
}
// PERSONNES LIÉES
public CollectionAPersonneListe getPersonnesLiees() {
return personnesLiees;
}
public void setPersonnesLiees(CollectionAPersonneListe relationsCollectionAPersonne) {
personnesLiees = relationsCollectionAPersonne;
}
// PUBLICATIONS LIÉES
public CollectionAPublicationListe getPublicationsLiees() {
return publicationsLiees;
}
public void setPublicationsLiees(CollectionAPublicationListe relationsCollectionAPublication) {
publicationsLiees = relationsCollectionAPublication;
}
// ID
public String getId() {
return renvoyerValeurCorrecte("id_collection");
374,5 → 392,5
// STRUCTURE VILLE
public String getStructureVille() {
return renvoyerValeurCorrecte("structure_ville");
}
}
}
}