Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1013 → Rev 1014

/trunk/src/org/tela_botanica/client/Mediateur.java
15,6 → 15,7
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.MenuApplicationId;
import org.tela_botanica.client.modeles.Utilisateur;
import org.tela_botanica.client.modeles.Valeur;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.collection.Collection;
import org.tela_botanica.client.modeles.collection.CollectionACommentaire;
1077,6 → 1078,18
modele.selectionPublicationAPersonne(vueARafraichir, publicationId, personnesId, roleId);
}
public void selectionnerPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, String personnesId, List roleId) {
String roleIds = "";
Iterator<Valeur> itRole = roleId.iterator();
while (itRole.hasNext()) {
roleIds+= itRole.next().getId();
if (itRole.hasNext()) {
roleIds+=",";
}
}
modele.selectionPublicationAPersonne(vueARafraichir, publicationId, personnesId, roleIds);
}
public void ajouterPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, PublicationAPersonneListe personnesAjoutees, String roleId) {
if (personnesAjoutees != null && personnesAjoutees.size() > 0) {
String idPublicationAPersonneSepareParVirgule = "" ;
1107,13 → 1120,17
public void ajouterPublicationAPersonne(Rafraichissable vueARafraichir, PublicationAPersonneListe listePublications, String personneId, String roleId) {
if (listePublications!=null && listePublications.size()>0) {
String idsPubli = "";
String rolesIds = "";
for (Iterator<String> it = listePublications.keySet().iterator(); it.hasNext();) {
idsPubli += listePublications.get(it.next()).getId();
PublicationAPersonne publi = listePublications.get(it.next());
idsPubli += publi.getId();
rolesIds += publi.getRole();
if (it.hasNext()) {
idsPubli += ",";
rolesIds += ",";
}
}
modele.ajouterPublicationAPersonne(vueARafraichir, idsPubli, personneId, roleId);
modele.ajouterPublicationAPersonne(vueARafraichir, idsPubli, personneId, rolesIds);
}
}
/trunk/src/org/tela_botanica/client/vues/personne/PersonneFormPublication.java
1,6 → 1,8
package org.tela_botanica.client.vues.personne;
 
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
 
import org.tela_botanica.client.ComposantClass;
11,7 → 13,6
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.modeles.collection.CollectionAPersonne;
import org.tela_botanica.client.modeles.personne.Personne;
import org.tela_botanica.client.modeles.publication.Publication;
import org.tela_botanica.client.modeles.publication.PublicationAPersonne;
18,6 → 19,7
import org.tela_botanica.client.modeles.publication.PublicationAPersonneListe;
import org.tela_botanica.client.modeles.publication.PublicationListe;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilString;
import org.tela_botanica.client.vues.FenetreForm;
import org.tela_botanica.client.vues.Formulaire;
import org.tela_botanica.client.vues.FormulaireBarreValidation;
73,6 → 75,8
private Button publicationsBoutonSupprimer = null;
private Button publicationsBoutonModifier = null;
private ComboBox<Valeur> typeRelationCombo = null;
private List<Valeur> roles = null;
private PublicationAPersonneListe listePublicationsLiees = new PublicationAPersonneListe();
private FenetreForm fenetreFormulaire = null;
87,7 → 91,6
panneauPrincipal.setTopComponent(barreOutils);
grille = creerGrille();
panneauPrincipal.add(grille);
mediateur.obtenirListeValeurEtRafraichir(this, "relationPersonnePublication");
add(panneauPrincipal);
initialiser();
101,11 → 104,14
// Actualisation de l'état des boutons de la barre d'outils
actualiserEtatBoutonsBarreOutils();
mettreAJourPersonne();
}
public void mettreAJourPersonne() {
personneSelectionnee = ((PersonneForm) formulaire).personneSelectionnee;
//Boucle sur les role pour trouver les publication à personne
if (roles != null) {
mediateur.selectionnerPublicationAPersonne(this, null, personneSelectionnee.getId(), roles);
}
}
private ContentPanel creerPanneauContenantGrille() {
309,30 → 315,34
private void ajouterDansGrille(Publication publication, int index) {
if (publication != null) {
/*CollectionAPublication publicationLiee = new CollectionAPublication();
publicationLiee.setPublication(publication);
publicationLiee.setIdPublication(publication.getId());
// Gestion de l'id de la collection
if (mode.equals(Formulaire.MODE_MODIFIER)) {
publicationLiee.setIdCollection(collection.getId());
if (!listePublicationsLiees.containsKey(publication.getId())) {
PublicationAPersonne publicationLiee = new PublicationAPersonne();
publicationLiee.setPersonne(personneSelectionnee);
publicationLiee.setPublicationLiee(publication);
publicationLiee.setIdPublication(publication.getId());
publicationLiee.set("_etat_", aDonnee.ETAT_AJOUTE);
listePublicationsLiees.put(publication.getId(), publicationLiee);
 
// Ajout à la grille
grille.stopEditing();
grille.getStore().insert(publicationLiee, 0);
grille.startEditing(index, 0);
grille.getSelectionModel().select(index, false);
} else {
Info.display("Information", "La publication choisie existe déjà dans la liste.");
}
*/
PublicationAPersonne publicationLiee = new PublicationAPersonne();
publicationLiee.setPersonne(personneSelectionnee);
publicationLiee.setPublicationLiee(publication);
publicationLiee.setIdPublication(publication.getId());
publicationLiee.set("_etat_", aDonnee.ETAT_AJOUTE);
// Ajout à la grille
grille.stopEditing();
grille.getStore().insert(publicationLiee, 0);
grille.startEditing(index, 0);
grille.getSelectionModel().select(index, false);
}
}
/**
* Met à jour la grille avec les informations contenus dans la variable listePublicationsLiees
*/
private void mettreAJourGrille() {
grille.getStore().removeAll();
grille.getStore().add(listePublicationsLiees.toList());
}
private void supprimerDansGrille(PublicationAPersonne publicationLiee) {
if (publicationLiee != null) {
// Ajout de la personne supprimée à la liste
424,12 → 434,14
public String render(PublicationAPersonne modele, String property, ColumnData config, int rowIndex, int colIndex, ListStore<PublicationAPersonne> store, Grid<PublicationAPersonne> grille) {
// Gestion du texte afficher dans la cellule
String role = modele.get("_role_");
if (typeRelationCombo.getStore() != null && role.matches("[0-9]+")) {
String roleNom = "";
if (typeRelationCombo.getStore() != null && role!=null && role.matches("[0-9]+")) {
roleNom = typeRelationCombo.getStore().findModel("id_valeur", role).getNom();
role = typeRelationCombo.getStore().findModel("id_valeur", role).getId();
}
modele.set("_role_", role);
return role;
modele.set("_etat_", aDonnee.ETAT_MODIFIE);
return roleNom;
}
};
437,6 → 449,7
ColumnConfig typeRelationColonne = new ColumnConfig("_role_", i18nC.typeRelationPersonneCollection(), 75);
typeRelationColonne.setEditor(editeurRelation);
typeRelationColonne.setRenderer(relationRendu);
colonnes.add(typeRelationColonne);
colonnes.add(new ColumnConfig("fmt_auteur", i18nC.publicationAuteurs(), 150));
513,13 → 526,27
Information info = (Information) nouvellesDonnees;
rafraichirInformation(info);
} else if (nouvellesDonnees instanceof ValeurListe) {
ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
if (listeValeurs.getId().equals(config.getListeId("relationPersonnePublication"))) {
Formulaire.rafraichirComboBox(listeValeurs, typeRelationCombo);
roles = listeValeurs.toList();
mettreAJourPersonne();
}
} else if (nouvellesDonnees instanceof PublicationListe) {
PublicationListe listePublications = (PublicationListe) nouvellesDonnees;
rafraichirPublicationListe(listePublications);
} else if (nouvellesDonnees instanceof PublicationAPersonneListe) {
PublicationAPersonneListe papl = (PublicationAPersonneListe) nouvellesDonnees;
List<PublicationAPersonne> paplListe = papl.toList();
if (paplListe.size()>0){
Iterator<PublicationAPersonne> it = paplListe.iterator();
while (it.hasNext()) {
PublicationAPersonne pap = it.next();
listePublicationsLiees.put(pap.getPublicationLiee().getId(), pap);
}
mettreAJourGrille();
}
} else {
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
}
581,11 → 608,11
if (publicationLiee.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
publicationsSupprimees.put("id"+idGenere++, publicationLiee);
PublicationAPersonne relationAAjouter = (PublicationAPersonne) publicationLiee.cloner(new PublicationAPersonne());
publicationsAjoutees.put("id"+idGenere++, relationAAjouter);
Debug.log(publicationLiee.toString());
}
if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_AJOUTE)) {
publicationsAjoutees.put("id"+idGenere++, publicationLiee);
Debug.log(publicationLiee.toString());
592,6 → 619,7
}
// Initialisation de la grille
publicationLiee.set("_etat_", "");
}
}
grille.getStore().commitChanges();
598,6 → 626,21
}
}
public List verifier() {
List lstMessageErreur = new LinkedList<String>();
//Vérifier les roles
List<PublicationAPersonne> listePublis = grille.getStore().getModels();
Iterator<PublicationAPersonne> itPublis = listePublis.iterator();
while (itPublis.hasNext()) {
PublicationAPersonne publi = itPublis.next();
if (UtilString.isEmpty((String) publi.get("_role_"))) {
lstMessageErreur.add("Vous devez choisir le rôle de la relation " + grille.getStore().indexOf(publi));
}
}
return lstMessageErreur;
}
public void soumettre() {
if (mode.equals(Formulaire.MODE_MODIFIER)) {
if (publicationsAjoutees.size() == 0 && publicationsSupprimees.size() == 0) {
/trunk/src/org/tela_botanica/client/vues/personne/PersonneForm.java
118,10 → 118,11
public PersonneForm(Mediateur mediateurCourrant, String personneId, Rafraichissable vueARafraichirApresValidation) {
vueExterneARafraichirApresValidation = vueARafraichirApresValidation;
initialiserPersonneForm(mediateurCourrant, personneId);
initialiserPersonneForm(mediateurCourrant, personneId);
}
private void initialiserPersonneForm(Mediateur mediateurCourrant, String personneIdCourrant) {
personne = new Personne();
personne.setId(personneIdCourrant);
personneId = personneIdCourrant;
132,9 → 133,9
initialiserComposants();
genererTitreFormulaire();
mediateur.obtenirListeValeurEtRafraichir(this, "relationPersonnePublication");
if (modeDeCreation.equals(Formulaire.MODE_MODIFIER)) {
mediateur.selectionnerPersonne(this, personne, null);
mediateurCourrant.selectionnerPublicationAPersonne(this, null, personne.getId(), PublicationAPersonne.ROLE_SUJET);
}
}
768,6 → 769,7
info.setDonnee(0, (PublicationAPersonneListe) nouvellesDonnees);
tiPubli.rafraichir(info);
} else if (nouvellesDonnees instanceof ValeurListe) {
ValeurListe listeValeurs = (ValeurListe) nouvellesDonnees;
// Créer une liste de valeurs
775,9 → 777,9
for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) {
liste.add(listeValeurs.get(it.next()));
}
if (listeValeurs.getId().equals(config.getListeId("prefixe"))) {
if (listeValeurs.getId().equals(config.getListeId("relationPersonnePublication"))) {
tiPubli.rafraichir(nouvellesDonnees);
} else if (listeValeurs.getId().equals(config.getListeId("prefixe"))) {
remplirCombobox("cbPrefixe", liste, "hmIdentite");
} else if (listeValeurs.getId().equals(config.getListeId("suffixes"))) {
remplirCombobox("cbSuffixe", liste, "hmIdentite");
1105,8 → 1107,8
}
 
public boolean soumettreFormulaire() {
tiPubli.collecter();
if (verifierFormulaire()) {
tiPubli.collecter();
tiPubli.soumettre();
mediateur.enregistrerPersonne(this, personneSelectionnee);
}
1215,6 → 1217,7
String specialite = ((ChampMultiValeurs) hmInfosNat.get("specialite")).getValeurs();
personneSelectionnee.set("ce_truk_specialite", specialite);
lstMessageErreur.addAll(tiPubli.verifier());
if (lstMessageErreur.size() != 0) {
String strMessagesErreur = "<span><br />";
/trunk/src/org/tela_botanica/client/modeles/publication/PublicationAPersonne.java
28,7 → 28,6
personneLiee = new Personne(pubAPersListe);
publicationLiee = new Publication(pubAPersListe);
System.out.println("publication liee : " + publicationLiee);
// l'objet JSON est une table de hachage
Set<String> im = pubAPersListe.keySet();
 
62,7 → 61,7
set("fascicule", publicationLiee.getFascicule());
set("truk_pages", publicationLiee.getPages());
set("_etat_", "");
set("_role_", "");
set("_role_", this.get("id_role"));
}
/trunk/src/org/tela_botanica/client/modeles/publication/PublicationAPersonneAsyncDao.java
62,7 → 62,6
+"&cpuap_id_auteur="+URL.encodeComponent(personnesId)
+"&cpuap_id_role="+URL.encodeComponent(roleId)
+"&cmhl_ce_modifier_par="+utilisateurId;
final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM);
rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
@Override
/trunk/src/org/tela_botanica/client/modeles/publication/Publication.java
93,7 → 93,6
}
 
public String getAnneeParution() {
System.out.println(renvoyerValeurCorrecte("date_parution"));
return renvoyerValeurCorrecte("date_parution").substring(0, 4);
}
public String getDateParution() {