19,6 → 19,7 |
import org.tela_botanica.client.modeles.publication.PublicationAPersonneListe; |
import org.tela_botanica.client.modeles.structure.Structure; |
import org.tela_botanica.client.modeles.structure.StructureListe; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.util.Pattern; |
import org.tela_botanica.client.util.UtilArray; |
import org.tela_botanica.client.util.UtilString; |
77,6 → 78,7 |
private static boolean formulaireValideOk = false; |
private static boolean publicationValideOk = false; |
private static boolean auteursValideOk = false; |
private static boolean publicationOk = false; |
private static boolean attenteAjoutAuteursOk = true; |
private static boolean attenteSuppressionAuteursOk = true; |
|
139,6 → 141,7 |
auteursFieldset.setCollapsible(true); |
auteursFieldset.setLayout(layout); |
|
Debug.log("Dans creerZoneAuteurs"); |
auteurComboboxListe = new ArrayList<ComboBox<Personne>>(0); |
auteursStorePartage = new ListStore<Personne>(); |
mediateur.clicObtenirListeAuteurs(this); |
161,7 → 164,7 |
|
auteursFieldset.add(conteneurChamps); |
auteursFieldset.add(ajouterAuteurBouton); |
auteursFieldset.layout(true); |
auteursFieldset.layout(); |
|
if (mode.equals(Formulaire.MODE_AJOUTER)) { |
creerChampAuteurEtBoutonSupprimer(null); |
174,7 → 177,7 |
|
final ComboBox<Personne> auteursSaisisComboBox = creerComboBoxAuteursSaisis(); |
if (auteur != null) { |
auteursSaisisComboBox.setValue(auteursStorePartage.findModel("id_personne", auteur.getId())); |
auteursSaisisComboBox.setValue(auteur); |
auteursSaisisComboBox.validate(); |
} |
auteurComboboxListe.add(auteursSaisisComboBox); |
200,13 → 203,13 |
numeroAuteurs++; |
} |
|
auteursFieldset.layout(true); |
auteursFieldset.layout(); |
} |
}); |
panneauHorizontal.add(supprimerAuteurBouton); |
|
conteneurChamps.add(panneauHorizontal); |
auteursFieldset.layout(true); |
auteursFieldset.layout(); |
} |
|
private ComboBox<Personne> creerComboBoxAuteursSaisis() { |
213,6 → 216,7 |
ComboBox<Personne> comboBox = new ComboBox<Personne>(); |
comboBox.setEmptyText(i18nC.chercherPersonneSaisi()); |
comboBox.setEditable(true); |
comboBox.setAllowBlank(false); |
comboBox.setForceSelection(true); |
comboBox.setDisplayField("fmt_nom_complet"); |
comboBox.setTriggerAction(TriggerAction.ALL); |
339,8 → 343,8 |
} |
|
if (etrePretAAfficherAuteurs()) { |
afficherAuteurs(); |
initialiserAffichageAuteurs(); |
afficherAuteurs(); |
} |
|
if (etreValide()) { |
365,6 → 369,7 |
} |
|
private void rafraichirPublication(Publication publi) { |
publicationOk = true; |
publication = publi; |
peuplerFormulaire(); |
genererTitreFormulaire(); |
428,9 → 433,10 |
} |
|
if (avoirAuteursMiseAJourCorrectement()) { |
auteursValideOk = true; |
Debug.log("Mise à jour liste auteur"); |
miseAJourPublicationAPersonneListe(); |
initialiserAuteurs(); |
auteursValideOk = true; |
} |
} |
|
450,6 → 456,7 |
} |
|
private void initialiserAffichageAuteurs() { |
publicationOk = false; |
auteurStorePartageChargementOk = false; |
publicationAPersonneListeChargementOk = false; |
} |
456,7 → 463,7 |
|
private boolean etrePretAAfficherAuteurs() { |
boolean ok = false; |
if (auteurStorePartageChargementOk && publicationAPersonneListeChargementOk) { |
if (publicationOk && auteurStorePartageChargementOk && publicationAPersonneListeChargementOk) { |
ok = true; |
} |
return ok; |
531,10 → 538,15 |
} |
|
PersonneListe personnesActuelles = new PersonneListe(); |
for (int i = 0; i < auteurComboboxListe.size(); i++) { |
if (auteurComboboxListe.get(i).getValue() != null) { |
Personne personne = auteurComboboxListe.get(i).getValue(); |
personnesActuelles.put(personne.getId(), personne); |
if (auteurComboboxListe != null) { |
Iterator<ComboBox<Personne>> itcp = auteurComboboxListe.iterator(); |
while (itcp.hasNext()) { |
Personne personne = itcp.next().getValue(); |
if (personne != null) { |
personnesActuelles.put(personne.getId(), personne); |
} else { |
Debug.log(itcp.next().getRawValue()); |
} |
} |
} |
|
582,6 → 594,7 |
mediateur.supprimerPublicationAPersonne(this, auteursSupprimes); |
} |
} |
Debug.log("personnesInitiales:"+personnesInitiales.size()+" - personnesActuelles :"+personnesActuelles.size()+" - auteursSupprimes :"+auteursSupprimes.size()+" - auteursAjoutes :"+auteursAjoutes.size()); |
} |
|
public boolean verifierFormulaire() { |