Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1877 → Rev 1878

/trunk/src/org/tela_botanica/client/vues/publication/PublicationForm.java
52,7 → 52,9
import com.extjs.gxt.ui.client.store.Store;
import com.extjs.gxt.ui.client.store.StoreEvent;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.Html;
import com.extjs.gxt.ui.client.widget.Info;
import com.extjs.gxt.ui.client.widget.Label;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.MessageBox;
import com.extjs.gxt.ui.client.widget.Text;
75,6 → 77,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.user.client.Window;
 
 
public class PublicationForm extends Formulaire implements Rafraichissable {
125,7 → 128,10
private String modeDeCreation = null;
boolean changeOrderMarker = false;
private Label infosAuteurFmt = null;
private ContentPanel infosAuteursNonPresentsPanel = null;
//+----------------------------------------------------------------------------------------------------------------+
// Constructeurs
149,7 → 155,6
this.publicationId = publicationId;
auteursInitialListe = new PublicationAPersonneListe();
initialiserAuteurs(); // Crée les listes d'auteurs ajoutés et supprimés
// Si 'publicationId' est vide alors on est en mode "AJOUTER", sinon on est en mode "MODIFIER"
modeDeCreation = (UtilString.isEmpty(publicationId) ? Formulaire.MODE_AJOUTER : Formulaire.MODE_MODIFIER);
initialiserFormulaire(mediateurCourrant, modeDeCreation, MenuApplicationId.PUBLICATION);
625,6 → 630,8
auteursInitialListe.put(pap.getId(), pap);
Log.debug("PublicationAPersonne ajoutée à la liste initiale avec l'id :"+pap.getId()+pap.toString()+selection.getProperties().toString());
}
controlerCoherenceAuteurs();
//zefgzf
Log.debug("Initialisation liste auteur :"+auteursInitialListe.size());
}
});
679,7 → 686,8
barreOutils = creerBarreOutilsGrille();
auteursFieldset.setTopComponent(barreOutils);
grilleAuteurs = creerGrilleAuteurs();
auteursFieldset.add(grilleAuteurs);
auteursFieldset.add(grilleAuteurs);
auteursFieldset.layout();
}
693,6 → 701,25
generalitesFieldset.setCollapsible(true);
generalitesFieldset.setLayout(layout);
infosAuteursNonPresentsPanel = new ContentPanel();
Label LabelAuteurFmt = new Label("Auteurs de la publication : ");
LabelAuteurFmt.setId("label-auteurs-non-presents");
infosAuteurFmt = new Label(publication.getAuteur());
Label avertissementAuteurs = new Label("Attention, Certains auteurs apparaissent ci-dessous mais pas dans la grille des auteurs. "+
"Ceci signifie que la publication a été importée sans que tous les auteurs aient été créés auparavant.<br />"+
"Si vous souhaitez modifier cette publication, nous vous invitons à y associer correctement les auteurs grâce à la grille ci-dessus.<br />");
infosAuteursNonPresentsPanel.setHeaderVisible(false);
infosAuteursNonPresentsPanel.setId("infos-auteurs-non-presents");
infosAuteursNonPresentsPanel.add(avertissementAuteurs);
infosAuteursNonPresentsPanel.add(LabelAuteurFmt);
infosAuteursNonPresentsPanel.add(infosAuteurFmt);
infosAuteursNonPresentsPanel.setVisible(false);
generalitesFieldset.add(infosAuteursNonPresentsPanel);
titreChp = new TextField<String>();
titreChp.setName("cpu");
titreChp.setFieldLabel("Titre de l'article ou de l'ouvrage");
1043,6 → 1070,30
return nomComplet;
}
public void controlerCoherenceAuteurs() {
if(doitAfficherAvertissementAuteur()) {
infosAuteurFmt.setHtml(publication.getAuteur());
infosAuteursNonPresentsPanel.setVisible(true);
infosAuteursNonPresentsPanel.setHeight(50);
} else {
infosAuteursNonPresentsPanel.setVisible(false);
infosAuteursNonPresentsPanel.setHeight(0);
}
}
private boolean doitAfficherAvertissementAuteur() {
String auteurFmtreconstruit = construireIntituleAuteur();
String[] auteurFmtreconstruitParts = auteurFmtreconstruit.split(",");
String[] auteurParts = publication.getAuteur().split(",");
String[] auteurFmtreconstruitSpaces = auteurFmtreconstruit.split(" ");
String[] auteurPartsSpaces = publication.getAuteur().split(" ");
return (modeDeCreation == MODE_MODIFIER &&
(auteurFmtreconstruitParts.length != auteurParts.length ||
auteurFmtreconstruitSpaces.length != auteurPartsSpaces.length));
}
//+----------------------------------------------------------------------------------------------------------------+
// Méthodes publiques