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,36 |
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() { |
// La construction du fmt nom complet des auteurs étant mal fichue |
// il est plus simple de comparer le nombre d'item une fois les chaines |
// splittées par virgules, ainsi que le nombre d'espace |
String auteurFmtreconstruit = construireIntituleAuteur(); |
String[] auteurFmtreconstruitParts = auteurFmtreconstruit.split(","); |
String[] auteurParts = publication.getAuteur().split(","); |
|
String[] auteurFmtreconstruitSpaces = auteurFmtreconstruit.split(" "); |
String[] auteurPartsSpaces = publication.getAuteur().split(" "); |
|
boolean unEstVideEtAutreNon = (auteurFmtreconstruit.trim().isEmpty() != publication.getAuteur().isEmpty()); |
|
return (modeDeCreation == MODE_MODIFIER && |
(unEstVideEtAutreNon || |
auteurFmtreconstruitParts.length != auteurParts.length || |
auteurFmtreconstruitSpaces.length != auteurPartsSpaces.length)); |
} |
|
//+----------------------------------------------------------------------------------------------------------------+ |
// Méthodes publiques |
|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/publication/PublicationForm.java:r1878-1880 |