52,10 → 52,9 |
|
public class PublicationForm extends Formulaire implements Rafraichissable { |
|
private Publication publi; |
private PublicationAPersonneListe pubAPersonneListeAuteur = null; |
private Publication publication; |
private PublicationAPersonneListe publicationAPersonneListe = null; |
|
|
private FieldSet auteursFieldset = null; |
private ArrayList<ComboBox<Personne>> auteurComboboxListe = null; |
private PersonneListe listePersonneAuteur = null; |
63,31 → 62,28 |
private ListStore<Personne> auteursStorePartage = null; |
|
private FieldSet generalitesFieldset = null; |
private TextField<String> nomArticle = null; |
private TextField<String> intituleCollPub = null; |
private TextField<String> uriPub = null; |
private TextField<String> titreChp = null; |
private TextField<String> collectionChp = null; |
private TextField<String> uriChp = null; |
|
private FieldSet editionFieldset = null; |
private ComboBox<Structure> comboListeEditeurs = null; |
private ListStore<Structure> storeEditeurs = null; |
private TextField<String> datePub = null; |
private TextField<String> tomPub = null; |
private TextField<String> fasciculePub = null; |
private TextField<String> pagesPub = null; |
private ComboBox<Structure> editeursCombobox = null; |
private ListStore<Structure> editeursStore = null; |
private TextField<String> datePublicationChp = null; |
private TextField<String> tomeChp = null; |
private TextField<String> fasciculeChp = null; |
private TextField<String> pagesChp = null; |
|
private String idStructureEdition = ""; |
private String idPublication = ""; |
private String idProjet = ""; |
|
private String idAuteurs = ""; |
|
protected boolean listePersonneAuteurInitialisee = false; |
protected boolean listeAuteurPublicationInitialisee = false; |
|
private boolean formValide = false; |
private boolean validationPublication = false; |
private boolean validationAuteurs = false; |
|
protected boolean listePersonneAuteurInitialisee = false; |
protected boolean listeAuteurPublicationInitialisee = false; |
|
|
private Rafraichissable vueExterneARafraichirApresValidation = null; |
|
public PublicationForm(Mediateur mediateurCourrant, String publicationId) { |
240,19 → 236,19 |
generalitesFieldset.setCollapsible(true); |
generalitesFieldset.setLayout(layout); |
|
nomArticle = new TextField<String>(); |
nomArticle.setName("cpu"); |
nomArticle.setFieldLabel("Titre de l'article ou de l'ouvrage"); |
titreChp = new TextField<String>(); |
titreChp.setName("cpu"); |
titreChp.setFieldLabel("Titre de l'article ou de l'ouvrage"); |
|
intituleCollPub = new TextField<String>(); |
intituleCollPub.setFieldLabel("Intitulé de la collection ou de la revue"); |
collectionChp = new TextField<String>(); |
collectionChp.setFieldLabel("Intitulé de la collection ou de la revue"); |
|
uriPub = new TextField<String>(); |
uriPub.setFieldLabel("URI de la publication"); |
uriChp = new TextField<String>(); |
uriChp.setFieldLabel("URI de la publication"); |
|
generalitesFieldset.add(nomArticle); |
generalitesFieldset.add(intituleCollPub); |
generalitesFieldset.add(uriPub); |
generalitesFieldset.add(titreChp); |
generalitesFieldset.add(collectionChp); |
generalitesFieldset.add(uriChp); |
} |
|
private void creerZoneEdition() { |
265,34 → 261,34 |
editionFieldset.setCollapsible(true); |
editionFieldset.setLayout(layout); |
|
storeEditeurs = new ListStore<Structure>(); |
comboListeEditeurs = new ComboBox<Structure>(); |
comboListeEditeurs.setEmptyText("Sélectionner un editeur..."); |
comboListeEditeurs.setFieldLabel("Editeur de la publication"); |
comboListeEditeurs.setDisplayField("nom"); |
comboListeEditeurs.setStore(storeEditeurs); |
comboListeEditeurs.setEditable(true); |
comboListeEditeurs.setTypeAhead(true); |
comboListeEditeurs.setTriggerAction(TriggerAction.QUERY); |
editionFieldset.add(comboListeEditeurs, new FormData(500, 20)); |
editeursStore = new ListStore<Structure>(); |
editeursCombobox = new ComboBox<Structure>(); |
editeursCombobox.setEmptyText("Sélectionner un editeur..."); |
editeursCombobox.setFieldLabel("Editeur de la publication"); |
editeursCombobox.setDisplayField("nom"); |
editeursCombobox.setStore(editeursStore); |
editeursCombobox.setEditable(true); |
editeursCombobox.setTypeAhead(true); |
editeursCombobox.setTriggerAction(TriggerAction.QUERY); |
editionFieldset.add(editeursCombobox, new FormData(500, 20)); |
|
datePub = new TextField<String>(); |
datePub.setMaxLength(4); |
datePub.setMinLength(4); |
datePub.setFieldLabel("Année de publication"); |
editionFieldset.add(datePub, new FormData(40, 20)); |
datePublicationChp = new TextField<String>(); |
datePublicationChp.setMaxLength(4); |
datePublicationChp.setMinLength(4); |
datePublicationChp.setFieldLabel("Année de publication"); |
editionFieldset.add(datePublicationChp, new FormData(40, 20)); |
|
tomPub = new TextField<String>(); |
tomPub.setFieldLabel("Tome"); |
editionFieldset.add(tomPub, new FormData(75, 20)); |
tomeChp = new TextField<String>(); |
tomeChp.setFieldLabel("Tome"); |
editionFieldset.add(tomeChp, new FormData(75, 20)); |
|
fasciculePub = new TextField<String>(); |
fasciculePub.setFieldLabel("Fascicule"); |
editionFieldset.add(fasciculePub, new FormData(75, 20)); |
fasciculeChp = new TextField<String>(); |
fasciculeChp.setFieldLabel("Fascicule"); |
editionFieldset.add(fasciculeChp, new FormData(75, 20)); |
|
pagesPub = new TextField<String>(); |
pagesPub.setFieldLabel("Pages"); |
editionFieldset.add(pagesPub, new FormData(100, 20)); |
pagesChp = new TextField<String>(); |
pagesChp.setFieldLabel("Pages"); |
editionFieldset.add(pagesChp, new FormData(100, 20)); |
} |
|
public void rafraichir(Object nouvellesDonnees) { |
317,39 → 313,37 |
} |
} |
|
private void rafraichirPublication(Publication publication) { |
publi = publication; |
private void rafraichirPublication(Publication publi) { |
publication = publi; |
|
genererChampsAuteur(true); |
nomArticle.setValue(publi.getTitre()); |
intituleCollPub.setValue(publi.getCollection()); |
uriPub.setValue(publi.getURI()); |
datePub.setRawValue(reduireDateParAnnee(publi.getDateParution())); |
tomPub.setValue(publi.getIndicationNvt()); |
fasciculePub.setValue(publi.getFascicule()); |
pagesPub.setValue(publi.getPages()); |
idPublication = publi.getId(); |
idStructureEdition = publi.getEditeur(); |
idProjet = publi.getIdProjet() ; |
titreChp.setValue(publication.getTitre()); |
collectionChp.setValue(publication.getCollection()); |
uriChp.setValue(publication.getURI()); |
datePublicationChp.setRawValue(reduireDateParAnnee(publication.getDateParution())); |
tomeChp.setValue(publication.getIndicationNvt()); |
fasciculeChp.setValue(publication.getFascicule()); |
pagesChp.setValue(publication.getPages()); |
idStructureEdition = publication.getEditeur(); |
} |
|
private void rafraichirListeEditeurs(StructureListe editeurs) { |
storeEditeurs.removeAll(); |
storeEditeurs.add((List<Structure>) editeurs.toList()); |
editeursStore.removeAll(); |
editeursStore.add((List<Structure>) editeurs.toList()); |
|
if (mode.equals(Formulaire.MODE_MODIFIER)) { |
comboListeEditeurs.setValue((Structure) editeurs.get(idStructureEdition)); |
editeursCombobox.setValue((Structure) editeurs.get(idStructureEdition)); |
} |
comboListeEditeurs.expand(); |
editeursCombobox.expand(); |
} |
|
private void rafraichirListeAuteurs(PublicationAPersonneListe auteurs) { |
pubAPersonneListeAuteur = auteurs; |
publicationAPersonneListe = auteurs; |
|
if (listePersonneAuteurInitialisee) { |
Iterator<String> itap = pubAPersonneListeAuteur.keySet().iterator(); |
Iterator<String> itap = publicationAPersonneListe.keySet().iterator(); |
while (itap.hasNext()) { |
creerTextFieldEtBouton(pubAPersonneListeAuteur.get(itap.next()).getPersonne()); |
creerTextFieldEtBouton(publicationAPersonneListe.get(itap.next()).getPersonne()); |
} |
|
int nbAuteurs = 0; |
364,6 → 358,7 |
} |
|
private void rafraichirInformation(Information info) { |
GWT.log("la", null); |
if (info.getType().equals("liste_personne")) { |
listePersonneAuteurInitialisee = true; |
listePersonneAuteur = (PersonneListe) info.getDonnee(0); |
372,15 → 367,16 |
auteursStorePartage.add(liste); |
} else if (info.getType().equals("publication_valide")) { |
validationPublication = true; |
idPublication = (String) info.getDonnee(0); |
publication.setId((String) info.getDonnee(0)); |
|
if (mode.equals(Formulaire.MODE_AJOUTER)) { |
mediateur.ajouterAuteurPublication(this, idAuteurs, PublicationAPersonne.ROLE_AUTEUR, idPublication); |
mediateur.ajouterAuteurPublication(this, idAuteurs, PublicationAPersonne.ROLE_AUTEUR, publication.getId()); |
} else if (mode.equals(Formulaire.MODE_MODIFIER)) { |
mediateur.modifierAuteurPublication(this, idAuteurs, idPublication); |
mediateur.modifierAuteurPublication(this, idAuteurs, publication.getId()); |
} |
} else if (info.getType().equals("auteur_valide")) { |
validationAuteurs = true; |
GWT.log("ici", null); |
} |
} |
|
400,69 → 396,29 |
|
private void repandreRafraichissement() { |
if (vueExterneARafraichirApresValidation != null) { |
Information info = new Information(""); |
|
String type = "publication_modifiee"; |
if (mode.equals(Formulaire.MODE_AJOUTER)) { |
type = "publication_ajoutee"; |
} |
Information info = new Information(type); |
info.setDonnee(0, publication); |
vueExterneARafraichirApresValidation.rafraichir(info); |
} |
} |
|
public void soumettreFormulaire() { |
public boolean soumettreFormulaire() { |
formValide = verifierFormulaire(); |
if (formValide) { |
Publication publication = new Publication(); |
|
String auteur = ""; |
for (int i = 0; i < auteurComboboxListe.size(); i++) { |
if (auteurComboboxListe.get(i).getValue() != null) { |
idAuteurs += auteurComboboxListe.get(i).getValue().getId(); |
auteur += auteurComboboxListe.get(i).getValue().getNom()+ " "+auteurComboboxListe.get(i).getValue().getPrenom(); |
if (i != auteurComboboxListe.size() -1) { |
auteur += "|"; |
idAuteurs += ","; |
} |
Publication publicationCollectee = collecterPublication(); |
if (publicationCollectee != null) { |
if (mode.equals(Formulaire.MODE_AJOUTER)) { |
mediateur.ajouterPublication(this, publicationCollectee); |
} else if (mode.equals(Formulaire.MODE_MODIFIER)) { |
mediateur.modifierPublication(this, publicationCollectee); |
} |
} |
publication.setAuteur(auteur); |
|
String titre = nomArticle.getValue(); |
publication.setTitre(titre); |
|
String collection = intituleCollPub.getValue(); |
publication.setCollection(collection); |
|
String nomComplet = nomArticle.getValue()+" "+intituleCollPub.getValue(); |
publication.setNomComplet(nomComplet); |
|
String uri = uriPub.getValue(); |
publication.setUri(uri); |
|
String editeur = ""; |
if (comboListeEditeurs.getValue() != null) { |
editeur = comboListeEditeurs.getValue().getId(); |
} else if (comboListeEditeurs.getRawValue() != "") { |
editeur = comboListeEditeurs.getRawValue(); |
} |
publication.setEditeur(editeur); |
|
String datePar = datePub.getRawValue(); |
datePar = datePar+"-00-00"; |
|
String tome = tomPub.getValue(); |
publication.setIndicationNvt(tome); |
|
String fascicule = fasciculePub.getValue(); |
publication.setFascicule(fascicule); |
|
String pages = pagesPub.getValue(); |
publication.setPages(pages); |
|
|
if (mode.equals(Formulaire.MODE_AJOUTER)) { |
mediateur.ajouterPublication(this, publication); |
} else if (mode.equals(Formulaire.MODE_MODIFIER)) { |
mediateur.modifierPublication(this, publication); |
} |
} |
return formValide; |
} |
|
private boolean verifierFormulaire() { |
469,10 → 425,10 |
boolean valide = true; |
ArrayList<String> messages = new ArrayList<String>(); |
|
boolean auteurErreur = false; |
boolean auteurErreur = true; |
for (int i = 0; i < auteurComboboxListe.size(); i++) { |
if (auteurComboboxListe.get(i).getValue() != null) { |
auteurErreur = true; |
auteurErreur = false; |
break; |
} |
} |
480,12 → 436,12 |
messages.add("Veuillez saisir au moins un auteur !"); |
} |
|
String titre = nomArticle.getValue(); |
String titre = titreChp.getValue(); |
if (titre == null || titre.equals("")) { |
messages.add("Veuillez saisir le titre de la publication !"); |
} |
|
String datePar = datePub.getRawValue(); |
String datePar = datePublicationChp.getRawValue(); |
if (datePar == null || datePar.equals("")) { |
messages.add("Veuillez saisir une date !"); |
} else { |
503,9 → 459,66 |
return valide; |
} |
|
private Publication collecterPublication() { |
Publication publicationARetourner = null; |
Publication publicationCollectee = (Publication) publication.cloner(new Publication()); |
|
String auteur = ""; |
for (int i = 0; i < auteurComboboxListe.size(); i++) { |
if (auteurComboboxListe.get(i).getValue() != null) { |
idAuteurs += auteurComboboxListe.get(i).getValue().getId(); |
auteur += auteurComboboxListe.get(i).getValue().getNom()+ " "+auteurComboboxListe.get(i).getValue().getPrenom(); |
if (i != auteurComboboxListe.size() -1) { |
auteur += "|"; |
idAuteurs += ","; |
} |
} |
} |
publicationCollectee.setAuteur(auteur); |
|
String titre = titreChp.getValue(); |
publicationCollectee.setTitre(titre); |
|
String collection = collectionChp.getValue(); |
publicationCollectee.setCollection(collection); |
|
String nomComplet = titreChp.getValue()+" "+collectionChp.getValue(); |
publicationCollectee.setNomComplet(nomComplet); |
|
String uri = uriChp.getValue(); |
publicationCollectee.setUri(uri); |
|
String editeur = ""; |
if (editeursCombobox.getValue() != null) { |
editeur = editeursCombobox.getValue().getId(); |
} else if (editeursCombobox.getRawValue() != "") { |
editeur = editeursCombobox.getRawValue(); |
} |
publicationCollectee.setEditeur(editeur); |
|
String datePar = datePublicationChp.getRawValue(); |
datePar = datePar+"-00-00"; |
publicationCollectee.setDateParution(datePar); |
|
String tome = tomeChp.getValue(); |
publicationCollectee.setIndicationNvt(tome); |
|
String fascicule = fasciculeChp.getValue(); |
publicationCollectee.setFascicule(fascicule); |
|
String pages = pagesChp.getValue(); |
publicationCollectee.setPages(pages); |
|
if (!publicationCollectee.comparer(publication)) { |
publicationARetourner = publication = publicationCollectee; |
} |
|
return publicationARetourner; |
} |
|
protected void reinitialiserFormulaire() { |
if (mode.equals(Formulaire.MODE_MODIFIER)) { |
mediateur.afficherFormPublication(publi.getId()); |
mediateur.afficherFormPublication(publication.getId()); |
} else { |
mediateur.afficherFormPublication(null); |
} |