Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1895 → Rev 1896

/trunk/src/org/tela_botanica/client/modeles/publication/Publication.java
1,6 → 1,7
package org.tela_botanica.client.modeles.publication;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
7,6 → 8,7
 
import org.tela_botanica.client.modeles.aDonnee;
import org.tela_botanica.client.modeles.structure.Structure;
import org.tela_botanica.client.util.UtilNombre;
import org.tela_botanica.client.util.UtilString;
 
import com.extjs.gxt.ui.client.data.ModelData;
17,6 → 19,10
private static final long serialVersionUID = 4142843068041690126L;
public static final String PREFIXE = "cpu";
public static String[] champsObligatoires = {"cpu_id_publication"};
// Cache de valeurs pour contourner des bugs très compliqué d'affichage
public static Map<String, String> editeurs = new HashMap<String, String>();
public static Map<String, Publication> publisSaisiesModifieesCache = new HashMap<String, Publication>();
 
private Structure editeur = null;
public ArrayList<String> cles = null;
38,6 → 44,7
public Publication(ModelData model, boolean removePrefix) {
this.removePrefix = removePrefix;
editeur = new Structure(model);
cles = new ArrayList<String>();
cles.add("id_publication");
145,12 → 152,21
}
 
public String getNomEditeur() {
// Pour éviter de planter l'application
// on tente de prendre l'éditeur où il est disponible
String editeurNom = getEditeur();
if (editeurNom.matches("[0-9]+")) {
editeurNom = editeur.getNom();
if (UtilNombre.estUnNombre(editeurNom) || editeurNom.isEmpty()) {
if(editeur != null && !editeur.getNom().isEmpty()) {
editeurs.put(editeurNom, editeur.getNom());
editeurNom = editeur.getNom();
} else {
editeurNom = editeurs.get(editeurNom) != null ? editeurs.get(editeurNom) : "";
}
}
return editeurNom;
}
public String getEditeur() {
return getChaineDenormaliseUnique("ce_truk_editeur");
}
/trunk/src/org/tela_botanica/client/util/UtilNombre.java
7,5 → 7,17
public static String formaterEnEntier(double nombre) {
NumberFormat formatNbreEntier = NumberFormat.getFormat("#");
return formatNbreEntier.format(nombre);
}
}
public static boolean estUnNombre(String str) {
try
{
double d = Double.parseDouble(str);
}
catch(NumberFormatException nfe)
{
return false;
}
return true;
}
}
/trunk/src/org/tela_botanica/client/util/Debug.java
25,4 → 25,10
return "";
}
public static native void LogVersFirebug(Object o) /*-{
if (!!($wnd.console && $wnd.console.log)) {
console.log(o);
}
}-*/;
}
/trunk/src/org/tela_botanica/client/vues/collection/CollectionForm.java
68,7 → 68,7
if (modeDeCreation.equals(Formulaire.MODE_MODIFIER)) {
mediateurCourrant.selectionnerCollection(this, collectionId, null, sequenceur);
mediateurCourrant.selectionnerCollectionAPersonne(this, collectionId, null, sequenceur);
mediateurCourrant.selectionnerCollectionAPublication(this, collectionId, sequenceur);
//mediateurCourrant.selectionnerCollectionAPublication(this, collectionId, sequenceur);
//mediateurCourrant.selectionnerCollectionACommentaire(this, collectionId, sequenceur);
}
}
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormPublication.java
18,6 → 18,7
import org.tela_botanica.client.modeles.collection.CollectionAPublication;
import org.tela_botanica.client.modeles.collection.CollectionAPublicationListe;
import org.tela_botanica.client.modeles.publication.Publication;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.vues.FenetreForm;
import org.tela_botanica.client.vues.Formulaire;
import org.tela_botanica.client.vues.FormulaireBarreValidation;
320,7 → 321,7
publicationLiee.set("_etat_", aDonnee.ETAT_AJOUTE);
grille.getGrille().stopEditing();
grille.getGrille().getStore().insert(publicationLiee, 0);
grille.getGrille().getStore().insert(publicationLiee, index);
grille.getGrille().startEditing(index, 0);
grille.getGrille().getSelectionModel().select(index, false);
}
388,6 → 389,12
CheckBox cbSource = new CheckBox();
boolean source = model.get("ccapu_source") != null && model.get("ccapu_source").equals("1");
Publication publiFromCache = Publication.publisSaisiesModifieesCache.get((new CollectionAPublication(model, false)).getPublication().getId());
if(publiFromCache != null) {
source = publiFromCache.get("ccapu_source") != null && publiFromCache.get("ccapu_source").equals("1");
}
cbSource.setValue(source);
 
