Subversion Repositories eFlore/Applications.coel

Compare Revisions

No changes between revisions

Ignore whitespace Rev 1512 → Rev 1513

/trunk/src/org/tela_botanica/client/vues/publication/PublicationVue.java
Property changes:
Modified: svn:mergeinfo
Merged /trunk/src/org/tela_botanica/client/vues/publication/PublicationVue.java:r11-934
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/publication/PublicationVue.java:r1417-1511
/trunk/src/org/tela_botanica/client/vues/publication/PublicationListeVue.java
Property changes:
Modified: svn:mergeinfo
Merged /trunk/src/org/tela_botanica/client/vues/publication/PublicationListeVue.java:r11-934
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/publication/PublicationListeVue.java:r1417-1511
/trunk/src/org/tela_botanica/client/vues/publication/PublicationDetailVue.java
Property changes:
Modified: svn:mergeinfo
Merged /trunk/src/org/tela_botanica/client/vues/publication/PublicationDetailVue.java:r11-934
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/publication/PublicationDetailVue.java:r1417-1511
/trunk/src/org/tela_botanica/client/vues/publication/PublicationForm.java
1,6 → 1,7
package org.tela_botanica.client.vues.publication;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
 
7,9 → 8,12
import org.tela_botanica.client.ComposantClass;
import org.tela_botanica.client.Mediateur;
import org.tela_botanica.client.composants.ChampComboBoxRechercheTempsReelPaginable;
import org.tela_botanica.client.composants.GrillePaginable;
import org.tela_botanica.client.composants.InfoLogger;
import org.tela_botanica.client.composants.pagination.ProxyPersonnes;
import org.tela_botanica.client.composants.pagination.ProxyPersonnesAPublication;
import org.tela_botanica.client.composants.pagination.ProxyProjets;
import org.tela_botanica.client.composants.pagination.ProxyPublicationsAPersonne;
import org.tela_botanica.client.composants.pagination.ProxyStructures;
import org.tela_botanica.client.images.Images;
import org.tela_botanica.client.interfaces.Rafraichissable;
35,6 → 39,7
 
