Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1763 → Rev 1764

/trunk/src/org/tela_botanica/client/modeles/projet/ProjetAsyncDao.java
File deleted
/trunk/src/org/tela_botanica/client/modeles/projet/ProjetVersion.java
File deleted
/trunk/src/org/tela_botanica/client/modeles/projet/Projet.java
File deleted
/trunk/src/org/tela_botanica/client/modeles/projet/ProjetListe.java
File deleted
/trunk/src/org/tela_botanica/client/modeles/MenuApplicationId.java
3,7 → 3,6
public class MenuApplicationId {
public static final String ACCUEIL = "Accueil";
public static final String PROJET = "Projets";
public static final String STRUCTURE = "Structures";
public static final String COLLECTION = "Collections";
public static final String PERSONNE = "Personnes";
/trunk/src/org/tela_botanica/client/modeles/personne/Personne.java
140,11 → 140,6
else this.set(PREFIXE+"_id_personne", personneId);
}
// ID PROJET
public String getIdProjet() {
return renvoyerValeurCorrecte("ce_projet");
}
// NOM COMPLET
public String getNomComplet() {
return renvoyerValeurCorrecte("fmt_nom_complet");
/trunk/src/org/tela_botanica/client/modeles/personne/PersonneListe.java
11,6 → 11,7
import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONNumber;
import com.google.gwt.json.client.JSONObject;
import com.google.gwt.user.client.Window;
 
/**
* Classe contenant les informations sur les Personnes renvoyées par un objet de type DAO.
125,7 → 126,10
 
public void selectionnerPersonne() {
Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
mediateur.selectionnerPersonne(vueARafraichir, null, mediateur.getProjetId(), currentPage, nbElementsPage, null);
// Utilisation d'une valeur nulle "typée" pour éviter un ambiguité sur l'appel de méthode et donc
// une erreur
Personne personne = new Personne();
mediateur.selectionnerPersonne(vueARafraichir, personne, currentPage, nbElementsPage, null);
}
 
public void filtrerParNom(String nom) {
132,7 → 136,7
Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
Personne personne = new Personne();
personne.setNom("%" + nom + "%");
mediateur.selectionnerPersonne(vueARafraichir, personne, mediateur.getProjetId(), currentPage, nbElementsPage, null);
mediateur.selectionnerPersonne(vueARafraichir, personne, currentPage, nbElementsPage, null);
}
 
public void filtrerParNomEtPage(String nom, int pageCourante) {
/trunk/src/org/tela_botanica/client/modeles/personne/PersonneAsyncDao.java
41,10 → 41,10
* est renvoyé à l'appelant
* // FIXME : si la taille de la liste est supérieure à la limite du JREST (150), ce deuxieme mode ne fonctionne pas
*/
public void selectionner(final boolean paginationProgressive, String personneId, String projetId, String nomComplet, final int start, final int nbElements, final Integer seqId) {
public void selectionner(final boolean paginationProgressive, String personneId, String nomComplet, final int start, final int nbElements, final Integer seqId) {
 
String nom = (nomComplet == null) ? "%" : "%"+nomComplet+"%";
String[] parametres = {personneId, projetId, nom};
String[] parametres = {personneId, nom};
HashMap<String, String> restrictions = new HashMap<String, String>();
58,7 → 58,7
/** GESTION DE LA REQUETE dans le cas d'une liste paginée progressive **/
if (paginationProgressive) {
 
/** DEFINITION DU TUPLE DE DEPART **/
restrictions.put("start", String.valueOf(start));
/trunk/src/org/tela_botanica/client/modeles/collection/Collection.java
106,14 → 106,6
this.set("id_collection", idCollection);
}
// CE PROJET
public String getIdProjet() {
return renvoyerValeurCorrecte("ce_projet");
}
public void setIdProjet(String idProjet) {
this.set("ce_projet", idProjet);
}
// COLLECTION MERE ID
public String getCollectionMereId() {
return renvoyerValeurCorrecte("ce_mere");
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionListe.java
125,6 → 125,6
public void filtrerParNomEtPage(String nom, int pageCourante) {
currentPage = pageCourante;
Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
mediateur.selectionnerCollection(vueARafraichir, mediateur.getProjetId(), "%" + nom + "%", currentPage, nbElementsPage, null);
mediateur.selectionnerCollection(vueARafraichir, null, "%" + nom + "%", currentPage, nbElementsPage, null);
}
}
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionAsyncDao.java
8,7 → 8,6
import org.tela_botanica.client.http.JsonRestRequestCallback;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.projet.ProjetListe;
import org.tela_botanica.client.synchronisation.Reponse;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilDAO;
44,11 → 43,11
* est renvoyé à l'appelant
* // FIXME : si la taille de la liste est supérieure à la limite du JREST (150), ce deuxieme mode ne fonctionne pas
*/
public void selectionner(final boolean paginationProgressive, final String projetId, final String collectionId, final String nomCollection, final int start, final int nbElements, final Integer seqId) {
public void selectionner(final boolean paginationProgressive, final String collectionId, final String nomCollection, final int start, final int nbElements, final Integer seqId) {
 
// Ajout des paramètres et données à selectionner dans l'URL
String nom = (nomCollection == null) ? "%" : nomCollection+"%";
String[] parametres = {projetId, collectionId, nom};
String[] parametres = {collectionId, nom};
HashMap<String, String> restrictions = new HashMap<String, String>();
/trunk/src/org/tela_botanica/client/modeles/structure/StructureAPersonneAsyncDao.java
197,7 → 197,6
"&csap_ce_truk_statut=" + URL.encodeComponent(personnel.getStatut()) +
"&csap_mark_contact=" + URL.encodeComponent(personnel.getContact()) +
"&csap_bota_travail_hebdo_tps=" + URL.encodeComponent(personnel.getBotaTravailHebdoTps()) +
"&cp_ce_projet=" + URL.encodeComponent(personnel.getIdProjetPersonne()) +
"&cp_prenom=" + URL.encodeComponent(personnel.getPrenom()) +
"&cp_nom=" + URL.encodeComponent(personnel.getNom()) +
"&cp_fmt_nom_complet=" + URL.encodeComponent(personnel.getNomComplet()) +
/trunk/src/org/tela_botanica/client/modeles/structure/Structure.java
92,13 → 92,6
this.set("id_structure", idStructure);
}
public String getIdProjet() {
return renvoyerValeurCorrecte("ce_projet");
}
public void setIdProjet(String idProjet) {
this.set("ce_projet", idProjet);
}
public String getIdMere() {
return renvoyerValeurCorrecte("ce_mere");
}
159,13 → 152,6
this.set("ce_truk_type_public", typePublic);
}
public String getAbreviationProjet() {
return renvoyerValeurCorrecte("_abreviationprojet_");
}
public void setAbreviationProjet(String abreviation) {
this.set("_abreviationprojet_", abreviation);
}
public String getAdresse() {
return (String) renvoyerValeurCorrecte("adresse_01");
}
/trunk/src/org/tela_botanica/client/modeles/structure/StructureListe.java
116,12 → 116,12
public void selectionnerStructure() {
Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
mediateur.selectionnerStructure(vueARafraichir, null, mediateur.getProjetId(), null, currentPage, nbElementsPage, null, true);
mediateur.selectionnerStructure(vueARafraichir, null, null, currentPage, nbElementsPage, null, true);
}
public void filtrerParNom(String nom) {
Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
mediateur.selectionnerStructure(vueARafraichir, mediateur.getProjetId(), null, "%" + nom + "%", 0, nbElementsPage, null, true);
mediateur.selectionnerStructure(vueARafraichir, null, "%" + nom + "%", 0, nbElementsPage, null, true);
}
 
128,6 → 128,6
public void filtrerParNomEtPage(String nom, int pageCourante) {
currentPage = pageCourante;
Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
mediateur.selectionnerStructure(vueARafraichir, mediateur.getProjetId(), null, "%" + nom + "%", currentPage, nbElementsPage, null, true);
mediateur.selectionnerStructure(vueARafraichir, null, "%" + nom + "%", currentPage, nbElementsPage, null, true);
}
}
/trunk/src/org/tela_botanica/client/modeles/structure/StructureAsyncDao.java
9,7 → 9,6
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.personne.PersonneListe;
import org.tela_botanica.client.modeles.projet.ProjetListe;
import org.tela_botanica.client.synchronisation.Reponse;
import org.tela_botanica.client.util.UtilDAO;
 
43,8 → 42,8
* est renvoyé à l'appelant
* // FIXME : si la taille de la liste est supérieure à la limite du JREST (150), ce deuxieme mode ne fonctionne pas
*/
public void selectionner(final boolean paginationProgressive, final String projetId, final String structureId, final String nomStructure, final String formatRetour, final int start, final int nbElements, final Integer seqId, final boolean searchCity) {
String[] parametres = {projetId, structureId, nomStructure};
public void selectionner(final boolean paginationProgressive, final String structureId, final String nomStructure, final String formatRetour, final int start, final int nbElements, final Integer seqId, final boolean searchCity) {
String[] parametres = {structureId, nomStructure};
 
HashMap<String, String> restrictions = new HashMap<String, String>();
 
245,9 → 244,7
postDonnees += "&cs_id_structure=" + URL.encodeComponent(structureId);
}
postDonnees += "&cpr_abreviation=" + URL.encodeComponent(str.getAbreviationProjet());
postDonnees += "&cs_ce_projet=" + URL.encodeComponent(str.getIdProjet()) +
"&cs_ce_mere=" + URL.encodeComponent(str.getIdMere()) +
postDonnees += "&cs_ce_mere=" + URL.encodeComponent(str.getIdMere()) +
"&cs_guid=" + URL.encodeComponent(str.getGuid()) +
"&cs_truk_identifiant_alternatif=" + URL.encodeComponent(str.getIdAlternatif()) +
"&cs_nom=" + URL.encodeComponent(str.getNom()) +
/trunk/src/org/tela_botanica/client/modeles/structure/StructureAPersonne.java
264,14 → 264,6
//+---------------------------------------------------------------------------------------------------------------+
// CHAMPS PROVENANT de la TABLE COEL_PERSONNE
// ID PROJET PERSONNE
public String getIdProjetPersonne() {
return renvoyerValeurCorrecte("ce_projet");
}
public void setIdProjetPersonne(String ipp) {
set("ce_projet", ipp);
}
// PRÉNOM
public String getPrenom() {
return renvoyerValeurCorrecte("prenom");
/trunk/src/org/tela_botanica/client/modeles/ValeurListeAsyncDao.java
84,6 → 84,8
* @param 'pagination' est un booléen qui définit si la requête doit être paginée ou non.
* @param 'recherche' est une chaîne de caractères représentant tout ou partie du nom d'un projet.
* Si la chaîne est vide, alors tous les projets sont recherchés.
* (la notion de projet a été supprimée)
* //TODO: pertinence de ce paramètre
* @param 'start' et 'limit' sont les paramètres indispensables à la pagination. 'start'
* est le paramètre qui décrit le numéro du tuple de départ et 'limit' le nombre
* d'éléments à collecter.
/trunk/src/org/tela_botanica/client/modeles/commentaire/Commentaire.java
106,13 → 106,6
this.set("id_commentaire", idCommentaire);
}
public String getIdProjet() {
return renvoyerValeurCorrecte("ce_projet");
}
public void setIdProjet(String idProjet) {
this.set("ce_projet", idProjet);
}
public String getCommentairePereId() {
return renvoyerValeurCorrecte("ce_pere");
}
/trunk/src/org/tela_botanica/client/modeles/commentaire/CommentaireAsyncDao.java
40,11 → 40,11
* est renvoyé à l'appelant
* // FIXME : si la taille de la liste est supérieure à la limite du JREST (150), ce deuxieme mode ne fonctionne pas
*/
public void selectionner(final boolean paginationProgressive, final String commentaireId, final String projetId, final String titre, final int start, final int nbElements, final Integer seqId) {
public void selectionner(final boolean paginationProgressive, final String commentaireId, final String titre, final int start, final int nbElements, final Integer seqId) {
 
// Ajout des paramètres et données à selectionner dans l'URL
String nom = (titre == null) ? "%" : titre+"%";
String[] parametres = {projetId, commentaireId, nom};
String[] parametres = {commentaireId, nom};
HashMap<String, String> restrictions = new HashMap<String, String>();
/trunk/src/org/tela_botanica/client/modeles/publication/Publication.java
109,13 → 109,6
setValeurCorrecte("id_publication", idPublication);
}
public String getIdProjet() {
return renvoyerValeurCorrecte("ce_projet");
}
public void setIdProjet(String idProjet) {
setValeurCorrecte("ce_projet", idProjet);
}
public String getNomComplet() {
return renvoyerValeurCorrecte("fmt_nom_complet");
}
/trunk/src/org/tela_botanica/client/modeles/publication/PublicationListe.java
113,17 → 113,17
public void selectionnerPublication() {
Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
mediateur.selectionnerPublication(vueARafraichir, mediateur.getProjetId(), null, null, currentPage, nbElementsPage, null);
mediateur.selectionnerPublication(vueARafraichir, null, null, currentPage, nbElementsPage, null);
}
public void filtrerParNom(String nom) {
Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
mediateur.selectionnerPublicationParNomComplet(vueARafraichir, mediateur.getProjetId(), "%" + nom + "%");
mediateur.selectionnerPublicationParNomComplet(vueARafraichir, "%" + nom + "%");
}
 
public void filtrerParNomEtPage(String nom, int pageCourante) {
currentPage = pageCourante;
Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
mediateur.selectionnerPublication(vueARafraichir, mediateur.getProjetId(), null, "%" + nom + "%", currentPage, nbElementsPage, null);
mediateur.selectionnerPublication(vueARafraichir, null, "%" + nom + "%", currentPage, nbElementsPage, null);
}
}
/trunk/src/org/tela_botanica/client/modeles/publication/PublicationAsyncDao.java
41,10 → 41,10
* est renvoyé à l'appelant
* // FIXME : si la taille de la liste est supérieure à la limite du JREST (150), ce deuxieme mode ne fonctionne pas efficacement (on ne voit pas les enregistrement suivants)
*/
public void selectionner(final boolean paginationProgressive, final String publicationId, String projetId, String nomComplet, final int start, final int nbElements, final Integer seqId) {
public void selectionner(final boolean paginationProgressive, final String publicationId, String nomComplet, final int start, final int nbElements, final Integer seqId) {
String nom = (nomComplet == null) ? "%" : nomComplet+"%";
String[] param = {publicationId, projetId, nom};
String[] param = {publicationId, nom};
HashMap<String, String> restrictions = new HashMap<String, String>();
89,7 → 89,7
if (responseValue != null) {
JSONObject responseObject = responseValue.isObject();
if (responseObject != null) {
// Si la réponse est un tableau, alors c'est une liste de projets qui a été retournée
// Si la réponse est un tableau, alors c'est une liste de publications qui a été retournée
if (responseObject.get("publications").isArray() != null) {
JSONArray reponse = responseObject.get("publications").isArray();
107,7 → 107,7
vueARafraichir.rafraichir(publications);
}
// Si la réponse est un objet, alors c'est un unique projet qui a été retourné
// Si la réponse est un objet, alors c'est une unique publication qui a été retournée
} else if (responseObject.get("publications").isObject() != null) {
JSONObject reponse = responseObject.get("publications").isObject();
/trunk/src/org/tela_botanica/client/i18n/Constantes.properties
69,7 → 69,6
# Formulaire
champObligatoire = Ce champ est obligatoire.
champNumerique = Ce champ doit contenir un nombre
projetChamp = Projet
 
# Pagination
page = Page
99,10 → 98,7
 
# Menus
titreMenu = Menu
txtListeProjetDefaut = Choisissez un projet...
tousProjets = Tous les projets
menuAccueil = Accueil
menuProjet = Projets
menuStructure = Institutions
menuCollection = Collections
menuPersonne = Personnes
160,33 → 156,7
accueilChargementSucces = Votre page d'accueil a été correctement chargée
 
# +--------------------------------------------------------------------------------------------------------------------+
# projet
projetSingulier = projet
projetTitreFormAjout = Ajout d'un projet
projetTitreFormModif = Modification d'un projet
projetTitreInfoGenerale = Informations générales
projetTitreSuppression = Suppression de projet(s)
publicationNomComplet = Nom complet
projetNom = Nom
projetAbreviation = Abréviation
projetResume = Résumé
projetDescription = Description
projetUrl = Url
projetTitreComplement = Complément
projetMotsCles = Mots-clés
projetCitation = Citation
projetLicence = Licence
projetLangue = Langue
projetTitreIndexation = Indexation
projetIndexationDuree = Durée d'indexation
projetIndexationHeure = Heure d'indexation
projetIndexationFrequence = Fréquence d'indexation
projetMarkPublic = Public
projetMessageHeureMinute = L'heure d'indexation doit être au format 'HH:mm'. Exemples : 15:23, 00:00 ou 23:05.
projetMessageNom = Veuillez saisir le nom du projet !
projetMessageAbreviation = Veuillez saisir l'abréviation du projet !
projetMessageDescription = Veuillez saisir la description du projet !
projetMessageResume = Veuillez saisir le résumé du projet !
 
# +--------------------------------------------------------------------------------------------------------------------+
# Structure : titres
533,7 → 503,6
 
personneInfoNat = Informations Naturalistes
tabPublications = Publications liées
personneProjet = Projet
personneLogos = Images
 
personneBiographie = Biographie
/trunk/src/org/tela_botanica/client/i18n/Constantes.java
64,7 → 64,6
// Formulaire
String champObligatoire();
String champNumerique();
String projetChamp();
// Pagination
String page();
94,9 → 93,7
// Menu
String titreMenu();
String txtListeProjetDefaut();
String menuAccueil();
String menuProjet();
String menuStructure();
String menuCollection();
String menuPersonne();
149,34 → 146,7
String accueilEnregistrementSucces();
String accueilChargementSucces();
// +---------------------------------------------------------------------------------------------------------------+
// Projet
String projetSingulier();
String projetTitreFormAjout();
String projetTitreFormModif();
String projetTitreInfoGenerale();
String projetTitreSuppression();
String publicationNomComplet();
String projetNom();
String projetAbreviation();
String projetResume();
String projetDescription();
String projetUrl();
String projetTitreComplement();
String projetMotsCles();
String projetCitation();
String projetLicence();
String projetLangue();
String projetTitreIndexation();
String projetIndexationDuree();
String projetIndexationHeure();
String projetIndexationFrequence();
String projetMarkPublic();
String projetMessageHeureMinute();
String projetMessageNom();
String projetMessageAbreviation();
String projetMessageDescription();
String projetMessageResume();
// +---------------------------------------------------------------------------------------------------------------+
// Structure : titres
526,7 → 496,6
String personneInfoNat();
String tabPublications();
String personneProjet();
// +---------------------------------------------------------------------------------------------------------------+
// Publication
568,7 → 537,6
String personnePublication();
String personneOngletPublication();
String typeRelationPersonne();
String tousProjets();
// Journal
String titreJournal();
/trunk/src/org/tela_botanica/client/vues/FiltreVue.java
File deleted
\ No newline at end of file
/trunk/src/org/tela_botanica/client/vues/projet/ProjetVue.java
File deleted
/trunk/src/org/tela_botanica/client/vues/projet/ProjetListeVue.java
File deleted
/trunk/src/org/tela_botanica/client/vues/projet/ProjetDetailVue.java
File deleted
\ No newline at end of file
/trunk/src/org/tela_botanica/client/vues/projet/ProjetForm.java
File deleted
/trunk/src/org/tela_botanica/client/vues/personne/PersonneListeVue.java
15,13 → 15,9
import org.tela_botanica.client.modeles.personne.Personne;
import org.tela_botanica.client.modeles.personne.PersonneAsyncDao;
import org.tela_botanica.client.modeles.personne.PersonneListe;
import org.tela_botanica.client.modeles.projet.Projet;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.vues.BarrePaginationVue;
 
import com.extjs.gxt.ui.client.Registry;
import com.extjs.gxt.ui.client.Style.SortDir;
import com.extjs.gxt.ui.client.data.ModelComparer;
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.Events;
31,8 → 27,6
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.store.Store;
import com.extjs.gxt.ui.client.store.StoreSorter;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
85,7 → 79,7
modifier = new Button(Mediateur.i18nC.modifier());
modifier.setIcon(Images.ICONES.formModifier());
modifier.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
public void componentSelected(ButtonEvent ce) {
mediateur.clicModifierPersonne(grille.getSelectionModel().getSelectedItems());
}
});
153,6 → 147,7
@Override
public void handleEvent(BaseEvent be) {
GridEvent ge = (GridEvent<Personne>) be;
ge.preventDefault();
// TODO rajouter un test sur le sort state pour trier par nom par défaut
// bref, on verra plus tard parce que c'est chiant et qu'on en a marre de coel
String tri = ge.getSortInfo().getSortField();
231,6 → 226,9
if (info.getType().equals("maj_utilisateur")) {
gererEtatActivationBouton();
} else if(info.getType().equals("personne_modifiee")) {
// curieusement la suppression efface aussi l'index de l'élément
// car elle redéclenche l'évenement de selection (on le stocke donc temporairement)
int temporaire = indexElementSelectionne;
if(personneSelectionnee != null) {
store.remove(indexElementSelectionne);
personneSelectionnee = null;
238,7 → 236,8
Personne personneModifiee = (Personne)info.getDonnee(0);
// au cas ou le bouton appliquer aurait été cliqué avant de valider
store.remove(personneModifiee);
store.insert(personneModifiee, indexElementSelectionne);
indexElementSelectionne = temporaire;
store.insert(personneModifiee, temporaire);
personneSelectionnee = personneModifiee;
int indexElementSelectionne = store.indexOf(personneSelectionnee);
grille.getSelectionModel().select(indexElementSelectionne, false);
/trunk/src/org/tela_botanica/client/vues/personne/PersonneForm.java
28,8 → 28,6
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.personne.Personne;
import org.tela_botanica.client.modeles.personne.PersonneListe;
import org.tela_botanica.client.modeles.projet.Projet;
import org.tela_botanica.client.modeles.projet.ProjetListe;
import org.tela_botanica.client.modeles.publication.Publication;
import org.tela_botanica.client.modeles.publication.PublicationAPersonneListe;
import org.tela_botanica.client.modeles.publication.PublicationListe;
65,7 → 63,6
import com.extjs.gxt.ui.client.widget.ContentPanel;
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.composants.pagination.Proxy;
import org.tela_botanica.client.composants.pagination.ProxyProjets;
import org.tela_botanica.client.composants.pagination.ProxyValeur;
 
import com.extjs.gxt.ui.client.widget.TabItem;
154,7 → 151,7
mediateur.obtenirListeValeurEtRafraichir(this, "relationPersonnePublication", sequenceur);
mediateur.obtenirListeValeurEtRafraichir(this, "relationPersonnePublication", null);
if (modeDeCreation.equals(Formulaire.MODE_MODIFIER)) {
mediateur.selectionnerPersonne(this, personne, null, sequenceur);
mediateur.selectionnerPersonne(this, personne.getId(), sequenceur);
}
}
236,37 → 233,6
// Création des champs
FormLayout formLayout = new FormLayout();
formLayout.setLabelAlign(LabelAlign.LEFT);
//+------------------------------------------------------------------------------------------------------------+
// Fieldset PROJET
FieldSet fsProjet = new FieldSet();
fsProjet.setHeadingHtml(i18nC.menuProjet());
fsProjet.setLayout(new FormLayout());
ModelType modelTypeProjets = new ModelType();
modelTypeProjets.setRoot("projets");
modelTypeProjets.setTotalName("nbElements");
modelTypeProjets.addField("cpr_nom");
modelTypeProjets.addField("cpr_id_projet");
String displayNameProjets = "cpr_nom";
ProxyProjets<ModelData> proxyProjets = new ProxyProjets<ModelData>(null);
ChampComboBoxRechercheTempsReelPaginable cbProjets = new ChampComboBoxRechercheTempsReelPaginable(proxyProjets, modelTypeProjets, displayNameProjets);
cbProjets.setWidth(100, 600);
cbProjets.getCombo().setTabIndex(tabIndex++);
cbProjets.getCombo().setFieldLabel(i18nC.personneProjet());
cbProjets.getCombo().setEmptyText(i18nC.txtListeProjetDefaut());
cbProjets.getCombo().addStyleName(ComposantClass.OBLIGATOIRE);
cbProjets.getCombo().addListener(Events.Valid, Formulaire.creerEcouteurChampObligatoire());
cbProjets.getCombo().setAllowBlank(false);
cbProjets.getCombo().setEditable(false);
fsProjet.add(cbProjets, new FormData(600, 0));
hmIdentite.put("cbProjets", cbProjets);
left.add(fsProjet);
//+------------------------------------------------------------------------------------------------------------+
// Fieldset NOM
779,7 → 745,7
 
public void rafraichirPublicationsExistante(String nomPubli) {
nomPubli +="%";
mediateur.selectionnerPublicationParNomComplet(this, null, nomPubli);
mediateur.selectionnerPublicationParNomComplet(this, nomPubli);
}
/**
857,14 → 823,6
hmAdresse.getComboBox("cbRegion").setVisible(true);
}
} else if (nouvellesDonnees instanceof ProjetListe) {
ProjetListe projets = (ProjetListe) nouvellesDonnees;
List<Projet> liste = projets.toList();
ComboBox cbProjets = hmIdentite.getComboBox("cbProjets");
ListStore<Projet> storeProjets= cbProjets.getStore();
storeProjets.removeAll();
storeProjets.add(liste);
cbProjets.setStore(storeProjets);
} else if (nouvellesDonnees instanceof PublicationListe) {
PublicationListe publicationListe = (PublicationListe) nouvellesDonnees;
List<Publication> liste = publicationListe.toList();
1002,15 → 960,6
private void mettreAJourPersonne(Personne personne) {
//Mise à jour de la personne
ChampComboBoxRechercheTempsReelPaginable cbProjets = hmIdentite.getComboBoxRechercheTempsReelPaginable("cbProjets");
if (cbProjets.getCombo().getStore() != null
&& personne != null
&& personne.getIdProjet() != null
&& !UtilString.isEmpty(personne.getIdProjet())) {
cbProjets.chargerValeurInitiale(personne.getIdProjet(), "cpr_id_projet");
} else {
cbProjets.getCombo().setValue(null);
}
//Prefixe
String prefixe = personne.get("ce_truk_prefix");
1203,14 → 1152,6
boolean success = true;
LinkedList<String> lstMessageErreur = new LinkedList<String>();
ChampComboBoxRechercheTempsReelPaginable cbProjets = hmIdentite.getComboBoxRechercheTempsReelPaginable("cbProjets");
if (cbProjets.getValeur() == null) {
lstMessageErreur.add("Le projet n'a pas été renseigné");
} else {
Projet projet = new Projet(cbProjets.getValeur());
personneSelectionnee.set("ce_projet", projet.getId());
}
String strTfNom = (String) hmIdentite.getTextField("tfNom").getValue();
if ((strTfNom == null)||(strTfNom.trim().equals(""))) {
lstMessageErreur.add("Le nom n'a pas été saisi");
/trunk/src/org/tela_botanica/client/vues/personne/PersonneFormPublication.java
295,7 → 295,6
modelTypePublications.addField("cpu_fascicule");
modelTypePublications.addField("cpu_date_parution");
modelTypePublications.addField("cpu_ce_truk_editeur");
modelTypePublications.addField("cpu_ce_projet");
modelTypePublications.addField("cpu_collection");
String displayNamePublications = "cpu_fmt_nom_complet";
722,6 → 721,6
}
private void obtenirPublicationsSaisies(String nom) {
mediateur.selectionnerPublicationParNomComplet(this, null, "%"+nom+"%");
mediateur.selectionnerPublicationParNomComplet(this, "%"+nom+"%");
}
}
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormGeneral.java
10,12 → 10,10
import org.tela_botanica.client.composants.ChampMultiValeurs;
import org.tela_botanica.client.composants.ConteneurMultiChamps;
import org.tela_botanica.client.composants.pagination.ProxyCollections;
import org.tela_botanica.client.composants.pagination.ProxyProjets;
import org.tela_botanica.client.composants.pagination.ProxyStructures;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.collection.Collection;
import org.tela_botanica.client.modeles.projet.Projet;
import org.tela_botanica.client.modeles.structure.Structure;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
47,7 → 45,6
 
private HiddenField<String> idCollectionChp = null;
private ChampComboBoxRechercheTempsReelPaginable projetsCombo = null;
private ChampComboBoxRechercheTempsReelPaginable structuresCombo = null;
private ChampComboBoxRechercheTempsReelPaginable collectionsCombo = null;
108,44 → 105,6
//+-----------------------------------------------------------------------------------------------------------+
// Champ Projets
ModelType modelTypeProjets = new ModelType();
modelTypeProjets.setRoot("projets");
modelTypeProjets.setTotalName("nbElements");
modelTypeProjets.addField("cpr_nom");
modelTypeProjets.addField("cpr_id_projet");
String displayNameProjets = "cpr_nom";
ProxyProjets<ModelData> proxyProjets = new ProxyProjets<ModelData>(null);
projetsCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyProjets, modelTypeProjets, displayNameProjets);
projetsCombo.setWidth(250, 600);
projetsCombo.getCombo().setTabIndex(tabIndex++);
projetsCombo.getCombo().setFieldLabel(i18nC.projetChamp());
projetsCombo.getCombo().setForceSelection(true);
projetsCombo.getCombo().addStyleName(ComposantClass.OBLIGATOIRE);
projetsCombo.getCombo().addListener(Events.Valid, Formulaire.creerEcouteurChampObligatoire());
projetsCombo.getCombo().setValidator(new Validator() {
public String validate(Field<?> field, String value) {
String retour = null;
if (field.getRawValue().equals("")) {
field.setValue(null);
} else if (projetsCombo.getStore().findModel("cpr_nom", field.getRawValue()) == null) {
String contenuBrut = field.getRawValue();
field.setValue(null);
field.setRawValue(contenuBrut);
retour = "Veuillez sélectionner une valeur ou laisser le champ vide";
}
return retour;
}
});
 
liaisonFieldSet.add(projetsCombo, new FormData(600, 0));
//+-----------------------------------------------------------------------------------------------------------+
// Champ Structures
 
ModelType modelTypeStructures = new ModelType();
329,7 → 288,6
initialiserCollection();
if (collection != null) {
idCollectionChp.setValue(collection.getId());
setValeurComboProjets();
setValeurComboStructures();
setValeurComboCollections();
358,9 → 316,6
public ArrayList<String> verifier() {
ArrayList<String> messages = new ArrayList<String>();
if (projetsCombo.getCombo().getValue() == null || !projetsCombo.getCombo().isValid()) {
messages.add(i18nM.selectionObligatoire(i18nC.articleUn()+" "+i18nC.projetSingulier(), i18nC.articleLa()+" "+i18nC.collectionSingulier()));
}
return messages;
}
369,7 → 324,6
// l'onglet collection est obligatoirement rempli lors d'un ajout
if (this.mode == Formulaire.MODE_AJOUTER || etreAccede()) {
collectionCollectee.setId(idCollectionChp.getValue());
collectionCollectee.setIdProjet(getValeurComboProjets());
collectionCollectee.setIdStructure(getValeurComboStructures());
collectionCollectee.setCollectionMereId(getValeurComboCollections());
398,25 → 352,6
}
}
private String getValeurComboProjets() {
String valeur = "";
if (projetsCombo.getCombo().getValue() != null) {
Projet projet = new Projet(projetsCombo.getValeur());
valeur = projet.getId();
}
return valeur;
}
private void setValeurComboProjets() {
if (projetsCombo.getCombo().getStore() != null
&& collection != null
&& collection.getIdProjet() != null
&& !UtilString.isEmpty(collection.getIdProjet())) {
projetsCombo.chargerValeurInitiale(collection.getIdProjet(), "cpr_id_projet");
} else {
projetsCombo.getCombo().setValue(null);
}
}
private String getValeurComboStructures() {
String valeur = "";
if (structuresCombo.getCombo().getValue() != null) {
/trunk/src/org/tela_botanica/client/vues/collection/CollectionDetailVue.java
21,7 → 21,6
import org.tela_botanica.client.modeles.collection.UniteRangement;
import org.tela_botanica.client.modeles.commentaire.Commentaire;
import org.tela_botanica.client.modeles.personne.Personne;
import org.tela_botanica.client.modeles.projet.ProjetListe;
import org.tela_botanica.client.modeles.publication.Publication;
import org.tela_botanica.client.modeles.structure.Structure;
import org.tela_botanica.client.synchronisation.Sequenceur;
164,7 → 163,7
enteteTpl =
"<div id='{css_id}'>"+
" <h1>{nom}</h1>"+
" <h2>{structure}<span class='{css_meta}'>{projet} <br /> {i18n_id}:{id} - {guid}</span></h2>" +
" <h2>{structure}<span class='{css_meta}'><br /> {i18n_id}:{id} - {guid}</span></h2>" +
"</div>";
}
515,9 → 514,6
if (nouvellesDonnees instanceof Collection) {
collection = (Collection) nouvellesDonnees;
collectionChargementOk = true;
} else if (nouvellesDonnees instanceof ProjetListe) {
projets = (ProjetListe) nouvellesDonnees;
projetsChargementOk = true;
} else if (nouvellesDonnees instanceof ValeurListe) {
ValeurListe listeValeursReceptionnee = (ValeurListe) nouvellesDonnees;
receptionerListeValeurs(listeValeursReceptionnee);
558,7 → 554,7
private boolean avoirDonneesChargees() {
boolean ok = false;
if (projetsChargementOk && collectionChargementOk && ontologieChargementOk && personnesLieesChargementOk && publicationsLieesChargementOk && commentairesLieesChargementOk) {
if (collectionChargementOk && ontologieChargementOk && personnesLieesChargementOk && publicationsLieesChargementOk && commentairesLieesChargementOk) {
ok = true;
}
return ok;
589,7 → 585,6
enteteParams.set("structure", collection.getStructureNom());
enteteParams.set("id", collection.getId());
enteteParams.set("guid", collection.getGuid());
enteteParams.set("projet", construireTxtProjet(collection.getIdProjet()));
String eHtml = Format.substitute(enteteTpl, enteteParams);
entete.getElement().setInnerHTML(eHtml);
/trunk/src/org/tela_botanica/client/vues/collection/CollectionForm.java
379,8 → 379,7
// Vérification des infos sur le type de collection
if (typesCollectionCombo.getValue() == null
|| typesCollectionCombo.getValue().equals("")
|| (mode.equals(MODE_MODIFIER) && collection != null && collection.getIdProjet().equals(""))) {
|| typesCollectionCombo.getValue().equals("")) {
messages.add("Veuillez sélectionner un type pour la collection.");
}
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormCommentaire.java
290,7 → 290,6
modelTypeCommentaires.setTotalName("nbElements");
modelTypeCommentaires.addField("ccm_id_commentaire");
modelTypeCommentaires.addField("ccm_ce_pere");
modelTypeCommentaires.addField("ccm_ce_projet");
modelTypeCommentaires.addField("ccm_titre");
modelTypeCommentaires.addField("ccm_texte");
modelTypeCommentaires.addField("ccm_ponderation");
389,7 → 388,6
modelTypeCollectionACommentaire.addField("ccm_ponderation");
modelTypeCollectionACommentaire.addField("ccm_mark_public");
modelTypeCollectionACommentaire.addField("ccm_ce_pere");
modelTypeCollectionACommentaire.addField("ccm_ce_projet");
// Proxy
ProxyCollectionACommentaire<ModelData> proxyCollectionACommentaire = new ProxyCollectionACommentaire<ModelData>(null, collection.getId());
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormPublication.java
273,7 → 273,6
modelTypePublications.addField("cpu_fascicule");
modelTypePublications.addField("cpu_date_parution");
modelTypePublications.addField("cpu_ce_truk_editeur");
modelTypePublications.addField("cpu_ce_projet");
String displayNamePublications = "cpu_fmt_nom_complet";
ProxyPublications<ModelData> proxyPublications= new ProxyPublications<ModelData>(null);
/trunk/src/org/tela_botanica/client/vues/NavigationVue.java
12,7 → 12,6
public class NavigationVue extends ContentPanel {
private Mediateur mediateur = null;
private MenuVue menu = null;
private FiltreVue filtre = null;
public NavigationVue(Mediateur mediateurCourant) {
mediateur = mediateurCourant;
24,16 → 23,9
menu = new MenuVue(mediateur);
add(menu, new VBoxLayoutData(new Margins(0)));
filtre = new FiltreVue(mediateur);
add(filtre, new VBoxLayoutData(new Margins(0)));
}
public MenuVue getMenu() {
return menu;
}
public FiltreVue getFiltre() {
return filtre;
}
}
/trunk/src/org/tela_botanica/client/vues/structure/StructureFormIdentification.java
12,7 → 12,6
import org.tela_botanica.client.composants.ChampComboBoxRechercheTempsReelPaginable;
import org.tela_botanica.client.composants.ChampNombre;
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.composants.pagination.ProxyProjets;
import org.tela_botanica.client.composants.pagination.ProxyValeur;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Information;
21,7 → 20,6
import org.tela_botanica.client.modeles.Valeur;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.personne.Personne;
import org.tela_botanica.client.modeles.projet.Projet;
import org.tela_botanica.client.modeles.structure.Structure;
import org.tela_botanica.client.modeles.structure.StructureAPersonne;
import org.tela_botanica.client.modeles.structure.StructureAPersonneListe;
178,8 → 176,6
public ListStore<Personne> personneExistanteMagazin;
public ChampComboBoxRechercheTempsReelPaginable personneExistanteCombo;
public Button supprimerPersonnelBtn;
public ListStore<Projet> projetsMagazin;
public ChampComboBoxRechercheTempsReelPaginable projetsCombo;
public CellEditor fonctionEditor;
public List<Valeur> fonctionsListe;
public Sequenceur sequenceur;
222,24 → 218,6
nomStructureChp.addListener(Events.Valid, Formulaire.creerEcouteurChampObligatoire());
fieldSetIdentite.add(nomStructureChp, new FormData(450, 0));
ModelType modelTypeProjets = new ModelType();
modelTypeProjets.setRoot("projets");
modelTypeProjets.setTotalName("nbElements");
modelTypeProjets.addField("cpr_nom");
modelTypeProjets.addField("cpr_id_projet");
String displayNameProjets = "cpr_nom";
ProxyProjets<ModelData> proxyProjets = new ProxyProjets<ModelData>(null);
projetsCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyProjets, modelTypeProjets, displayNameProjets);
projetsCombo.getCombo().setTabIndex(tabIndex++);
projetsCombo.getCombo().setFieldLabel(i18nC.projetChamp());
projetsCombo.getCombo().setForceSelection(true);
projetsCombo.getCombo().addStyleName(ComposantClass.OBLIGATOIRE);
projetsCombo.getCombo().addListener(Events.Valid, Formulaire.creerEcouteurChampObligatoire());
projetsCombo.setWidth(120, 520);
fieldSetIdentite.add(projetsCombo, new FormData(520, 0));
// Création du sous-formulaire : Acronyme
LayoutContainer ligne = new LayoutContainer();
ligne.setLayout(new ColumnLayout());
587,19 → 565,11
this.setData("acces", true);
// Initialisation de l'objet Structure
identification = new Structure();
// Indication du projet sélectionné par défaut
String projetCourantId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getProjetId();
if (projetCourantId != null && !projetCourantId.equals("0")) {
projetsCombo.getCombo().setValue(projetsCombo.getStore().findModel("cpr_id_projet", projetCourantId));
}
}
 
if (formulaireCourant.mode.equals(Formulaire.MODE_MODIFIER) && identification != null && getData("acces").equals(false)) {
idStructureChp.setValue(identification.getId());
nomStructureChp.setValue(identification.getNom());
if (!identification.getIdProjet().equals("0")) {
projetsCombo.getCombo().setValue(projetsCombo.getStore().findModel("cpr_id_projet", identification.getIdProjet()));
}
if (!identification.getIdAlternatif().isEmpty()) {
String[] acronyme = identification.getIdAlternatif().split("##");
679,10 → 649,6
structureCollectee.setId(idStructureChp.getValue());
structureCollectee.setNom(nomStructureChp.getValue());
// Récupération de l'identifiant du projet
if (projetsCombo.getCombo().getValue() != null) {
structureCollectee.setIdProjet(new Projet(projetsCombo.getValeur()).getId());
}
// Récupération de l'acronyme (= identifiant alternatif)
structureCollectee.setIdAlternatif(null);
if (comboAcronyme.getValue() != null) {
843,13 → 809,6
messages.add("Veuillez indiquez un nom à l'institution.");
}
// Vérification des infos sur le projet de la structure
if ( (this.getData("acces").equals(true) && projetsCombo.getCombo().getValue() == null) ||
(this.getData("acces").equals(true) && projetsCombo.getCombo().getValue().equals("")) ||
(this.getData("acces").equals(false) && identification.getIdProjet().equals(""))) {
messages.add("Veuillez sélectionner un projet pour l'institution.");
}
//Vérification de la date de fondation
String valeurDateFondation = dateFondationChp.getValue();
if (!UtilString.isEmpty(valeurDateFondation) && (!valeurDateFondation.matches("\\d{2}/\\d{2}/\\d{4}") &&
859,12 → 818,4
return messages;
}
public ModelData getValeurProjetCombo() {
return projetsCombo.getCombo().getValue();
}
public ModelData getValeurProjet() {
return projetsCombo.getValeur();
}
}
/trunk/src/org/tela_botanica/client/vues/structure/StructureFormPersonne.java
18,7 → 18,6
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.aDonnee;
import org.tela_botanica.client.modeles.personne.Personne;
import org.tela_botanica.client.modeles.projet.Projet;
import org.tela_botanica.client.modeles.structure.StructureAPersonne;
import org.tela_botanica.client.modeles.structure.StructureAPersonneListe;
import org.tela_botanica.client.synchronisation.Sequenceur;
82,7 → 81,6
private ListStore<Personne> personneExistanteMagazin = null;
private ChampComboBoxRechercheTempsReelPaginable personneExistanteCombo = null;
private Button supprimerPersonnelBtn = null;
private ListStore<Projet> projetsMagazin = null;
private CellEditor fonctionEditor = null;
private List<Valeur> fonctionsListe = null;
517,11 → 515,6
personne.setIdStructure(getIdIdentification());
}
// Récupération de l'id du projet de la structure qui servira aussi pour les Personnes crées dans ce formulaire
if (personne.getIdPersonne().equals("") && formulaire.getValeurProjetCombo() != null) {
personne.setIdProjetPersonne(new Projet(formulaire.getValeurProjet()).getId());
}
// Gestion de la fonction
String fonction = personne.get("fonction");
if (fonction != null && !fonction.equals("")) {
691,7 → 684,7
}
private void rafraichirPersonneExistante(String nom) {
mediateur.selectionnerPersonneParNomComplet(this, null, nom+"%", null);
mediateur.selectionnerPersonneParNomComplet(this, nom+"%", null);
}
public void incrementerDecompteRafraichissementPersonnel() {
/trunk/src/org/tela_botanica/client/vues/structure/StructureDetailVue.java
8,7 → 8,6
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.projet.ProjetListe;
import org.tela_botanica.client.modeles.structure.Structure;
import org.tela_botanica.client.modeles.structure.StructureAPersonne;
import org.tela_botanica.client.modeles.structure.StructureAPersonneListe;
145,7 → 144,6
enteteParams.set("ville", structure.getVille());
enteteParams.set("id", structure.getId());
enteteParams.set("guid", structure.getGuid());
enteteParams.set("projet", construireTxtProjet(structure.getIdProjet()));
String eHtml = Format.substitute(enteteTpl, enteteParams);
entete.getElement().setInnerHTML(eHtml);
461,7 → 459,7
enteteTpl =
"<div id='{css_id}'>"+
" <h1>{nom}</h1>"+
" <h2>{ville}<span class='{css_meta}'>{projet} <br /> {i18n_id}:{id} - {guid}</span></h2>" +
" <h2>{ville}<span class='{css_meta}'> <br /> {i18n_id}:{id} - {guid}</span></h2>" +
" " +
"</div>";
}
634,9 → 632,6
if (nouvellesDonnees instanceof Structure) {
structure = (Structure) nouvellesDonnees;
structureChargementOk = true;
} else if (nouvellesDonnees instanceof ProjetListe) {
projets = (ProjetListe) nouvellesDonnees;
projetsChargementOk = true;
} else if (nouvellesDonnees instanceof ValeurListe) {
ValeurListe listeValeursReceptionnee = (ValeurListe) nouvellesDonnees;
receptionerListeValeurs(listeValeursReceptionnee);
662,7 → 657,7
private boolean avoirDonneesChargees() {
boolean ok = false;
if (projetsChargementOk && structureChargementOk && personnelChargementOk && ontologieChargementOk) {
if (structureChargementOk && personnelChargementOk && ontologieChargementOk) {
ok = true;
}
return ok;
/trunk/src/org/tela_botanica/client/vues/structure/StructureForm.java
14,7 → 14,6
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.composants.pagination.ProxyCollectionAPersonne;
import org.tela_botanica.client.composants.pagination.ProxyPersonnes;
import org.tela_botanica.client.composants.pagination.ProxyProjets;
import org.tela_botanica.client.composants.pagination.ProxyStructureAPersonne;
import org.tela_botanica.client.composants.pagination.ProxyValeur;
import org.tela_botanica.client.images.Images;
29,8 → 28,6
import org.tela_botanica.client.modeles.collection.CollectionAPersonne;
import org.tela_botanica.client.modeles.personne.Personne;
import org.tela_botanica.client.modeles.personne.PersonneListe;
import org.tela_botanica.client.modeles.projet.Projet;
import org.tela_botanica.client.modeles.projet.ProjetListe;
import org.tela_botanica.client.modeles.structure.Structure;
import org.tela_botanica.client.modeles.structure.StructureAPersonne;
import org.tela_botanica.client.modeles.structure.StructureAPersonneListe;
488,12 → 485,4
public String getIdIdentification() {
return identification.getId();
}
public ModelData getValeurProjetCombo() {
return identificationOnglet.getValeurProjetCombo();
}
public ModelData getValeurProjet() {
return identificationOnglet.getValeurProjet();
}
}
/trunk/src/org/tela_botanica/client/vues/DetailVue.java
13,8 → 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.projet.Projet;
import org.tela_botanica.client.modeles.projet.ProjetListe;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilString;
38,9 → 36,6
protected boolean ontologieChargementOk = false;
private HashMap<Integer, String> ontologiesEnAttenteDeReception = null;
protected ProjetListe projets = null;
protected boolean projetsChargementOk = false;
protected String sautLigneTpl = null;
public DetailVue(Mediateur mediateurCourant) {
52,7 → 47,6
ontologie = new HashMap<String, Valeur>();
ontologieChargementOk = false;
ontologiesEnAttenteDeReception = new HashMap<Integer, String>();
chargerProjets();
setLayout(new FitLayout());
setBorders(false);
62,27 → 56,7
private void initialiserSautLigneTpl() {
sautLigneTpl = "<br />\n";
}
private void chargerProjets() {
mediateur.selectionnerProjet(this, null, null, false, null);
}
protected String construireTxtProjet(String idProjet) {
String chaineARetourner = idProjet;
if (projets != null) {
Projet projet = projets.get(idProjet);
if (projet != null) {
String nomDuProjet = projet.getNom();
if (!nomDuProjet.equals("")) {
chaineARetourner = nomDuProjet;
}
}
}
return chaineARetourner;
}
protected String construireTxtTruck(String chaineAAnalyser) {
return construireTxtTruck(chaineAAnalyser, true);
}
/trunk/src/org/tela_botanica/client/vues/commentaire/CommentaireDetailVue.java
6,7 → 6,6
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.commentaire.Commentaire;
import org.tela_botanica.client.modeles.projet.ProjetListe;
import org.tela_botanica.client.vues.DetailVue;
 
import com.extjs.gxt.ui.client.Style.Scroll;
60,7 → 59,7
enteteTpl =
"<div id='{css_id}'>"+
" <h1>{titre}</h1>"+
" <h2>{collection}<span class='{css_meta}'>{projet} <br /> {i18n_id}:{id} - {guid}</span></h2>" +
" <h2>{collection}<span class='{css_meta}'><br /> {i18n_id}:{id} - {guid}</span></h2>" +
"</div>";
}
99,7 → 98,6
enteteParams.set("titre", commentaire.getTitre());
enteteParams.set("id", commentaire.getId());
enteteParams.set("guid", getGuid());
enteteParams.set("projet", construireTxtProjet(commentaire.getIdProjet()));
String eHtml = Format.substitute(enteteTpl, enteteParams);
entete.getElement().setInnerHTML(eHtml);
107,7 → 105,6
public String getGuid() {
String guid = "URN:tela-botanica.org:";
guid += "coel"+commentaire.getIdProjet()+":";
guid += "com"+commentaire.getId();
return guid;
}
135,9 → 132,6
if (nouvellesDonnees instanceof Commentaire) {
commentaire = (Commentaire) nouvellesDonnees;
commentaireChargementOk = true;
} else if (nouvellesDonnees instanceof ProjetListe) {
projets = (ProjetListe) nouvellesDonnees;
projetsChargementOk = true;
} else if (nouvellesDonnees instanceof ValeurListe) {
ValeurListe listeValeursReceptionnee = (ValeurListe) nouvellesDonnees;
receptionerListeValeurs(listeValeursReceptionnee);
152,7 → 146,7
private boolean avoirDonneesChargees() {
boolean ok = false;
if (projetsChargementOk && commentaireChargementOk) {
if (commentaireChargementOk) {
ok = true;
}
return ok;
/trunk/src/org/tela_botanica/client/vues/commentaire/CommentaireForm.java
7,12 → 7,10
import org.tela_botanica.client.composants.ChampComboBoxRechercheTempsReelPaginable;
import org.tela_botanica.client.composants.ChampSliderPourcentage;
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.composants.pagination.ProxyProjets;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.MenuApplicationId;
import org.tela_botanica.client.modeles.commentaire.Commentaire;
import org.tela_botanica.client.modeles.projet.Projet;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilArray;
37,7 → 35,6
private Commentaire commentaire;
 
private ChampComboBoxRechercheTempsReelPaginable projetsCombo = null;
private TextField<String> titreChp;
private TextArea texteChp;
private ChampSliderPourcentage ponderationChp;
87,46 → 84,7
}
private void creerChamps() {
ModelType modelTypeProjets = new ModelType();
modelTypeProjets.setRoot("projets");
modelTypeProjets.setTotalName("nbElements");
modelTypeProjets.addField("cpr_nom");
modelTypeProjets.addField("cpr_id_projet");
String displayNameProjets = "cpr_nom";
ProxyProjets<ModelData> proxyProjets = new ProxyProjets<ModelData>(null);
projetsCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyProjets, modelTypeProjets, displayNameProjets);
projetsCombo.setWidth(100, 550);
projetsCombo.getCombo().setTabIndex(tabIndex++);
projetsCombo.getCombo().setFieldLabel(i18nC.projetChamp());
projetsCombo.getCombo().setEmptyText(i18nC.txtListeProjetDefaut());
projetsCombo.getCombo().setForceSelection(true);
projetsCombo.getCombo().setEditable(false);
projetsCombo.getCombo().setAllowBlank(false);
projetsCombo.getCombo().setValidator(new Validator() {
public String validate(Field<?> champ, String valeurAValider) {
String retour = null;
if (UtilString.isEmpty(valeurAValider)
|| projetsCombo.getStore().findModel("cpr_nom", valeurAValider) == null) {
champ.setValue(null);
retour = i18nC.selectionnerValeur();
}
if(retour == null) {
projetsCombo.getCombo().addStyleName(ComposantClass.OBLIGATOIRE_OK);
projetsCombo.getCombo().removeStyleName(ComposantClass.OBLIGATOIRE);
} else {
projetsCombo.getCombo().removeStyleName(ComposantClass.OBLIGATOIRE_OK);
projetsCombo.getCombo().addStyleName(ComposantClass.OBLIGATOIRE);
}
return retour;
}
});
projetsCombo.getCombo().addStyleName(ComposantClass.OBLIGATOIRE);
panneauFormulaire.add(projetsCombo, new FormData(450, 0));
titreChp = new TextField<String>();
titreChp.setFieldLabel(i18nC.commentaireTitre());
titreChp.setAllowBlank(false);
170,34 → 128,6
genererTitreFormulaire();
}
private String getValeurComboProjets() {
String valeur = "";
if (projetsCombo.getCombo().getValue() != null && projetsCombo.getCombo().isValid()) {
Projet projet = new Projet (projetsCombo.getValeur());
valeur = projet.getId();
}
return valeur;
}
private void setValeurComboProjets() {
if (mode.equals(Formulaire.MODE_MODIFIER)) {
if (projetsCombo.getCombo().getStore() != null
&& commentaire != null
&& commentaire.getIdProjet() != null
&& !UtilString.isEmpty(commentaire.getIdProjet())) {
projetsCombo.chargerValeurInitiale(commentaire.getIdProjet(), "cpr_id_projet");
} else {
projetsCombo.getCombo().setValue(null);
}
} else if (mode.equals(Formulaire.MODE_AJOUTER)) {
if (projetsCombo.getCombo().getStore() != null) {
projetsCombo.chargerValeurInitiale(mediateur.getProjetId(), "cpr_id_projet");
} else {
projetsCombo.getCombo().setValue(null);
}
}
}
private void rafraichirInformation(Information info) {
// Gestion des messages d'erreur
if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) {
285,12 → 215,6
messages.add(i18nC.commentaireMessageTitre());
}
if (UtilString.isEmpty(getValeurComboProjets())) {
String selectionDe = i18nC.articleUn()+" "+i18nC.projetSingulier();
String pour = i18nC.articleLa()+" "+i18nC.commentaireSingulier();
messages.add(i18nM.selectionObligatoire(selectionDe, pour));
}
if (messages.size() != 0) {
String[] tableauDeMessages = {};
tableauDeMessages = messages.toArray(tableauDeMessages);
301,7 → 225,6
}
private void peuplerFormulaire() {
setValeurComboProjets();
titreChp.setValue(commentaire.getTitre());
texteChp.setValue(commentaire.getTexte());
ponderationChp.peupler(commentaire.getPonderation());
312,8 → 235,6
private Commentaire collecterCommentaire() {
Commentaire commentaireCollectee = (Commentaire) commentaire.cloner(new Commentaire());
commentaireCollectee.setIdProjet(getValeurComboProjets());
String titre = titreChp.getValue();
commentaireCollectee.setTitre(titre);
/trunk/src/org/tela_botanica/client/vues/MenuVue.java
40,7 → 40,6
menuStore = new TreeStore<Menu>();
Menu accueilMenu = new Menu(i18nC.menuAccueil(), MenuApplicationId.ACCUEIL);
Menu projetMenu = new Menu(i18nC.menuProjet(), MenuApplicationId.PROJET);
Menu menuInstitution = new Menu(i18nC.menuStructure(), MenuApplicationId.STRUCTURE);
Menu menuCollections = new Menu(i18nC.menuCollection(), MenuApplicationId.COLLECTION);
Menu menuPersonnes = new Menu(i18nC.menuPersonne(), MenuApplicationId.PERSONNE);
49,7 → 48,6
menuStore.add(accueilMenu, false);
menuStore.add(accueilMenu, projetMenu, true);
menuStore.add(accueilMenu, menuInstitution, true);
menuStore.add(accueilMenu, menuCollections, true);
menuStore.add(accueilMenu, menuPersonnes, true);
/trunk/src/org/tela_botanica/client/vues/publication/PublicationDetailVue.java
4,7 → 4,6
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.projet.ProjetListe;
import org.tela_botanica.client.modeles.publication.Publication;
import org.tela_botanica.client.vues.DetailVue;
 
56,7 → 55,7
enteteTpl =
"<div id='{css_id}'>"+
" <h1>{titre}</h1>"+
" <h2>{auteurs} ({annee})<span class='{css_meta}'>{projet} <br /> {i18n_id}:{id} - {guid}</span></h2>" +
" <h2>{auteurs} ({annee})<span class='{css_meta}'><br /> {i18n_id}:{id} - {guid}</span></h2>" +
"</div>";
}
95,7 → 94,6
enteteParams.set("annee", publication.getAnneeParution());
enteteParams.set("id", publication.getId());
enteteParams.set("guid", getGuid());
enteteParams.set("projet", construireTxtProjet(publication.getIdProjet()));
 
String eHtml = Format.substitute(enteteTpl, enteteParams);
entete.getElement().setInnerHTML(eHtml);
103,7 → 101,6
public String getGuid() {
String guid = "URN:tela-botanica.org:";
guid += "coel"+publication.getIdProjet()+":";
guid += "pub"+publication.getId();
return guid;
}
139,9 → 136,6
if (nouvellesDonnees instanceof Publication) {
publication = (Publication) nouvellesDonnees;
publicationChargementOk = true;
} else if (nouvellesDonnees instanceof ProjetListe) {
projets = (ProjetListe) nouvellesDonnees;
projetsChargementOk = true;
} else {
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
}
153,7 → 147,7
private boolean avoirDonneesChargees() {
boolean ok = false;
if (projetsChargementOk && publicationChargementOk) {
if (publicationChargementOk) {
ok = true;
}
return ok;
/trunk/src/org/tela_botanica/client/vues/publication/PublicationForm.java
12,7 → 12,6
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.composants.pagination.ProxyPersonnes;
import org.tela_botanica.client.composants.pagination.ProxyPersonnesAPublication;
import org.tela_botanica.client.composants.pagination.ProxyProjets;
import org.tela_botanica.client.composants.pagination.ProxyStructures;
import org.tela_botanica.client.images.Images;
import org.tela_botanica.client.interfaces.Rafraichissable;
20,7 → 19,6
import org.tela_botanica.client.modeles.MenuApplicationId;
import org.tela_botanica.client.modeles.aDonnee;
import org.tela_botanica.client.modeles.personne.Personne;
import org.tela_botanica.client.modeles.projet.Projet;
import org.tela_botanica.client.modeles.publication.Publication;
import org.tela_botanica.client.modeles.publication.PublicationAPersonne;
import org.tela_botanica.client.modeles.publication.PublicationAPersonneListe;
98,7 → 96,6
private PublicationAPersonneListe auteursModifies = null;
private ContentPanel auteursFieldset = null;
private ChampComboBoxRechercheTempsReelPaginable projetsCombo = null;
private FieldSet generalitesFieldset = null;
private TextField<String> titreChp = null;
691,40 → 688,7
generalitesFieldset.setHeadingHtml("Informations générales");
generalitesFieldset.setCollapsible(true);
generalitesFieldset.setLayout(layout);
 
ModelType modelTypeProjets = new ModelType();
modelTypeProjets.setRoot("projets");
modelTypeProjets.setTotalName("nbElements");
modelTypeProjets.addField("cpr_nom");
modelTypeProjets.addField("cpr_id_projet");
String displayNameProjets = "cpr_nom";
ProxyProjets<ModelData> proxyProjets = new ProxyProjets<ModelData>(null);
projetsCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyProjets, modelTypeProjets, displayNameProjets);
projetsCombo.setWidth(200, 600);
projetsCombo.getCombo().setTabIndex(tabIndex++);
projetsCombo.getCombo().setFieldLabel(i18nC.projetChamp());
projetsCombo.getCombo().setForceSelection(true);
projetsCombo.getCombo().addStyleName(ComposantClass.OBLIGATOIRE);
projetsCombo.getCombo().addListener(Events.Valid, Formulaire.creerEcouteurChampObligatoire());
projetsCombo.getCombo().setValidator(new Validator() {
public String validate(Field<?> field, String value) {
String retour = null;
if (field.getRawValue().equals("")) {
field.setValue(null);
} else if (projetsCombo.getStore().findModel("cpr_nom", field.getRawValue()) == null) {
String contenuBrut = field.getRawValue();
field.setValue(null);
field.setRawValue(contenuBrut);
retour = "Veuillez sélectionner une valeur ou laisser le champ vide";
}
return retour;
}
});
generalitesFieldset.add(projetsCombo, new FormData(600, 0));
titreChp = new TextField<String>();
titreChp.setName("cpu");
titreChp.setFieldLabel("Titre de l'article ou de l'ouvrage");
915,7 → 879,6
}
private void peuplerFormulaire() {
setValeurComboProjets();
titreChp.setValue(publication.getTitre());
collectionChp.setValue(publication.getCollection());
uriChp.setValue(publication.getURI());
936,7 → 899,6
private Publication collecterPublication() {
 
Publication publicationCollectee = (Publication) publication.cloner(new Publication());
publicationCollectee.setIdProjet(getValeurComboProjets());
publicationCollectee.setAuteur(construireIntituleAuteur());
String titre = titreChp.getValue();
1127,29 → 1089,6
//+----------------------------------------------------------------------------------------------------------------+
// Accesseurs
private String getValeurComboProjets() {
String valeur = "";
if (projetsCombo.getValeur() != null) {
Projet projet = new Projet(projetsCombo.getValeur());
valeur = projet.getId();
}
return valeur;
}
private void setValeurComboProjets() {
if (mode.equals(Formulaire.MODE_MODIFIER) && publication != null) {
if (projetsCombo.getCombo().getStore() != null
&& publication != null
&& publication.getIdProjet() != null
&& !UtilString.isEmpty(publication.getIdProjet())) {
projetsCombo.chargerValeurInitiale(publication.getIdProjet(), "cpr_id_projet");
}
} else if (mode.equals(Formulaire.MODE_AJOUTER)) {
projetsCombo.getCombo().setValue(projetsCombo.getStore().findModel("cpr_id_projet", mediateur.getProjetId()));
} else {
projetsCombo.getCombo().setValue(null);
}
}
//+----------------------------------------------------------------------------------------------------------------+
// Rafraichir
/trunk/src/org/tela_botanica/client/vues/ContenuVue.java
7,14 → 7,13
import org.tela_botanica.client.modeles.collection.CollectionListe;
import org.tela_botanica.client.modeles.commentaire.CommentaireListe;
import org.tela_botanica.client.modeles.personne.PersonneListe;
import org.tela_botanica.client.modeles.projet.ProjetListe;
import org.tela_botanica.client.modeles.publication.PublicationListe;
import org.tela_botanica.client.modeles.structure.StructureListe;
 
import com.extjs.gxt.ui.client.widget.Info;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.Window;
 
public class ContenuVue extends LayoutContainer implements Rafraichissable {
39,9 → 38,7
//+----------------------------------------------------------------------------------------------------------------+
public void rafraichir(Object nouvellesDonnees) {
if (nouvellesDonnees instanceof ProjetListe) {
mediateur.afficherListeProjets((ProjetListe) nouvellesDonnees);
} else if (nouvellesDonnees instanceof StructureListe) {
if (nouvellesDonnees instanceof StructureListe) {
mediateur.afficherListeStructures((StructureListe) nouvellesDonnees);
} else if (nouvellesDonnees instanceof CollectionListe) {
mediateur.afficherListeCollections((CollectionListe) nouvellesDonnees);
/trunk/src/org/tela_botanica/client/composants/pagination/ProxyProjets.java
File deleted
\ No newline at end of file
/trunk/src/org/tela_botanica/client/composants/pagination/ProxyCommentaires.java
10,7 → 10,6
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
import org.tela_botanica.client.modeles.projet.Projet;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilString;
/trunk/src/org/tela_botanica/client/composants/pagination/ProxyPublications.java
10,7 → 10,6
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
import org.tela_botanica.client.modeles.projet.Projet;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilString;
/trunk/src/org/tela_botanica/client/composants/pagination/ProxyStructures.java
39,7 → 39,7
 
BasePagingLoadConfig lc = (BasePagingLoadConfig) loadConfig;
if (UtilString.isNumber(recherche, false)) {
mediateur.selectionnerStructureAvecPaginationProgressive(this, nom, null, null, "array", lc.getOffset(), lc.getLimit(), sequenceur, false);
mediateur.selectionnerStructureAvecPaginationProgressive(this, nom, null, "array", lc.getOffset(), lc.getLimit(), sequenceur, false);
} else {
mediateur.selectionnerStructure(this, nom, lc.getOffset(), lc.getLimit(), sequenceur, false);
}