final Integer ligne = rowIndex;
459,6 → 466,10
GridCellRenderer<ModelData> editeurRendu = new GridCellRenderer<ModelData>() {
public String render(ModelData model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ModelData> store, Grid<ModelData> grid) {
String editeur = (new CollectionAPublication(model, false)).getPublication().getNomEditeur();
// Des fois l'éditeur est vide, là intervient le caché fabriqué dans publication
if(editeur.isEmpty()) {
editeur = Publication.publisSaisiesModifieesCache.get((new CollectionAPublication(model, false)).getPublication().getId()).getNomEditeur();
}
model.set("_editeur_", editeur);
return editeur;
}
472,6 → 483,9
GridCellRenderer<ModelData> datePublicationRendu = new GridCellRenderer<ModelData>() {
public String render(ModelData model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ModelData> store, Grid<ModelData> grid) {
String annee = (new CollectionAPublication(model, false)).getPublication().getAnneeParution();
if(annee.isEmpty()) {
annee = Publication.publisSaisiesModifieesCache.get((new CollectionAPublication(model, false)).getPublication().getId()).getAnneeParution();
}
model.set("_annee_", annee);
return annee;
}
526,8 → 540,9
if (info.getDonnee(0) != null) {
Publication publication = (Publication) info.getDonnee(0);
ModelData publicationDansGrille = null;
publicationDansGrille = grille.getStore().findModel("cpu_id_publication", publication.getId());
int index = grille.getStore().indexOf(publicationDansGrille);
publicationDansGrille = grille.getStore().findModel("cpu_id_publication", publication.getId());
publication.set("ccapu_source", publicationDansGrille.get("ccapu_source"));
int index = grille.getStore().indexOf(publicationDansGrille);
grille.getStore().remove(publicationDansGrille);
ajouterDansGrille(publication, index);
}
/trunk/src/org/tela_botanica/client/vues/collection/CollectionDetailVue.java
739,7 → 739,7
ligneParams.set("auteur", publication.getAuteur());
ligneParams.set("titre", publication.getTitre());
ligneParams.set("revue", publication.getCollection());
ligneParams.set("editeur", publication.getEditeur());
ligneParams.set("editeur", publication.getNomEditeur());
ligneParams.set("annee", publication.getAnneeParution());
ligneParams.set("nvt", publication.getIndicationNvt());
ligneParams.set("fascicule", publication.getFascicule());
/trunk/src/org/tela_botanica/client/vues/publication/PublicationForm.java
951,6 → 951,9
} else if (!UtilString.isEmpty(editeurCombobox.getCombo().getRawValue())) {
editeur = editeurCombobox.getCombo().getRawValue();
}
Publication.editeurs.put(editeur, editeurCombobox.getCombo().getRawValue());
publicationCollectee.setEditeur(editeur);
String anneePublication = datePublicationChp.getRawValue();
969,6 → 972,8
if (!publicationCollectee.comparer(publication)) {
publicationARetourner = publication = publicationCollectee;
}
Publication.publisSaisiesModifieesCache.put(publicationId, publicationARetourner);
return publicationARetourner;
}