Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 967 → Rev 968

/trunk/CoelTest-hosted.launch
File deleted
/trunk/CoelTest-web.launch
File deleted
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionAsyncDao.java
7,6 → 7,7
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.util.Debug;
import org.tela_botanica.client.util.UtilDAO;
 
import com.extjs.gxt.ui.client.Registry;
130,6 → 131,8
if (collectionId != null) {
postDonnees += "&cc_id_collection=" + URL.encodeComponent(collectionId);
}
Debug.log("id projet:"+collection.getIdProjet());
Debug.log("liste projet:"+((ProjetListe) Registry.get(RegistreId.PROJETS)).get(collection.getIdProjet()).toString());
postDonnees += "&cpr_abreviation=" + URL.encodeComponent(((ProjetListe) Registry.get(RegistreId.PROJETS)).get(collection.getIdProjet()).getAbreviation());
postDonnees += "&cc_ce_projet=" + URL.encodeComponent(collection.getIdProjet()) +
"&cc_ce_mere=" + URL.encodeComponent(collection.getCollectionMereId()) +
/trunk/src/org/tela_botanica/client/Mediateur.java
668,8 → 668,28
}
}
 
public void clicSupprimerCollection(CollectionListeVue collectionListeVue, List<Collection> collectionsASupprimer) {
// TODO Auto-generated method stub
public void clicSupprimerCollection(CollectionListeVue collectionListeVue, final List<Collection> collectionsASupprimer) {
if (collectionsASupprimer.size() <= 0) {
MessageBox.alert("Attention", "Vous devez sélectionner au moins une collection", null);
} else {
String message = "Voulez-vous vraiment supprimer ces collections ?";
if (collectionsASupprimer.size() == 1) {
message = "Voulez-vous vraiment supprimer cette collection ?";
}
final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() {
public void handleEvent(MessageBoxEvent ce) {
Dialog dialog = (Dialog) ce.getComponent();
Button btn = ce.getButtonClicked();
if (btn.getText().equals(dialog.yesText)) {
supprimerCollection(panneauCentre.getContenu(), collectionsASupprimer);
}
}
};
MessageBox.confirm("Supprimer une collection", message, listenerSuppression);
}
}
 
public void selectionnerCollection(Rafraichissable vueARafraichir, String collectionId) {
681,7 → 701,7
}
public void ajouterCollection(Rafraichissable vueARafraichir, Collection collection) {
modele.ajouterCollection(vueARafraichir, getUtilisateurId(), collection);
modele.ajouterCollection(vueARafraichir, collection);
}
public void modifierCollection(Rafraichissable vueARafraichir, Collection collection) {
688,8 → 708,22
modele.modifierCollection(vueARafraichir, collection);
}
public void supprimerCollection(Rafraichissable vueARafraichir, String IdentifiantsCollectionSepareParVirgule) {
modele.supprimerCollection(vueARafraichir, getUtilisateurId(), IdentifiantsCollectionSepareParVirgule);
public void supprimerCollection(Rafraichissable vueARafraichir, List<Collection> collectionsListe) {
if (collectionsListe != null && collectionsListe.size() > 0) {
String idCollectionSeparesParVirgule = "" ;
Iterator<Collection> it = collectionsListe.iterator();
while (it.hasNext()) {
idCollectionSeparesParVirgule += it.next().getId();
if (it.hasNext()) {
idCollectionSeparesParVirgule += ",";
}
}
modele.supprimerCollection(vueARafraichir, idCollectionSeparesParVirgule);
modele.supprimerCollectionAPersonne(vueARafraichir, idCollectionSeparesParVirgule);
modele.supprimerCollectionAPublication(vueARafraichir, idCollectionSeparesParVirgule);
//modele.supprimerCollectionACommentaire(vueARafraichir, idCollectionSeparesParVirgule);
}
}
//+----------------------------------------------------------------------------------------------------------------+
940,7 → 974,6
if (btn.getText().equals(dialog.yesText)) {
supprimerPublication(panneauCentre.getContenu(), publicationListe);
supprimerPublicationAPersonne(panneauCentre.getContenu(), publicationListe.get(0).getId());
}
}
};
1017,14 → 1050,10
idPublicationAPersonneSepareParVirgule += ",";
}
}
supprimerPublicationAPersonne(vueARafraichir, idPublicationAPersonneSepareParVirgule);
modele.supprimerPublicationAPersonne(vueARafraichir, idPublicationAPersonneSepareParVirgule);
}
}
public void supprimerPublicationAPersonne(Rafraichissable vueARafraichir, String idPublicationSeparesParVirgule) {
modele.supprimerPublicationAPersonne(vueARafraichir, idPublicationSeparesParVirgule);
}
//+----------------------------------------------------------------------------------------------------------------+
// RAFRAICHISSEMENT
//+----------------------------------------------------------------------------------------------------------------+
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormGeneral.java
19,6 → 19,9
import org.tela_botanica.client.vues.Formulaire;
import org.tela_botanica.client.vues.FormulaireOnglet;
 
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.util.Margins;
import com.extjs.gxt.ui.client.widget.Text;
120,6 → 123,22
});
projetsCombo.setTriggerAction(TriggerAction.ALL);
projetsCombo.setStore(new ListStore<Projet>());
projetsCombo.addStyleName("obligatoire");
projetsCombo.addListener(Events.Select, new Listener<BaseEvent>() {
@Override
public void handleEvent(BaseEvent be) {
Projet valeur = projetsCombo.getValue();
// Gestion du style obligatoire
projetsCombo.removeStyleName("obligatoire");
projetsCombo.removeStyleName("obligatoire-ok");
if (valeur != null) {
projetsCombo.addStyleName("obligatoire-ok");
} else {
projetsCombo.addStyleName("obligatoire");
}
}
});
liaisonFieldSet.add(projetsCombo, new FormData(450, 0));
mediateur.selectionnerProjet(this, null);
310,7 → 329,9
public ArrayList<String> verifier() {
ArrayList<String> messages = new ArrayList<String>();
if (projetsCombo.getValue() == null || projetsCombo.getValue().equals("") || collection.getIdProjet().equals("")) {
if (projetsCombo.getValue() == null
|| projetsCombo.getValue().equals("")
|| (mode.equals(Formulaire.MODE_MODIFIER) && collection != null && collection.getIdProjet().equals(""))) {
messages.add("Veuillez sélectionner un projet pour la collection.");
}
return messages;
320,7 → 341,7
initialiserCollection();
if (etreAccede()) {
collectionCollectee.setId(idCollectionChp.getValue());
collectionCollectee.setCollectionMereId(getValeurComboProjets());
collectionCollectee.setIdProjet(getValeurComboProjets());
collectionCollectee.setIdStructure(getValeurComboStructures());
collectionCollectee.setCollectionMereId(getValeurComboCollections());
340,7 → 361,9
collectionCollectee.setCouvertureLieu(lieuCouvertureChp.getValeurs());
collectionCollectee.setSpecimenType(specimenTypeCombo.getValeur());
collectionCollectee.setSpecimenTypeNbre(nbreTypeChp.getValue().toString());
if (nbreTypeChp.getValue() != null) {
collectionCollectee.setSpecimenTypeNbre(nbreTypeChp.getValue().toString());
}
collectionCollectee.setSpecimenTypeNbrePrecision(precisionTypeNbreCombo.getValeur());
collectionCollectee.setSpecimenTypeClassement(classementSpecimenTypeCombo.getValeur());
}
/trunk/src/org/tela_botanica/client/vues/collection/CollectionDetailVue.java
623,31 → 623,35
contenuParams.set("i18n_deces_lieu", i18nC.personneLieuDeces());
String lignesPersonnel = "";
if (collection.getPersonnesLiees() != null) {
Iterator<String> it = collection.getPersonnesLiees().keySet().iterator();
while (it.hasNext()) {
CollectionAPersonne relationCollectionAPersonne = collection.getPersonnesLiees().get(it.next());
Personne personne = relationCollectionAPersonne.getPersonne();
String relation = construireTxtListeOntologie(relationCollectionAPersonne.getIdRole());
String etreDecede = construireTxtListeOntologie(personne.getDeces());
Params ligneParams = new Params();
ligneParams.set("relation", relation);
ligneParams.set("nom_complet", personne.getNomComplet());
ligneParams.set("nom", personne.getNom());
ligneParams.set("prenom", personne.getPrenom());
ligneParams.set("naissance_date", personne.getNaissanceDate());
ligneParams.set("naissance_lieu", personne.getNaissanceLieu());
ligneParams.set("etre_decede", etreDecede);
ligneParams.set("deces_date", personne.getDecesDate());
ligneParams.set("deces_lieu", personne.getDecesLieu());
lignesPersonnel += Format.substitute(lignePersonneLieeTpl, ligneParams);
}
}
Iterator<String> it = collection.getPersonnesLiees().keySet().iterator();
while (it.hasNext()) {
CollectionAPersonne relationCollectionAPersonne = collection.getPersonnesLiees().get(it.next());
Personne personne = relationCollectionAPersonne.getPersonne();
String relation = construireTxtListeOntologie(relationCollectionAPersonne.getIdRole());
String etreDecede = construireTxtListeOntologie(personne.getDeces());
Params ligneParams = new Params();
ligneParams.set("relation", relation);
ligneParams.set("nom_complet", personne.getNomComplet());
ligneParams.set("nom", personne.getNom());
ligneParams.set("prenom", personne.getPrenom());
ligneParams.set("naissance_date", personne.getNaissanceDate());
ligneParams.set("naissance_lieu", personne.getNaissanceLieu());
ligneParams.set("etre_decede", etreDecede);
ligneParams.set("deces_date", personne.getDecesDate());
ligneParams.set("deces_lieu", personne.getDecesLieu());
lignesPersonnel += Format.substitute(lignePersonneLieeTpl, ligneParams);
String cHtml = i18nC.nonRenseigne();
if (!UtilString.isEmpty(lignesPersonnel)) {
contenuParams.set("lignes", lignesPersonnel);
cHtml = Format.substitute(tableauPersonnesLieesTpl, contenuParams);
}
contenuParams.set("lignes", lignesPersonnel);
String cHtml = Format.substitute(tableauPersonnesLieesTpl, contenuParams);
return cHtml;
}
676,26 → 680,30
contenuParams.set("i18n_page", i18nC.publicationPage());
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());
ligneParams.set("revue", publication.getCollection());
ligneParams.set("editeur", publication.getEditeur());
ligneParams.set("annee", publication.getAnneeParution());
ligneParams.set("nvt", publication.getIndicationNvt());
ligneParams.set("fascicule", publication.getFascicule());
ligneParams.set("page", publication.getPages());
lignesPublication += Format.substitute(lignePublicationLieeTpl, ligneParams);
if (collection.getPublicationsLiees() != null) {
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());
ligneParams.set("revue", publication.getCollection());
ligneParams.set("editeur", publication.getEditeur());
ligneParams.set("annee", publication.getAnneeParution());
ligneParams.set("nvt", publication.getIndicationNvt());
ligneParams.set("fascicule", publication.getFascicule());
ligneParams.set("page", publication.getPages());
lignesPublication += Format.substitute(lignePublicationLieeTpl, ligneParams);
}
}
contenuParams.set("lignes", lignesPublication);
String cHtml = Format.substitute(tableauPublicationsLieesTpl, contenuParams);
 
