Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 798 → Rev 799

/trunk/src/org/tela_botanica/client/vues/PublicationForm.java
97,6 → 97,7
private void initialiserPublicationForm(Mediateur mediateurCourrant, String publicationId) {
String modeDeCreation = Formulaire.MODE_AJOUTER;
publication = new Publication();
if (publicationId != null) {
modeDeCreation = Formulaire.MODE_MODIFIER;
}
442,11 → 443,11
messages.add("L'URL saisie n'est pas valide !");
}
String datePar = datePublicationChp.getRawValue();
if (datePar == null || datePar.equals("")) {
messages.add("Veuillez saisir une date !");
String datePublication = datePublicationChp.getRawValue();
if (datePublication == null || datePublication.equals("")) {
messages.add("Veuillez saisir une année de parution !");
} else {
if (!etreDateValide(datePar)) {
if (!etreDateValide(datePublication)) {
messages.add("Le format de l'année saisie est incorrect !");
}
}
453,7 → 454,7
String pages = pagesChp.getValue();
String valeurPage = "(?:[0-9]+|[IVXLCDM]+|\\?)";
if (! pages.matches("^(?:"+valeurPage+"|"+valeurPage+"-"+valeurPage+")$")) {
if (pages != null && ! pages.matches("^(?:"+valeurPage+"|"+valeurPage+"-"+valeurPage+")$")) {
messages.add("Le format des pages est incorrect !");
}
460,7 → 461,7
if (messages.size() != 0) {
String[] tableauDeMessages = {};
tableauDeMessages = messages.toArray(tableauDeMessages);
MessageBox.alert("Erreurs de saisies", UtilArray.implode(tableauDeMessages, "\n\n"), null);
MessageBox.alert("Erreurs de saisies", UtilArray.implode(tableauDeMessages, "<br />"), null);
valide = false;
}
return valide;
498,6 → 499,7
String editeur = "";
if (editeurCombobox.getValue() != null) {
editeur = editeurCombobox.getValue().getId();
publicationCollectee.setStructureEditeur(editeurCombobox.getValue());
} else if (editeurCombobox.getRawValue() != "") {
editeur = editeurCombobox.getRawValue();
}
/trunk/src/org/tela_botanica/client/vues/CollectionFormPublication.java
11,6 → 11,8
import org.tela_botanica.client.modeles.PublicationListe;
import org.tela_botanica.client.modeles.ValeurListe;
 
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
import com.extjs.gxt.ui.client.core.XTemplate;
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.ComponentEvent;
34,11 → 36,16
import com.extjs.gxt.ui.client.widget.grid.Grid;
import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer;
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
import com.extjs.gxt.ui.client.widget.grid.HeaderGroupConfig;
import com.extjs.gxt.ui.client.widget.grid.RowExpander;
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
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.event.shared.GwtEvent;
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.ui.Image;
 
public class CollectionFormPublication extends FormulaireOnglet implements Rafraichissable {
private ContentPanel panneauPrincipal = null;
293,7 → 300,8
publication.set("etat", ETAT_AJOUTE);
// Ajout à la grille
grille.getStore().insert(publication, 0);
grille.getStore().insert(publication, 0);
grille.getSelectionModel().select(0, false);
}
}
322,27 → 330,26
}
});
RowNumberer pluginLigneNumero = new RowNumberer();
RowNumberer numeroPlugin = new RowNumberer();
numeroPlugin.setHeader("#");
GridCellRenderer<Publication> infoBulle = new GridCellRenderer<Publication>() {
@Override
public String render(Publication model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<Publication> store, Grid<Publication> grid) {
String valeur = (String) model.get(property);
return "<span title='"+valeur+"'>" + valeur + "</span>";
}
};
XTemplate infoTpl = XTemplate.create("<p>"+
"<span style='font-weight:bold;'>"+i18nC.publicationAuteurs()+" :</span> {fmt_auteur}<br />"+
"<span style='font-weight:bold;'>"+i18nC.publicationTitre()+" :</span> {titre}<br />"+
"<span style='font-weight:bold;'>"+i18nC.publicationRevueCollection()+" :</span> {collection}<br />"+
"<span style='font-weight:bold;'>"+i18nC.publicationEditeur()+" :</span> {_editeur_}"+
"</p>");
RowExpander expansionPlugin = new RowExpander();
expansionPlugin.setTemplate(infoTpl);
List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
colonnes.add(pluginLigneNumero);
ColumnConfig fmtAuteurColonne = new ColumnConfig("fmt_auteur", i18nC.publicationAuteurs(), 150);
fmtAuteurColonne.setRenderer(infoBulle);
colonnes.add(fmtAuteurColonne);
ColumnConfig titreColonne = new ColumnConfig("titre", i18nC.publicationTitre(), 150);
titreColonne.setRenderer(infoBulle);
colonnes.add(titreColonne);
colonnes.add(expansionPlugin);
colonnes.add(numeroPlugin);
colonnes.add(new ColumnConfig("fmt_auteur", i18nC.publicationAuteurs(), 150));
colonnes.add(new ColumnConfig("titre", i18nC.publicationTitre(), 150));
colonnes.add(new ColumnConfig("collection", i18nC.publicationRevueCollection(), 75));
colonnes.add(new ColumnConfig("editeur", i18nC.publicationEditeur(), 75));
colonnes.add(new ColumnConfig("date_parution", i18nC.publicationDateParution(), 75));
colonnes.add(creerColonneEditeur());
colonnes.add(creerColonneAnneePublication());
colonnes.add(new ColumnConfig("indication_nvt", i18nC.publicationNvt(), 75));
colonnes.add(new ColumnConfig("fascicule", i18nC.publicationFascicule(), 75));
colonnes.add(new ColumnConfig("truk_pages", i18nC.publicationPage(), 50));
350,13 → 357,17
GridSelectionModel<Publication> modeleDeSelection = new GridSelectionModel<Publication>();
ColumnModel modeleDeColonnes = new ColumnModel(colonnes);
modeleDeColonnes.getColumn(0).setWidget(Images.ICONES.aide().createImage(), "Info");
//modeleDeColonnes.addHeaderGroup(0, 0, new HeaderGroupConfig(Images.ICONES.aide().createImage(), 1, 1));
Grid<Publication> grillePublications = new Grid<Publication>(storeGrille, modeleDeColonnes);
grillePublications.setHeight("100%");
grillePublications.setBorders(true);
grillePublications.setSelectionModel(modeleDeSelection);
grillePublications.addPlugin(pluginLigneNumero);
grillePublications.addPlugin(expansionPlugin);
grillePublications.addPlugin(numeroPlugin);
grillePublications.getView().setForceFit(true);
grillePublications.getView().setAutoFill(true);
grillePublications.setAutoExpandColumn("titre");
grillePublications.setStripeRows(true);
grillePublications.setTrackMouseOver(true);
364,6 → 375,34
return grillePublications;
}
private ColumnConfig creerColonneEditeur() {
GridCellRenderer<Publication> editeurRendu = new GridCellRenderer<Publication>() {
@Override
public String render(Publication model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<Publication> store, Grid<Publication> grid) {
String editeur = model.getNomEditeur();
model.set("_editeur_", editeur);
return editeur;
}
};
ColumnConfig editeurColonne = new ColumnConfig("_editeur_", i18nC.publicationEditeur(), 75);
editeurColonne.setRenderer(editeurRendu);
return editeurColonne;
}
private ColumnConfig creerColonneAnneePublication() {
GridCellRenderer<Publication> datePublicationRendu = new GridCellRenderer<Publication>() {
@Override
public String render(Publication model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<Publication> store, Grid<Publication> grid) {
String annee = model.getAnneeParution();
model.set("_annee_", annee);
return annee;
}
};
ColumnConfig datePublicationColonne = new ColumnConfig("_annee_", i18nC.publicationDateParution(), 75);
datePublicationColonne.setRenderer(datePublicationRendu);
return datePublicationColonne;
}
 
