/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/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/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/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/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/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/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/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"); |
} |
} |
} |
} |
/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/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/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/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/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/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/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() { |