/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/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/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/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/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()) + |