public void actualiserEtatBoutonsBarreOutils() {
// Activation des boutons si la grille contient un élément
if (grille.getStore().getCount() > 0) {
424,10 → 463,17
if (info.getDonnee(0) != null) {
Publication publication = (Publication) info.getDonnee(0);
Publication publicationDansGrille = grille.getStore().findModel("id_publication", publication.getId());
publicationDansGrille.mettreAJour(publication);
grille.getStore().update(publicationDansGrille);
int index = grille.getStore().indexOf(publicationDansGrille);
grille.getStore().remove(publicationDansGrille);
grille.getStore().insert(publication, index);
grille.getStore().commitChanges();
}
} else if (type.equals("publication_ajoutee")) {
if (info.getDonnee(0) != null) {
Publication publication = (Publication) info.getDonnee(0);
grille.getStore().add(publication);
grille.getStore().commitChanges();
}
} else {
GWT.log(Mediateur.i18nM.erreurRafraichir(info.getClass(), this.getClass()), null);
}
/trunk/src/org/tela_botanica/client/modeles/Publication.java
7,6 → 7,7
private static final long serialVersionUID = 4142843068041690126L;
 
private static final String PREFIXE = "cpu";
private Structure editeur = null;
public Publication() {
}
13,6 → 14,7
public Publication(JSONObject publication) {
initialiserModele(publication);
editeur = new Structure(publication);
}
@Override
20,8 → 22,8
return PREFIXE;
}
public String getNomEditeur() {
return renvoyerValeurCorrecte("cs_nom");
public void setStructureEditeur(Structure structure) {
editeur = structure;
}
 
public String getId() {
73,6 → 75,13
this.set("titre", titre);
}
 
public String getNomEditeur() {
String editeurNom = getEditeur();
if (editeurNom.matches("[0-9]+")) {
editeurNom = editeur.getNom();
}
return editeurNom;
}
public String getEditeur() {
return getChaineDenormaliseUnique("ce_truk_editeur");
}
80,6 → 89,9
setChaineDenormaliseUnique("ce_truk_editeur", "AUTRE", editeur);
}
 
public String getAnneeParution() {
return renvoyerValeurCorrecte("date_parution").substring(0, 4);
}
public String getDateParution() {
return renvoyerValeurCorrecte("date_parution");
}