/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/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/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/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; |
} |
/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"); |
} |