String cHtml = i18nC.nonRenseigne();
if (!UtilString.isEmpty(lignesPublication)) {
contenuParams.set("lignes", lignesPublication);
cHtml = Format.substitute(tableauPublicationsLieesTpl, contenuParams);
}
return cHtml;
}
/trunk/src/org/tela_botanica/client/vues/collection/CollectionForm.java
9,6 → 9,7
import org.tela_botanica.client.modeles.MenuApplicationId;
import org.tela_botanica.client.modeles.Valeur;
import org.tela_botanica.client.modeles.collection.Collection;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilArray;
import org.tela_botanica.client.util.UtilString;
import org.tela_botanica.client.vues.Formulaire;
73,15 → 74,31
nomChp.setTabIndex(tabIndex++);
nomChp.setFieldLabel(i18nC.nomCollection());
nomChp.setAllowBlank(false);
nomChp.addStyleName("obligatoire");
nomChp.addListener(Events.Change, new Listener<BaseEvent>() {
@Override
public void handleEvent(BaseEvent be) {
nomChp.removeStyleName("obligatoire");
nomChp.removeStyleName("obligatoire-ok");
if (nomChp.getRawValue().length() != 0) {
nomChp.addStyleName("obligatoire-ok");
} else if (nomChp.getRawValue().length() == 0) {
nomChp.addStyleName("obligatoire");
}
}
});
nomChp.getMessages().setBlankText(i18nC.champObligatoire());
principalFieldSet.add(nomChp, new FormData(450, 0));
typesCollectionCombo = new ChampComboBoxListeValeurs(i18nC.typeCollectionNcd(), "typeCollectionNcd", tabIndex++);
typesCollectionCombo.peupler(Valeur.COLLECTION_NCD_HERBIER);
typesCollectionCombo.addStyleName("obligatoire");
typesCollectionCombo.addListener(Events.Select, new Listener<BaseEvent>() {
@Override
public void handleEvent(BaseEvent be) {
Valeur valeur = typesCollectionCombo.getValue();
// Gestion des onglets en fonction du type de collection
panneauFormulaire.remove(onglets);
mediateur.activerChargement("");
if (valeur != null && valeur.getId().equals(Valeur.COLLECTION_NCD_HERBIER)) {
93,6 → 110,15
}
mediateur.desactiverChargement();
panneauFormulaire.layout();
// Gestion du style obligatoire
typesCollectionCombo.removeStyleName("obligatoire");
typesCollectionCombo.removeStyleName("obligatoire-ok");
if (valeur != null) {
typesCollectionCombo.addStyleName("obligatoire-ok");
} else {
typesCollectionCombo.addStyleName("obligatoire");
}
}
});
principalFieldSet.add(typesCollectionCombo, new FormData(150, 0));
206,7 → 232,7
personneOnglet.rafraichir(info);
publicationOnglet.rafraichir(info);
} else {
Info.display("Ajout d'une Institution", info.toString());
Info.display("Ajout d'une collection", info.toString());
}
} else if (info.getType().equals("liste_collection_a_personne")) {
personneOnglet.rafraichir(info);
234,7 → 260,7
private void actualiserTitrePanneau() {
String titre = i18nC.titreModifFormCollection();
// Composition du titre
titre += " - ID : "+collection.getId();
titre += " - "+i18nC.id()+" : "+collection.getId();
panneauFormulaire.setHeading(titre);
}
 
244,9 → 270,9
if (formulaireValide) {
// Collecte des données du formulaire
Collection collectionAEnregistrer = collecterCollection();
if (mode.equals(MODE_AJOUTER)) {
mediateur.ajouterCollection(this, collectionAEnregistrer);
Debug.log("enfin");
} else if (mode.equals(MODE_MODIFIER)) {
if (collectionAEnregistrer == null) {
Info.display("Modification d'une collection", "Rien n'a été enregistré car le formulaire n'a pas été modifié.");
304,12 → 330,16
ArrayList<String> messages = new ArrayList<String>();
// Vérification des infos sur le nom de la collection
if (nomChp.getValue() == null || nomChp.getValue().equals("") || collection.getNom().equals("")) {
if (nomChp.getValue() == null
|| nomChp.getValue().equals("")
|| (mode.equals(MODE_MODIFIER) && collection != null && collection.getNom().equals(""))) {
messages.add("Veuillez donner un nom à la collection.");
}
// Vérification des infos sur le type de collection
if (typesCollectionCombo.getValue() == null || typesCollectionCombo.getValue().equals("") || collection.getIdProjet().equals("")) {
if (typesCollectionCombo.getValue() == null
|| typesCollectionCombo.getValue().equals("")
|| (mode.equals(MODE_MODIFIER) && collection != null && collection.getIdProjet().equals(""))) {
messages.add("Veuillez sélectionner un type pour la collection.");
}
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormDescription.java
824,7 → 824,9
initialiserCollection();
if (etreAccede()) {
collectionBotaniqueCollectee.setType(typesCollectionBotaCombo.getValeur());
collectionBotaniqueCollectee.setNbreEchantillon(Integer.toString(nbreEchantillonChp.getValue().intValue()));
if (nbreEchantillonChp.getValue() != null) {
collectionBotaniqueCollectee.setNbreEchantillon(Integer.toString(nbreEchantillonChp.getValue().intValue()));
}
collectionBotaniqueCollectee.setUniteRangement(collecterGrilleUniteRangement());
collectionBotaniqueCollectee.setUniteRangementEtat(etatUniteRangementCombo.getValeur());
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormPersonne.java
19,9 → 19,11
import org.tela_botanica.client.modeles.collection.UniteRangement;
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.publication.Publication;
import org.tela_botanica.client.modeles.structure.StructureAPersonne;
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;
62,6 → 64,7
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Element;
import com.google.gwt.event.dom.client.KeyCodes;
 
public class CollectionFormPersonne extends FormulaireOnglet implements Rafraichissable {
376,6 → 379,22
typeRelationCombo.setDisplayField("nom");
typeRelationCombo.setStore(new ListStore<Valeur>());
typeRelationCombo.setEditable(false);
typeRelationCombo.addStyleName("obligatoire");
typeRelationCombo.addListener(Events.Select, new Listener<BaseEvent>() {
@Override
public void handleEvent(BaseEvent be) {
Valeur valeur = typeRelationCombo.getValue();
// Gestion du style obligatoire
typeRelationCombo.removeStyleName("obligatoire");
typeRelationCombo.removeStyleName("obligatoire-ok");
if (valeur != null) {
typeRelationCombo.addStyleName("obligatoire-ok");
} else {
typeRelationCombo.addStyleName("obligatoire");
}
}
});
CellEditor editeurRelation = new CellEditor(typeRelationCombo) {
@Override
409,12 → 428,14
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) {
public String render(CollectionAPersonne modele, String property, ColumnData config, int rowIndex, int colIndex, ListStore<CollectionAPersonne> store, Grid<CollectionAPersonne> grille) {
// Gestion du texte afficher dans la cellule
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;
}
};
/trunk/src/org/tela_botanica/client/vues/collection/CollectionVue.java
49,6 → 49,8
|| info.getType().equals("liste_collection_a_publication")
|| info.getType().equals("liste_collection_a_commentaire")) {
detailCollectionPanneau.rafraichir(nouvellesDonnees);
} else if (info.getType().equals("suppression_collection")) {
listeCollectionPanneau.rafraichir(nouvellesDonnees);
}
} else {
Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()));
/trunk/src/org/tela_botanica/client/Modele.java
201,9 → 201,9
cDao.selectionner(projetId, collectionId);
}
public void ajouterCollection(Rafraichissable vueARafraichir, String utilisateurId, Collection collection) {
// TODO Auto-generated method stub
public void ajouterCollection(Rafraichissable vueARafraichir, Collection collection) {
CollectionAsyncDao cDao = new CollectionAsyncDao(vueARafraichir);
cDao.ajouter(collection);
}
 
public void modifierCollection(Rafraichissable vueARafraichir, Collection collection) {
211,9 → 211,9
cDao.modifier(collection);
}
 
public void supprimerCollection(Rafraichissable vueARafraichir, String utilisateurId, String identifiantsCollectionSepareParVirgule) {
// TODO Auto-generated method stub
public void supprimerCollection(Rafraichissable vueARafraichir, String identifiantsCollectionSepareParVirgule) {
CollectionAsyncDao cDao = new CollectionAsyncDao(vueARafraichir);
cDao.supprimer(identifiantsCollectionSepareParVirgule);
}
//+----------------------------------------------------------------------------------------------------------------+
/trunk/war/Coel.css
206,4 → 206,11
/* #----------------------------------------------------------------------------------------------------------#*/
#main-button button{
font-weight:bold;
text-decoration:underline;}
text-decoration:underline;}
/* #----------------------------------------------------------------------------------------------------------#*/
/* FORMULAIRE */
/* #----------------------------------------------------------------------------------------------------------#*/
.obligatoire, .obligatoire input{
background:#FAA391;}
.obligatoire-ok, .obligatoire-ok input {
background:#B7DAAA;}
/trunk/war/Coel.html
15,7 → 15,8
<!-- Any title is fine -->
<!-- -->
<title>Coel</title>
<!-- Fichier CSS spécifique à GXT -->
<link rel="stylesheet" type="text/css" href="gxt/css/gxt-all.css" />
<!-- Fichier CSS spécifique à l'application -->
<link rel="stylesheet" type="text/css" href="Coel.css" />
29,9 → 30,6
<!-- be added before this line. -->
<!-- -->
<script type="text/javascript" language="javascript" src="coel/coel.nocache.js"></script>
<!-- Fichier CSS spécifique à GXT -->
<link rel="stylesheet" type="text/css" href="gxt/css/gxt-all.css" />
</head>
 
<!-- -->