90,6 → 90,8 |
private ComboBox<Valeur> typeRelationCombo = null; |
private List<Valeur> roles = null; |
private PublicationAPersonneListe listePublicationsLiees = new PublicationAPersonneListe(); |
boolean personneRecue = false; |
boolean rolesRecus = false; |
|
private FenetreForm fenetreFormulaire = null; |
|
119,25 → 121,7 |
} |
|
public void mettreAJourPersonne() { |
|
personneSelectionnee = ((PersonneForm) formulaire).personneSelectionnee; |
|
//Boucle sur les role pour trouver les publication à personne |
|
// FIXME ! |
//------------------- |
// Author : Cyprien |
//------------------- |
// J'ai rajouté le test (toString()!="") parce que bien que l'objet personneSelectionne soit vide, (personneSelectionnee!=null) retournait |
// tout de meme VRAI |
// Mais le vrai problème, c'est que personneSelectionne puisse être nul ! personneSelectionne devrait toujours etre affecté à quelqu'un. |
// De plus, il y a un étrange comportement lorsque l'on clique sur "modifier" une personne : je ne sais pas pourquoi mais les opérations |
// s'effectuent deux fois au lieu d'une, c-a-d que le formulaire lance deux fois l'operation rafraichir au lieu d'une ... et l'opération |
// rafraichir lance à son tour de nombreuses opérations qui en conséquence sont effectuées deux fois au lieu d'une |
if ((roles != null) && (personneSelectionnee!=null) && (!personneSelectionnee.toString().equals(""))) { |
|
mediateur.selectionnerPublicationAPersonne(this, null, personneSelectionnee.getId(), roles, null); |
} |
} |
|
private ContentPanel creerPanneauContenantGrille() { |
346,15 → 330,8 |
publicationsCombo.getCombo().addListener(Events.Select, new Listener<BaseEvent>() { |
public void handleEvent(BaseEvent be) { |
if (publicationsSaisiesComboBox.getValeur() instanceof ModelData) { |
|
Debug.log("modeldata = "+publicationsSaisiesComboBox.getValeur().getProperties().toString()); |
|
Publication publicationSaisieSelectionne = new Publication(publicationsSaisiesComboBox.getValeur(), false); |
|
Debug.log("publicationSaisieSelectionne="+publicationSaisieSelectionne.toString()); |
|
Publication publicationSaisieSelectionne = new Publication(publicationsSaisiesComboBox.getValeur(), false); |
ajouterDansGrille(publicationSaisieSelectionne); |
|
publicationsSaisiesComboBox.getCombo().setValue(null); |
} |
} |
377,8 → 354,6 |
|
publicationLiee.set("_etat_", aDonnee.ETAT_AJOUTE); |
listePublicationsLiees.put(publication.getId(), publicationLiee); |
|
Debug.log("insertion de : "+publicationLiee.toString()); |
|
// Ajout à la grille |
grille.getGrille().stopEditing(); |
436,7 → 411,7 |
modelTypePublicationAPersonne.addField("cpu_indication_nvt"); |
|
// Proxy |
ProxyPublicationsAPersonne<ModelData> proxyPublicationsAPersonne = new ProxyPublicationsAPersonne<ModelData>(null, null); |
ProxyPublicationsAPersonne<ModelData> proxyPublicationsAPersonne = new ProxyPublicationsAPersonne<ModelData>(null, null, null); |
|
// Colonnes |
List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>(); |
462,7 → 437,6 |
colonnes.add(new ColumnConfig("cpu_fascicule", i18nC.publicationFascicule(), 75)); |
colonnes.add(new ColumnConfig("cpu_truk_pages", i18nC.publicationPage(), 50)); |
|
|
HashMap<String, String> virtualFields = new HashMap<String, String>(); |
virtualFields.put("_editeur_", "cpu_ce_truk_editeur"); |
virtualFields.put("_annee_", "cpu_date_parution"); |
569,7 → 543,7 |
} |
} |
return retour; |
} |
} |
}; |
|
GridCellRenderer<ModelData> relationRendu = new GridCellRenderer<ModelData>() { |
578,8 → 552,15 |
String role = modele.get("_role_"); |
String roleNom = ""; |
if (typeRelationCombo.getStore() != null && role!=null && role.matches("[0-9]+")) { |
roleNom = typeRelationCombo.getStore().findModel("id_valeur", role).getNom(); |
role = typeRelationCombo.getStore().findModel("id_valeur", role).getId(); |
if (typeRelationCombo.getStore().findModel("id_valeur", role) != null) { |
roleNom = typeRelationCombo.getStore().findModel("id_valeur", role).getNom(); |
role = typeRelationCombo.getStore().findModel("id_valeur", role).getId(); |
} else { Debug.log("role recherche="+role); |
Debug.log("typeRelationCombo.getStore().getCount()="+typeRelationCombo.getStore().getCount()); |
for(int i=0; i<typeRelationCombo.getStore().getCount(); i++) { |
Debug.log(""+typeRelationCombo.getStore().getAt(i)); |
} |
} |
} |
modele.set("_role_", role); |
return roleNom; |
619,14 → 600,11 |
if (listeValeurs.getId().equals(config.getListeId("relationPersonnePublication"))) { |
Formulaire.rafraichirComboBox(listeValeurs, typeRelationCombo); |
roles = listeValeurs.toList(); |
mettreAJourPersonne(); |
rolesRecus = true; |
((ProxyPublicationsAPersonne)grille.getProxy()).setRolesId(roles); |
if (rolesRecus && personneRecue) grille.reload(); |
} |
} |
else if (nouvellesDonnees instanceof PublicationListe) |
{ |
/*PublicationListe listePublications = (PublicationListe) nouvellesDonnees; |
rafraichirPublicationListe(listePublications);*/ |
} |
else if (nouvellesDonnees instanceof PublicationAPersonneListe) |
{ |
PublicationAPersonneListe papl = (PublicationAPersonneListe) nouvellesDonnees; |
645,12 → 623,6 |
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
} |
} |
/* |
private void rafraichirPublicationListe(PublicationListe listePublications) { |
publicationsSaisiesComboBox.getStore().removeAll(); |
publicationsSaisiesComboBox.getStore().add(listePublications.toList()); |
publicationsSaisiesComboBox.expand(); |
}*/ |
|
public void rafraichirInformation(Information info) { |
if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) { |
660,7 → 632,8 |
if (type.equals("personne")) { |
mettreAJourPersonne(); |
((ProxyPublicationsAPersonne)grille.getProxy()).setPersonneId(personneSelectionnee.getId()); |
grille.reload(); |
personneRecue = true; |
if (rolesRecus && personneRecue) grille.reload(); |
} else if (type.equals("publication_liees")) { |
if (info.getDonnee(0) != null) { |
initialiser(); |