import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.Style.SortDir;
import com.extjs.gxt.ui.client.core.XTemplate;
import com.extjs.gxt.ui.client.data.ModelData;
import com.extjs.gxt.ui.client.data.ModelType;
import com.extjs.gxt.ui.client.event.BaseEvent;
66,6 → 71,7
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
import com.extjs.gxt.ui.client.widget.grid.RowExpander;
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
114,7 → 120,7
private LayoutContainer zoneHaut, zoneBas;
private ToolBar barreOutils = null;
private EditorGrid<PublicationAPersonne> grilleAuteurs;
private GrillePaginable<ModelData> grilleAuteurs;
private ChampComboBoxRechercheTempsReelPaginable personnesSaisiesComboBox = null;
private Button personnesBoutonSupprimer = null;
private Button personnesBoutonModifier = null;
176,7 → 182,6
if (modeDeCreation.equals(Formulaire.MODE_MODIFIER)) {
mediateurCourrant.selectionnerPublication(this, publicationId, sequenceur);
mediateurCourrant.selectionnerPublicationAPersonne(this, publicationId, null, PublicationAPersonne.ROLE_AUTEUR, sequenceur);
sequenceur.enfilerRafraichissement(this, new Information("chargement_modifier_ok"));
}
}
244,26 → 249,30
Button bouton = new Button();
bouton.setIcon(Images.ICONES.arrowUp());
bouton.setEnabled(false);
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
if (grilleAuteurs.getSelectionModel().getSelectedItem() != null) {
if (grilleAuteurs.getGrille().getSelectionModel().getSelectedItem() != null) {
PublicationAPersonne pap = grilleAuteurs.getSelectionModel().getSelectedItem();
ModelData publiAPersonneSelectionnee = grilleAuteurs.getSelectionModel().getSelectedItem();
int index = grilleAuteurs.getStore().indexOf(pap);
int newIndex = index;
newIndex--;
int index = grilleAuteurs.getStore().indexOf(publiAPersonneSelectionnee);
int newIndex = index - 1; // l'auteur monte dans dans la liste donc son ordre diminue
int newOrdre = newIndex + 1; // parce que index commence à zéro
// le marqueur suivant est obligatoire sinon les évènements liés au magasin se
// déclenchent et posent problème
changeOrderMarker = true;
pap.setOrdreAuteurs(String.valueOf(newIndex+1));
PublicationAPersonne papSwitch = grilleAuteurs.getStore().getAt(index-1);
int newIndexPapSwitch = index + 1;
papSwitch.setOrdreAuteurs(String.valueOf(newIndexPapSwitch));
grilleAuteurs.getStore().update(papSwitch);
grilleAuteurs.getStore().remove(pap);
grilleAuteurs.getStore().insert(pap, newIndex);
publiAPersonneSelectionnee.set("_ordre_", String.valueOf(newOrdre));
ModelData publiAPersonneSwitch = grilleAuteurs.getStore().getAt(index-1);
int newOrdrePapSwitch = newOrdre + 1;
 
publiAPersonneSwitch.set("_ordre_", String.valueOf(newOrdrePapSwitch));
grilleAuteurs.getStore().update(publiAPersonneSwitch);
grilleAuteurs.getStore().remove(publiAPersonneSelectionnee);
grilleAuteurs.getStore().insert(publiAPersonneSelectionnee, newIndex);
changeOrderMarker = false;
grilleAuteurs.getSelectionModel().select(newIndex, true);
281,22 → 290,26
public void componentSelected(ButtonEvent ce) {
if (grilleAuteurs.getSelectionModel().getSelectedItem() != null) {
PublicationAPersonne pap = grilleAuteurs.getSelectionModel().getSelectedItem();
ModelData publiAPersonneSelectionnee = grilleAuteurs.getSelectionModel().getSelectedItem();
int index = grilleAuteurs.getStore().indexOf(pap);
int newIndex = index;
newIndex++;
int index = grilleAuteurs.getStore().indexOf(publiAPersonneSelectionnee);
int newIndex = index + 1; // l'auteur monte dans dans la liste donc son ordre diminue
int newOrdre = newIndex + 1; // parce que index commence à zéro
// le marqueur suivant est obligatoire sinon les évènements liés au magasin se
// déclenchent et posent problème
changeOrderMarker = true;
pap.setOrdreAuteurs(String.valueOf(newIndex+1));
PublicationAPersonne papSwitch = grilleAuteurs.getStore().getAt(index+1);
int newIndexPapSwitch = index + 1;
papSwitch.setOrdreAuteurs(String.valueOf(newIndexPapSwitch));
grilleAuteurs.getStore().update(papSwitch);
grilleAuteurs.getStore().remove(pap);
grilleAuteurs.getStore().insert(pap, newIndex);
publiAPersonneSelectionnee.set("_ordre_", String.valueOf(newOrdre));
ModelData publiAPersonneSwitch = grilleAuteurs.getStore().getAt(index+1);
int newOrdrePapSwitch = index + 1;
 
publiAPersonneSwitch.set("_ordre_", String.valueOf(newOrdrePapSwitch));
grilleAuteurs.getStore().update(publiAPersonneSwitch);
grilleAuteurs.getStore().remove(publiAPersonneSelectionnee);
grilleAuteurs.getStore().insert(publiAPersonneSelectionnee, newIndex);
changeOrderMarker = false;
grilleAuteurs.getSelectionModel().select(newIndex, true);
323,7 → 336,7
bouton.setIcon(Images.ICONES.vcardModifier());
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
Personne personneSaisieSelectionnee = grilleAuteurs.getSelectionModel().getSelectedItem().getPersonne();
Personne personneSaisieSelectionnee = new PublicationAPersonne(grilleAuteurs.getSelectionModel().getSelectedItem(), false).getPersonne();
if (personneSaisieSelectionnee == null) {
InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerPublication());
339,7 → 352,7
private FenetreForm creerFenetreModaleAvecFormulairePersonne(String mode) {
String personneId = null;
if (mode.equals(Formulaire.MODE_MODIFIER)) {
Personne personneSaisieSelectionnee = grilleAuteurs.getSelectionModel().getSelectedItem().getPersonne();
Personne personneSaisieSelectionnee = new PublicationAPersonne(grilleAuteurs.getSelectionModel().getSelectedItem(), false).getPersonne();
personneId = personneSaisieSelectionnee.getId();
}
393,7 → 406,7
bouton.setIcon(Images.ICONES.vcardSupprimer());
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
PublicationAPersonne personneSelectionnee = grilleAuteurs.getSelectionModel().getSelectedItem();
PublicationAPersonne personneSelectionnee = new PublicationAPersonne(grilleAuteurs.getSelectionModel().getSelectedItem(), false);
if (personneSelectionnee == null) {
InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerPublication());
} else {
447,8 → 460,8
if (personnesSaisiesComboBox.getValeur() instanceof ModelData) {
// N'ajouter l'auteur que s'il n'est pas déjà présent dans la grille et dans les valeurs initiales
Personne personneSaisieSelectionnee = new Personne(personnesSaisiesComboBox.getValeur());
PublicationAPersonne pap = new PublicationAPersonne();
pap.setPersonne(personneSaisieSelectionnee);
PublicationAPersonne pap = new PublicationAPersonne(false);
pap.setPersonne(personneSaisieSelectionnee, true);
pap.setOrdreAuteurs(String.valueOf(grilleAuteurs.getStore().getCount()+1));
if (modeDeCreation != Formulaire.MODE_AJOUTER) {
pap.setPublicationLiee(publication);
521,108 → 534,103
}
}
private EditorGrid<PublicationAPersonne> creerGrilleAuteurs() {
private GrillePaginable<ModelData> creerGrilleAuteurs() {
ListStore<PublicationAPersonne> storeGrilleAuteurs = new ListStore<PublicationAPersonne>();
// ModelType
ModelType modelTypePersonnesAPublication = new ModelType();
modelTypePersonnesAPublication.setRoot("publicationsAPersonne");
modelTypePersonnesAPublication.setTotalName("nbElements");
modelTypePersonnesAPublication.addField("cpuap_id_personne");
modelTypePersonnesAPublication.addField("cpuap_id_publication");
modelTypePersonnesAPublication.addField("cpuap_id_role");
modelTypePersonnesAPublication.addField("cpuap_ordre");
modelTypePersonnesAPublication.addField("cp_id_personne");
modelTypePersonnesAPublication.addField("cp_fmt_nom_complet");
modelTypePersonnesAPublication.addField("cp_nom");
modelTypePersonnesAPublication.addField("cp_prenom");
modelTypePersonnesAPublication.addField("cp_id_personne");
modelTypePersonnesAPublication.addField("cp_code_postal");
modelTypePersonnesAPublication.addField("cp_ville");
modelTypePersonnesAPublication.addField("cp_truk_courriel");
// ADD Listener ------------------------------------------------------------------------------------
storeGrilleAuteurs.addListener(Store.Add, new Listener<StoreEvent<PublicationAPersonne>>() {
public void handleEvent(StoreEvent<PublicationAPersonne> ce) {
if (!changeOrderMarker) {
// Bug de GXT : Pour récupérer l'élément modifié, j'ai dû faire comme suit
ListStore<PublicationAPersonne> auteursStore = (ListStore<PublicationAPersonne>)ce.getSource();
PublicationAPersonne pap = auteursStore.getAt(ce.getIndex());
// Lorsque l'on reçoit une liste d'auteurs, on leur affecte l'état "modifié", puis
// on les ajoute au magasin mais puisque chaque élément ajouté au magasin déclenche
// l'évènement Store.Add, on est obligé de vérifier si l'objet n'a pas déjà un état
// sinon l'évènement écrase l'état précédent
if (pap.get("_etat_") == null) pap.set("_etat_", aDonnee.ETAT_AJOUTE);
// Proxy
ProxyPersonnesAPublication<ModelData> proxyPersonnesAPublication = new ProxyPersonnesAPublication<ModelData>(null, publicationId);
 
// Colonnes
List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
ColumnConfig columnOrdre = new ColumnConfig("_ordre_", i18nC.ordre(), 15);
colonnes.add(columnOrdre);
colonnes.add(new ColumnConfig("cp_fmt_nom_complet", i18nC.personneNomComplet(), 150));
colonnes.add(new ColumnConfig("cp_code_postal", i18nC.personneCodePostal(), 150));
colonnes.add(new ColumnConfig("cp_ville", i18nC.personneVille(), 75));
colonnes.add(new ColumnConfig("cp_truk_courriel", i18nC.personneCourriel(), 75));
// Champs de traitement
HashMap<String, String> virtualFields = new HashMap<String, String>();
virtualFields.put("_ordre_", "cpuap_ordre");
// Modele de selection
GridSelectionModel<ModelData> modeleDeSelection = new GridSelectionModel<ModelData>();
modeleDeSelection.addListener(Events.SelectionChange, new SelectionChangedListener<ModelData>() {
public void selectionChanged(SelectionChangedEvent<ModelData> se) {
ModelData papSelectionnee = grilleAuteurs.getGrille().getSelectionModel().getSelectedItem();
int index = grilleAuteurs.getStore().indexOf(papSelectionnee);
if (index >= 1) boutonAuteurUp.setEnabled(true);
else boutonAuteurUp.setEnabled(false);
if ((index+1) < grilleAuteurs.getStore().getCount()) boutonAuteurDown.setEnabled(true);
else boutonAuteurDown.setEnabled(false);
}
});
ColumnModel modeleDeColonnes = new ColumnModel(colonnes);
// Grille
// ATTENTION : le constructure de cette grille est à vérifier!
final GrillePaginable<ModelData> grilleAuteurs = new GrillePaginable<ModelData>(modelTypePersonnesAPublication, virtualFields, proxyPersonnesAPublication, colonnes, modeleDeColonnes);
grilleAuteurs.getGrille().setHeight("100%");
grilleAuteurs.getGrille().setBorders(true);
grilleAuteurs.getGrille().setSelectionModel(modeleDeSelection);
grilleAuteurs.getGrille().getView().setForceFit(true);
grilleAuteurs.getGrille().setAutoExpandColumn("fmt_nom_complet");
grilleAuteurs.getGrille().setStripeRows(true);
grilleAuteurs.getGrille().setTrackMouseOver(true);
// Rajouter des écouteurs
grilleAuteurs.getStore().addListener(Store.Add, new Listener<StoreEvent<ModelData>>() {
public void handleEvent(StoreEvent<ModelData> ce) {
if (!changeOrderMarker) {
actualiserEtatBoutonsBarreOutils();
}
}
});
// REMOVE Listener ------------------------------------------------------------------------------------
storeGrilleAuteurs.addListener(Store.Remove, new Listener<StoreEvent<PublicationAPersonne>>() {
public void handleEvent(StoreEvent<PublicationAPersonne> ce) {
grilleAuteurs.getStore().addListener(Store.Remove, new Listener<StoreEvent<ModelData>>() {
public void handleEvent(StoreEvent<ModelData> ce) {
if (!changeOrderMarker) {
actualiserEtatBoutonsBarreOutils();
}
}
});
// UPDATE Listener ------------------------------------------------------------------------------------
storeGrilleAuteurs.addListener(Store.Update, new Listener<StoreEvent<PublicationAPersonne>>() {
public void handleEvent(StoreEvent<PublicationAPersonne> ce) {
grilleAuteurs.getStore().addListener(Store.Update, new Listener<StoreEvent<ModelData>>() {
public void handleEvent(StoreEvent<ModelData> ce) {
if (!changeOrderMarker) {
if (ce.getRecord().isModified("ordre")) {
/** s'il s'agit d'un auteur que l'on vient d'ajouter à la liste, alors on a pas besoin
de faire quoique ce soit car l'auteur est déjà dans la liste des auteurs ajoutés **/
if (ce.getRecord().isModified("_ordre_")) {
// s'il s'agit d'un auteur que l'on vient d'ajouter à la liste, alors on a pas besoin
// de faire quoique ce soit car l'auteur est déjà dans la liste des auteurs ajoutés
if (ce.getModel().get("_etat_").equals(aDonnee.ETAT_AJOUTE)) {
// ... do nothing
/** s'il s'agit d'un auteur qui était déjà présent dans la liste initiale, il faut
ajouter cet auteur à la liste des auteurs modifiés **/
// s'il s'agit d'un auteur qui était déjà présent dans la liste initiale, il faut
// ajouter cet auteur à la liste des auteurs modifiés
} else {
if (ce.getModel() instanceof PublicationAPersonne) {
PublicationAPersonne pap = ce.getModel();
auteursModifies.put(pap.getId(), pap);
}
PublicationAPersonne pap = new PublicationAPersonne(ce.getModel(), false);
auteursModifies.put(pap.getId(), pap);
}
}
}
}
});
});
List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>();
ColumnConfig columnOrdre = new ColumnConfig("ordre", i18nC.ordre(), 15);
/*
final TextField<String> ordre = new TextField<String>();
ordre.setValidator(new Validator(){
public String validate(Field<?> field, String value) {
if (value.matches("[0-9]*")) return null;
else return "[Erreur] Le champ 'ordre' doit être un nombre entier.";
}
});
*/
 
colonnes.add(columnOrdre);
colonnes.add(new ColumnConfig("fmt_nom_complet", i18nC.personneNomComplet(), 150));
colonnes.add(new ColumnConfig("code_postal", i18nC.personneCodePostal(), 150));
colonnes.add(new ColumnConfig("ville", i18nC.personneVille(), 75));
colonnes.add(new ColumnConfig("truk_courriel", i18nC.personneCourriel(), 75));
 
GridSelectionModel<PublicationAPersonne> modeleDeSelection = new GridSelectionModel<PublicationAPersonne>();
ColumnModel modeleDeColonnes = new ColumnModel(colonnes);
EditorGrid<PublicationAPersonne> grilleDesAuteurs = new EditorGrid<PublicationAPersonne>(storeGrilleAuteurs, modeleDeColonnes);
modeleDeSelection.addListener(Events.SelectionChange, new SelectionChangedListener<PublicationAPersonne>() {
public void selectionChanged(SelectionChangedEvent<PublicationAPersonne> se) {
PublicationAPersonne papSelectionnee = grilleAuteurs.getSelectionModel().getSelectedItem();
int index = grilleAuteurs.getStore().indexOf(papSelectionnee);
if (index >= 1) boutonAuteurUp.setEnabled(true);
else boutonAuteurUp.setEnabled(false);
if ((index+1) < grilleAuteurs.getStore().getCount()) boutonAuteurDown.setEnabled(true);
else boutonAuteurDown.setEnabled(false);
}
});
grilleDesAuteurs.setHeight("100%");
grilleDesAuteurs.setBorders(true);
grilleDesAuteurs.setSelectionModel(modeleDeSelection);
grilleDesAuteurs.getView().setForceFit(true);
grilleDesAuteurs.setAutoExpandColumn("fmt_nom_complet");
grilleDesAuteurs.setStripeRows(true);
grilleDesAuteurs.setTrackMouseOver(true);
return grilleDesAuteurs;
return grilleAuteurs;
}
private void genererTitreFormulaire() {
754,23 → 762,23
datePublicationChp.addListener(Events.Valid, creerEcouteurChampObligatoire());
editionFieldset.add(datePublicationChp, new FormData(40, 0));
/*****************************/
/** Champ '' **/
/*****************************/
/*********************************/
/** Champ 'Tome' **/
/*********************************/
tomeChp = new TextField<String>();
tomeChp.setFieldLabel("Série de la revue ou tome");
editionFieldset.add(tomeChp, new FormData(75, 0));
 
/*****************************/
/** Champ '' **/
/*****************************/
/*************************************/
/** Champ 'Fascicule' **/
/*************************************/
fasciculeChp = new TextField<String>();
fasciculeChp.setFieldLabel("Fascicule de la revue");
editionFieldset.add(fasciculeChp, new FormData(75, 0));
 
/*****************************/
/** Champ '' **/
/*****************************/
/*********************************/
/** Champ 'Pages' **/
/*********************************/
pagesChp = new TextField<String>();
pagesChp.setFieldLabel("Pages");
pagesChp.setToolTip("Fomat : NBRE ou NBRE-NBRE. ('NBRE' correspond à une suite de chiffres arabes ou romains ou à un point d'interrogation '?' dans le cas d'une donnée inconnue)");
878,15 → 886,18
}
private void formaterOrdreAuteurs() {
ListStore<PublicationAPersonne> store = grilleAuteurs.getStore();
List<PublicationAPersonne> auteurs = grilleAuteurs.getStore().getModels();
ListStore<ModelData> store = grilleAuteurs.getStore();
List<ModelData> auteurs = grilleAuteurs.getStore().getModels();
Iterator<PublicationAPersonne> itAuteurs = auteurs.iterator();
Iterator<ModelData> itAuteurs = auteurs.iterator();
while (itAuteurs.hasNext()) {
PublicationAPersonne pap = itAuteurs.next();
int ordre = store.indexOf(pap) + 1;
ModelData selection = itAuteurs.next();
PublicationAPersonne pap = new PublicationAPersonne(selection, false);
int ordre = store.indexOf(selection) + 1;
if (pap.getOrdreAuteurs() != String.valueOf(ordre)) {
pap.setOrdreAuteurs(String.valueOf(ordre));
pap.setOrdreAuteurs(String.valueOf(ordre));
auteursModifies.put(pap.getId(), pap);
}
}
971,13 → 982,13
private String construireIntituleAuteur() {
String intituleAuteur = "";
// ranger par ordre désigné par le champ 'cpuap_ordre' de la table PublicationAPersonne
grilleAuteurs.getStore().sort("ordre", SortDir.ASC);
List<PublicationAPersonne> auteurs = grilleAuteurs.getStore().getModels();
Iterator<PublicationAPersonne> itAuteurs = auteurs.iterator();
// rangé par ordre désigné par le champ 'cpuap_ordre' de la table PublicationAPersonne
grilleAuteurs.getStore().sort("_ordre_", SortDir.ASC);
List<ModelData> auteurs = grilleAuteurs.getStore().getModels();
Iterator<ModelData> itAuteurs = auteurs.iterator();
while (itAuteurs.hasNext()) {
Personne personneCourante = itAuteurs.next().getPersonne();
Personne personneCourante = new PublicationAPersonne(itAuteurs.next(), false).getPersonne();
intituleAuteur += personneCourante.getNom().toUpperCase() + " " + personneCourante.getPrenom();
if (itAuteurs.hasNext()) {
intituleAuteur+=", ";
1110,12 → 1121,17
return valeur;
}
private void setValeurComboProjets() {
if (projetsCombo.getStore() != null ) {
if (mode.equals(Formulaire.MODE_MODIFIER) && publication != null) {
projetsCombo.getCombo().setValue(projetsCombo.getStore().findModel("cpr_id_projet", publication.getIdProjet()));
} else if (mode.equals(Formulaire.MODE_AJOUTER)) {
projetsCombo.getCombo().setValue(projetsCombo.getStore().findModel("cpr_id_projet", mediateur.getProjetId()));
if (mode.equals(Formulaire.MODE_MODIFIER) && publication != null) {
if (projetsCombo.getCombo().getStore() != null
&& publication != null
&& publication.getIdProjet() != null
&& !UtilString.isEmpty(publication.getIdProjet())) {
projetsCombo.chargerValeurInitiale(publication.getIdProjet(), "cpr_id_projet");
}
} else if (mode.equals(Formulaire.MODE_AJOUTER)) {
projetsCombo.getCombo().setValue(projetsCombo.getStore().findModel("cpr_id_projet", mediateur.getProjetId()));
} else {
projetsCombo.getCombo().setValue(null);
}
}
1125,8 → 1141,6
public void rafraichir(Object nouvellesDonnees) {
if (nouvellesDonnees instanceof Publication) {
publication = (Publication) nouvellesDonnees;
} else if (nouvellesDonnees instanceof PublicationAPersonneListe) {
rafraichirListeAuteurs((PublicationAPersonneListe) nouvellesDonnees);
} else if (nouvellesDonnees instanceof Information) {
rafraichirInformation((Information) nouvellesDonnees);
} else {
1134,23 → 1148,9
}
}
private void rafraichirListeAuteurs(PublicationAPersonneListe auteurs) {
Iterator<String> it = auteurs.keySet().iterator();
while (it.hasNext()) {
PublicationAPersonne auteur = auteurs.get(it.next());
auteur.set("_etat_", aDonnee.ETAT_MODIFIE);
auteursInitialListe.put(auteur.getId(), auteur);
}
private void rafraichirInformation(Information info) {
grilleAuteurs.getStore().removeAll();
grilleAuteurs.getStore().add(auteursInitialListe.toList());
grilleAuteurs.getStore().sort("ordre", SortDir.ASC);
layout();
}
private void rafraichirInformation(Information info) {
String type = info.getType();
if (type.equals("auteurs_enregistres")) {
miseAJourAuteursInitialListe();
initialiserAuteurs();
1179,7 → 1179,7
if (modeDeCreation != Formulaire.MODE_AJOUTER) pap.setPublicationLiee(publication);
// supprimer l'entrée précédente
PublicationAPersonne personneDansGrille = grilleAuteurs.getStore().findModel("id_personne", personne.getId());
PublicationAPersonne personneDansGrille = new PublicationAPersonne(grilleAuteurs.getStore().findModel("cp_id_personne", personne.getId()), false);
int index = grilleAuteurs.getStore().indexOf(personneDansGrille);
grilleAuteurs.getStore().remove(personneDansGrille);
1199,7 → 1199,7
} else {
InfoLogger.display("Ajout d'une publication", info.toString());
}
}
}
}
private void repandreRafraichissement() {
Property changes:
Modified: svn:mergeinfo
Merged /trunk/src/org/tela_botanica/client/vues/publication/PublicationForm.java:r11-934
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/publication/PublicationForm.java:r1417-1511
/trunk/src/org/tela_botanica/client/vues/publication/.
Property changes:
Modified: svn:mergeinfo
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/publication:r1417-1511
Merged /trunk/src/org/tela_botanica/client/vues/publication:r11-934