/trunk/src/org/tela_botanica/client/configuration |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/configuration:r11-906 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/configuration:r1417-1511 |
/trunk/src/org/tela_botanica/client/ComposantClass.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/ComposantClass.java:r11-68 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/ComposantClass.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/util |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/util:r11-147 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/util:r1417-1511 |
/trunk/src/org/tela_botanica/client/http |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/http:r11-462 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/http:r1417-1511 |
/trunk/src/org/tela_botanica/client/i18n/Constantes.properties |
---|
565,7 → 565,9 |
commentaireMessageTitre = Veuillez saisir un titre pour la note ! |
# Pour personne : Publis liées |
personneOngletPublication = Publications |
personnePublication = dont la personne est le sujet |
typeRelationPersonne = Relation |
# Journal |
titreJournal = Journal de l'application |
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/i18n/Constantes.properties:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/i18n/Constantes.properties:r11-119 |
/trunk/src/org/tela_botanica/client/i18n/ErrorMessages.properties |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/i18n/ErrorMessages.properties:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/i18n/ErrorMessages.properties:r11-464 |
/trunk/src/org/tela_botanica/client/i18n/Constantes.java |
---|
552,6 → 552,8 |
//Pour personne: publications liés |
String personnePublication(); |
String personneOngletPublication(); |
String typeRelationPersonne(); |
String tousProjets(); |
// Journal |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/i18n/Constantes.java:r11-119 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/i18n/Constantes.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/i18n/ErrorMessages.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/i18n/ErrorMessages.java:r11-464 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/i18n/ErrorMessages.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/i18n |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/i18n:r11-119 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/i18n:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/PopupChargement.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/PopupChargement.java:r11-334 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/PopupChargement.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/StatutVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/StatutVue.java:r11-442 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/StatutVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/EnteteVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/EnteteVue.java:r11-443 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/EnteteVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/Formulaire.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/Formulaire.java:r11-636,649-686 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/Formulaire.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/FiltreVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/FiltreVue.java:r11-981 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/FiltreVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/personne/PersonneFormPublication.java |
---|
1,6 → 1,7 |
package org.tela_botanica.client.vues.personne; |
import java.util.ArrayList; |
import java.util.HashMap; |
import java.util.Iterator; |
import java.util.LinkedList; |
import java.util.List; |
7,7 → 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.ProxyCollectionAPublication; |
import org.tela_botanica.client.composants.pagination.ProxyPublications; |
import org.tela_botanica.client.composants.pagination.ProxyPublicationsAPersonne; |
import org.tela_botanica.client.images.Images; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Information; |
29,6 → 35,8 |
import org.tela_botanica.client.vues.publication.PublicationForm; |
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; |
import com.extjs.gxt.ui.client.event.ButtonEvent; |
import com.extjs.gxt.ui.client.event.ComponentEvent; |
45,7 → 53,9 |
import com.extjs.gxt.ui.client.widget.button.Button; |
import com.extjs.gxt.ui.client.widget.button.ButtonBar; |
import com.extjs.gxt.ui.client.widget.form.ComboBox; |
import com.extjs.gxt.ui.client.widget.form.Field; |
import com.extjs.gxt.ui.client.widget.form.FormPanel; |
import com.extjs.gxt.ui.client.widget.form.Validator; |
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction; |
import com.extjs.gxt.ui.client.widget.grid.CellEditor; |
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig; |
70,16 → 80,18 |
private ContentPanel panneauPrincipal = null; |
private ToolBar barreOutils = null; |
private EditorGrid<PublicationAPersonne> grille; |
private GrillePaginable<ModelData> grille; |
private PublicationAPersonneListe publicationsAjoutees = null; |
private PublicationAPersonneListe publicationsSupprimees = null; |
private ComboBox<Publication> publicationsSaisiesComboBox = null; |
private ChampComboBoxRechercheTempsReelPaginable publicationsSaisiesComboBox = null; |
private Button publicationsBoutonSupprimer = null; |
private Button publicationsBoutonModifier = null; |
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; |
86,56 → 98,36 |
public PersonneFormPublication(Formulaire formulaireCourrant) { |
initialiserOnglet(formulaireCourrant); |
setId("publication"); |
setText(Mediateur.i18nC.collectionPublication()); |
setText(Mediateur.i18nC.personneOngletPublication()); |
setStyleAttribute("padding", "0"); |
initialiser(); |
panneauPrincipal = creerPanneauContenantGrille(); |
setLayout(new FitLayout()); |
barreOutils = creerBarreOutilsGrille(); |
panneauPrincipal.setTopComponent(barreOutils); |
panneauPrincipal.setLayout(new FitLayout()); |
grille = creerGrille(); |
panneauPrincipal.add(grille); |
add(panneauPrincipal); |
initialiser(); |
} |
private void initialiser() { |
// Remise à zéro des modification dans la liste des auteurs |
idGenere = 1; |
publicationsAjoutees = new PublicationAPersonneListe(); |
publicationsSupprimees = new PublicationAPersonneListe(); |
// Actualisation de l'état des boutons de la barre d'outils |
actualiserEtatBoutonsBarreOutils(); |
} |
public void mettreAJourPersonne() { |
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() { |
ContentPanel panneau = new ContentPanel(); |
panneau.setHeading(i18nC.collectionPublication()+" " + i18nC.personnePublication()); |
panneau.setHeading(i18nC.personneOngletPublication()+" " + i18nC.personnePublication()); |
panneau.setIcon(Images.ICONES.table()); |
panneau.setLayout(new FitLayout()); |
panneau.setFrame(true); |
189,7 → 181,7 |
bouton.setIcon(Images.ICONES.vcardModifier()); |
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() { |
public void componentSelected(ButtonEvent ce) { |
PublicationAPersonne publicationSaisieSelectionnee = grille.getSelectionModel().getSelectedItem(); |
ModelData publicationSaisieSelectionnee = grille.getGrille().getSelectionModel().getSelectedItem(); |
if (publicationSaisieSelectionnee == null) { |
InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerPublication()); |
205,7 → 197,7 |
private FenetreForm creerFenetreModaleAvecFormulairePersonne(String mode) { |
String publicationId = null; |
if (mode.equals(Formulaire.MODE_MODIFIER)) { |
PublicationAPersonne publicationSaisiSelectionne = grille.getSelectionModel().getSelectedItem(); |
PublicationAPersonne publicationSaisiSelectionne = new PublicationAPersonne(grille.getGrille().getSelectionModel().getSelectedItem(), false); |
publicationId = publicationSaisiSelectionne.getIdPublication(); |
} |
259,7 → 251,7 |
bouton.setIcon(Images.ICONES.vcardSupprimer()); |
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() { |
public void componentSelected(ButtonEvent ce) { |
PublicationAPersonne publicationSaisieSelectionnee = grille.getSelectionModel().getSelectedItem(); |
PublicationAPersonne publicationSaisieSelectionnee = new PublicationAPersonne(grille.getGrille().getSelectionModel().getSelectedItem(), false); |
if (publicationSaisieSelectionnee == null) { |
InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerPublication()); |
} else { |
290,35 → 282,62 |
} |
} |
private ComboBox<Publication> creerComboBoxPublicationsSaisis() { |
ListStore<Publication> publicationsSaisiesStore = new ListStore<Publication>(); |
private ChampComboBoxRechercheTempsReelPaginable creerComboBoxPublicationsSaisis() { |
ComboBox<Publication> comboBox = new ComboBox<Publication>(); |
comboBox.setWidth(400); |
comboBox.setEmptyText(i18nC.chercherPublicationSaisi()); |
comboBox.setTriggerAction(TriggerAction.ALL); |
comboBox.setEditable(true); |
comboBox.setDisplayField("fmt_nom_complet"); |
comboBox.setStore(publicationsSaisiesStore); |
comboBox.addKeyListener(new KeyListener() { |
public void componentKeyUp(ComponentEvent ce) { |
if (publicationsSaisiesComboBox.getRawValue() != null && publicationsSaisiesComboBox.getRawValue().length() > 0) { |
if (!ce.isNavKeyPress()) { |
obtenirPublicationsSaisies(publicationsSaisiesComboBox.getRawValue()); |
} |
ModelType modelTypePublications = new ModelType(); |
modelTypePublications.setRoot("publications"); |
modelTypePublications.setTotalName("nbElements"); |
modelTypePublications.addField("ccapu_id_personne"); |
modelTypePublications.addField("ccapu_id_publication"); |
modelTypePublications.addField("cpu_id_publication"); |
modelTypePublications.addField("cpu_fmt_nom_complet"); |
modelTypePublications.addField("cpu_titre"); |
modelTypePublications.addField("cpu_nom"); |
modelTypePublications.addField("cpu_fmt_auteur"); |
modelTypePublications.addField("cpu_indication_nvt"); |
modelTypePublications.addField("cpu_truk_pages"); |
modelTypePublications.addField("cpu_fascicule"); |
modelTypePublications.addField("cpu_date_parution"); |
modelTypePublications.addField("cpu_ce_truk_editeur"); |
modelTypePublications.addField("cpu_ce_projet"); |
modelTypePublications.addField("cpu_collection"); |
String displayNamePublications = "cpu_fmt_nom_complet"; |
ProxyPublications<ModelData> proxyPublications= new ProxyPublications<ModelData>(null); |
final ChampComboBoxRechercheTempsReelPaginable publicationsCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyPublications, modelTypePublications, displayNamePublications); |
publicationsCombo.getCombo().setTabIndex(tabIndex++); |
publicationsCombo.getCombo().setForceSelection(true); |
publicationsCombo.getCombo().setValidator(new Validator() { |
public String validate(Field<?> field, String value) { |
String retour = null; |
if (field.getRawValue().equals("")) { |
field.setValue(null); |
} else if (publicationsCombo.getStore().findModel("cpu_fmt_nom_complet", field.getRawValue()) == null) { |
String contenuBrut = field.getRawValue(); |
field.setValue(null); |
field.setRawValue(contenuBrut); |
retour = "Veuillez sélectionner une valeur ou laisser le champ vide"; |
} |
return retour; |
} |
}); |
comboBox.addListener(Events.Select, new Listener<BaseEvent>() { |
publicationsCombo.getCombo().addListener(Events.Select, new Listener<BaseEvent>() { |
public void handleEvent(BaseEvent be) { |
if (publicationsSaisiesComboBox.getValue() instanceof Publication) { |
Publication publicationSaisieSelectionne = publicationsSaisiesComboBox.getValue(); |
if (publicationsSaisiesComboBox.getValeur() instanceof ModelData) { |
Publication publicationSaisieSelectionne = new Publication(publicationsSaisiesComboBox.getValeur(), false); |
ajouterDansGrille(publicationSaisieSelectionne); |
publicationsSaisiesComboBox.setValue(null); |
publicationsSaisiesComboBox.getCombo().setValue(null); |
} |
} |
}); |
return comboBox; |
return publicationsCombo; |
} |
private void ajouterDansGrille(Publication publication) { |
328,7 → 347,7 |
private void ajouterDansGrille(Publication publication, int index) { |
if (publication != null) { |
if (!listePublicationsLiees.containsKey(publication.getId())) { |
PublicationAPersonne publicationLiee = new PublicationAPersonne(); |
PublicationAPersonne publicationLiee = new PublicationAPersonne(false); |
publicationLiee.setPersonne(personneSelectionnee); |
publicationLiee.setPublicationLiee(publication); |
publicationLiee.setIdPublication(publication.getId()); |
335,12 → 354,12 |
publicationLiee.set("_etat_", aDonnee.ETAT_AJOUTE); |
listePublicationsLiees.put(publication.getId(), publicationLiee); |
// Ajout à la grille |
grille.stopEditing(); |
grille.getStore().insert(publicationLiee, 0); |
grille.startEditing(index, 0); |
grille.getSelectionModel().select(index, false); |
grille.getGrille().stopEditing(); |
grille.getGrille().getStore().insert(publicationLiee, 0); |
grille.getGrille().startEditing(index, 0); |
grille.getGrille().getSelectionModel().select(index, false); |
} else { |
InfoLogger.display("Information", "La publication choisie existe déjà dans la liste."); |
} |
370,44 → 389,127 |
} |
} |
private EditorGrid<PublicationAPersonne> creerGrille() { |
private GrillePaginable<ModelData> creerGrille() { |
ListStore<PublicationAPersonne> storeGrille = new ListStore<PublicationAPersonne>(); |
storeGrille.addListener(Store.Add, new Listener<StoreEvent<PublicationAPersonne>>() { |
public void handleEvent(StoreEvent<PublicationAPersonne> ce) { |
actualiserEtatBoutonsBarreOutils(); |
} |
}); |
storeGrille.addListener(Store.Remove, new Listener<StoreEvent<PublicationAPersonne>>() { |
public void handleEvent(StoreEvent<PublicationAPersonne> ce) { |
actualiserEtatBoutonsBarreOutils(); |
} |
}); |
storeGrille.addListener(Store.Update, new Listener<StoreEvent<PublicationAPersonne>>() { |
public void handleEvent(StoreEvent<PublicationAPersonne> ce) { |
if (ce.getRecord().isModified("_role_") && !ce.getModel().get("_etat_").equals(aDonnee.ETAT_AJOUTE)) { |
ce.getModel().set("_etat_", aDonnee.ETAT_MODIFIE); |
} |
} |
}); |
GrillePaginable<ModelData> grillePublications = null; |
// ModelType |
ModelType modelTypePublicationAPersonne = new ModelType(); |
modelTypePublicationAPersonne.setRoot("publicationsAPersonne"); |
modelTypePublicationAPersonne.setTotalName("nbElements"); |
modelTypePublicationAPersonne.addField("cpuap_id_personne"); |
modelTypePublicationAPersonne.addField("cpuap_id_publication"); |
modelTypePublicationAPersonne.addField("cpuap_id_role"); |
modelTypePublicationAPersonne.addField("cpu_id_publication"); |
modelTypePublicationAPersonne.addField("cpu_fmt_auteur"); |
modelTypePublicationAPersonne.addField("cpu_titre"); |
modelTypePublicationAPersonne.addField("cpu_collection"); |
modelTypePublicationAPersonne.addField("cpu_ce_truk_editeur"); |
modelTypePublicationAPersonne.addField("cpu_date_parution"); |
modelTypePublicationAPersonne.addField("cpu_fascicule"); |
modelTypePublicationAPersonne.addField("cpu_truk_pages"); |
modelTypePublicationAPersonne.addField("cpu_indication_nvt"); |
// Proxy |
ProxyPublicationsAPersonne<ModelData> proxyPublicationsAPersonne = new ProxyPublicationsAPersonne<ModelData>(null, null, null); |
// Colonnes |
List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>(); |
RowNumberer numeroPlugin = new RowNumberer(); |
numeroPlugin.setHeader("#"); |
XTemplate infoTpl = XTemplate.create("<p>"+ |
"<span style='font-weight:bold;'>"+i18nC.publicationAuteurs()+" :</span> {fmt_auteur}<br />"+ |
"<span style='font-weight:bold;'>"+i18nC.publicationTitre()+" :</span> {titre}<br />"+ |
"<span style='font-weight:bold;'>"+i18nC.publicationRevueCollection()+" :</span> {collection}<br />"+ |
"<span style='font-weight:bold;'>"+i18nC.publicationAuteurs()+" :</span> {cpu_fmt_auteur}<br />"+ |
"<span style='font-weight:bold;'>"+i18nC.publicationTitre()+" :</span> {cpu_titre}<br />"+ |
"<span style='font-weight:bold;'>"+i18nC.publicationRevueCollection()+" :</span> {cpu_collection}<br />"+ |
"<span style='font-weight:bold;'>"+i18nC.publicationEditeur()+" :</span> {_editeur_}"+ |
"</p>"); |
RowExpander expansionPlugin = new RowExpander(); |
expansionPlugin.setTemplate(infoTpl); |
List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>(); |
colonnes.add(expansionPlugin); |
colonnes.add(numeroPlugin); |
colonnes.add(creerColonneTypeRelation()); |
colonnes.add(new ColumnConfig("cpu_fmt_auteur", i18nC.publicationAuteurs(), 150)); |
colonnes.add(new ColumnConfig("cpu_titre", i18nC.publicationTitre(), 150)); |
colonnes.add(new ColumnConfig("cpu_collection", i18nC.publicationRevueCollection(), 75)); |
colonnes.add(creerColonneEditeur()); |
colonnes.add(creerColonneAnneePublication()); |
colonnes.add(new ColumnConfig("cpu_indication_nvt", i18nC.publicationNvt(), 75)); |
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"); |
virtualFields.put("_role_", "cpuap_id_role"); |
virtualFields.put("_etat_", ""); |
// Modele de selection |
GridSelectionModel<ModelData> modeleDeSelection = new GridSelectionModel<ModelData>(); |
ColumnModel modeleDeColonnes = new ColumnModel(colonnes); |
modeleDeColonnes.getColumn(0).setWidget(Images.ICONES.information().createImage(), "Info"); |
// Grille |
grillePublications = new GrillePaginable<ModelData>(modelTypePublicationAPersonne, virtualFields, proxyPublicationsAPersonne, colonnes, modeleDeColonnes); |
grillePublications.getGrille().setBorders(true); |
grillePublications.getGrille().setSelectionModel(modeleDeSelection); |
grillePublications.getGrille().addPlugin(expansionPlugin); |
grillePublications.getGrille().addPlugin(numeroPlugin); |
grillePublications.getGrille().getView().setForceFit(true); |
grillePublications.getGrille().setAutoExpandColumn("titre"); |
grillePublications.getGrille().setStripeRows(true); |
grillePublications.getGrille().setTrackMouseOver(true); |
// Rajouter des écouteurs |
grillePublications.getStore().addListener(Store.Add, new Listener<StoreEvent<ModelData>>() { |
public void handleEvent(StoreEvent<ModelData> ce) { |
actualiserEtatBoutonsBarreOutils(); |
} |
}); |
grillePublications.getStore().addListener(Store.Remove, new Listener<StoreEvent<ModelData>>() { |
public void handleEvent(StoreEvent<ModelData> ce) { |
actualiserEtatBoutonsBarreOutils(); |
} |
}); |
grillePublications.getStore().addListener(Store.Update, new Listener<StoreEvent<ModelData>>() { |
public void handleEvent(StoreEvent<ModelData> ce) { |
if (ce.getModel().get("_role_") != null && ce.getRecord().isModified("_role_") && ce.getModel().get("_etat_") != null && !ce.getModel().get("_etat_").equals(aDonnee.ETAT_AJOUTE)) { |
ce.getModel().set("_etat_", aDonnee.ETAT_MODIFIE); |
} |
} |
}); |
return grillePublications; |
} |
private ColumnConfig creerColonneEditeur() { |
GridCellRenderer<ModelData> editeurRendu = new GridCellRenderer<ModelData>() { |
public String render(ModelData model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ModelData> store, Grid<ModelData> grid) { |
PublicationAPersonne pap = new PublicationAPersonne(model, true); |
String editeur = pap.getPublicationLiee().getNomEditeur(); |
model.set("_editeur_", editeur); |
return editeur; |
} |
}; |
ColumnConfig editeurColonne = new ColumnConfig("_editeur_", Mediateur.i18nC.publicationEditeur(), 135); |
editeurColonne.setRenderer(editeurRendu); |
return editeurColonne; |
} |
private ColumnConfig creerColonneAnneePublication() { |
GridCellRenderer<ModelData> datePublicationRendu = new GridCellRenderer<ModelData>() { |
public String render(ModelData model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ModelData> store, Grid<ModelData> grid) { |
PublicationAPersonne pap = new PublicationAPersonne(model, true); |
String annee = pap.getPublicationLiee().getAnneeParution(); |
model.set("_annee_", annee); |
return annee; |
} |
}; |
ColumnConfig datePublicationColonne = new ColumnConfig("_annee_", Mediateur.i18nC.publicationDateParution(), 75); |
datePublicationColonne.setRenderer(datePublicationRendu); |
return datePublicationColonne; |
} |
private ColumnConfig creerColonneTypeRelation() { |
typeRelationCombo = new ComboBox<Valeur>(); |
typeRelationCombo.setForceSelection(true); |
typeRelationCombo.setTriggerAction(TriggerAction.ALL); |
441,17 → 543,24 |
} |
} |
return retour; |
} |
} |
}; |
GridCellRenderer<PublicationAPersonne> relationRendu = new GridCellRenderer<PublicationAPersonne>() { |
public String render(PublicationAPersonne modele, String property, ColumnData config, int rowIndex, int colIndex, ListStore<PublicationAPersonne> store, Grid<PublicationAPersonne> grille) { |
GridCellRenderer<ModelData> relationRendu = new GridCellRenderer<ModelData>() { |
public String render(ModelData modele, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ModelData> store, Grid<ModelData> grille) { |
// Gestion du texte afficher dans la cellule |
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; |
458,65 → 567,12 |
} |
}; |
ColumnConfig typeRelationColonne = new ColumnConfig("_role_", i18nC.typeRelationPersonneCollection(), 75); |
ColumnConfig typeRelationColonne = new ColumnConfig("_role_", i18nC.typeRelationPersonne(), 75); |
typeRelationColonne.setEditor(editeurRelation); |
typeRelationColonne.setRenderer(relationRendu); |
colonnes.add(typeRelationColonne); |
colonnes.add(new ColumnConfig("fmt_auteur", i18nC.publicationAuteurs(), 150)); |
colonnes.add(new ColumnConfig("titre", i18nC.publicationTitre(), 150)); |
colonnes.add(new ColumnConfig("collection", i18nC.publicationRevueCollection(), 75)); |
colonnes.add(creerColonneEditeur()); |
colonnes.add(creerColonneAnneePublication()); |
colonnes.add(new ColumnConfig("indication_nvt", i18nC.publicationNvt(), 75)); |
colonnes.add(new ColumnConfig("fascicule", i18nC.publicationFascicule(), 75)); |
colonnes.add(new ColumnConfig("truk_pages", i18nC.publicationPage(), 50)); |
GridSelectionModel<PublicationAPersonne> modeleDeSelection = new GridSelectionModel<PublicationAPersonne>(); |
ColumnModel modeleDeColonnes = new ColumnModel(colonnes); |
modeleDeColonnes.getColumn(0).setWidget(Images.ICONES.information().createImage(), "Info"); |
EditorGrid<PublicationAPersonne> grillePublications = new EditorGrid<PublicationAPersonne>(storeGrille, modeleDeColonnes); |
grillePublications.setHeight("100%"); |
grillePublications.setBorders(true); |
grillePublications.setSelectionModel(modeleDeSelection); |
grillePublications.addPlugin(expansionPlugin); |
grillePublications.addPlugin(numeroPlugin); |
grillePublications.getView().setForceFit(true); |
grillePublications.setAutoExpandColumn("titre"); |
grillePublications.setStripeRows(true); |
grillePublications.setTrackMouseOver(true); |
return grillePublications; |
return typeRelationColonne; |
} |
private ColumnConfig creerColonneEditeur() { |
GridCellRenderer<PublicationAPersonne> editeurRendu = new GridCellRenderer<PublicationAPersonne>() { |
public String render(PublicationAPersonne model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<PublicationAPersonne> store, Grid<PublicationAPersonne> grid) { |
String editeur = model.getPublicationLiee().getNomEditeur(); |
model.set("_editeur_", editeur); |
return editeur; |
} |
}; |
ColumnConfig editeurColonne = new ColumnConfig("_editeur_", Mediateur.i18nC.publicationEditeur(), 135); |
editeurColonne.setRenderer(editeurRendu); |
return editeurColonne; |
} |
private ColumnConfig creerColonneAnneePublication() { |
GridCellRenderer<PublicationAPersonne> datePublicationRendu = new GridCellRenderer<PublicationAPersonne>() { |
public String render(PublicationAPersonne model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<PublicationAPersonne> store, Grid<PublicationAPersonne> grid) { |
String annee = model.getPublicationLiee().getAnneeParution(); |
model.set("_annee_", annee); |
return annee; |
} |
}; |
ColumnConfig datePublicationColonne = new ColumnConfig("_annee_", Mediateur.i18nC.publicationDateParution(), 75); |
datePublicationColonne.setRenderer(datePublicationRendu); |
return datePublicationColonne; |
} |
public void actualiserEtatBoutonsBarreOutils() { |
// Activation des boutons si la grille contient un élément |
544,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; |
570,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("[]")) { |
582,7 → 629,12 |
GWT.log("MESSAGES:\n"+info.getMessages().toString(), null); |
} |
String type = info.getType(); |
if (type.equals("publication_liees")) { |
if (type.equals("personne")) { |
mettreAJourPersonne(); |
((ProxyPublicationsAPersonne)grille.getProxy()).setPersonneId(personneSelectionnee.getId()); |
personneRecue = true; |
if (rolesRecus && personneRecue) grille.reload(); |
} else if (type.equals("publication_liees")) { |
if (info.getDonnee(0) != null) { |
initialiser(); |
personneSelectionnee.setPublicationsLiees((PublicationAPersonneListe) info.getDonnee(0)); |
591,7 → 643,7 |
} else if (type.equals("publication_modifiee")) { |
if (info.getDonnee(0) != null) { |
Publication publication = (Publication) info.getDonnee(0); |
PublicationAPersonne publicationDansGrille = grille.getStore().findModel("id_publication", publication.getId()); |
ModelData publicationDansGrille = grille.getStore().findModel("cpu_id_publication", publication.getId()); |
int index = grille.getStore().indexOf(publicationDansGrille); |
grille.getStore().remove(publicationDansGrille); |
ajouterDansGrille(publication, index); |
622,17 → 674,18 |
if (etreAccede()) { |
int nbrePublication = grille.getStore().getCount(); |
for (int i = 0; i < nbrePublication; i++) { |
PublicationAPersonne publicationLiee = grille.getStore().getAt(i); |
ModelData publicationLiee = grille.getStore().getAt(i); |
PublicationAPersonne pap = new PublicationAPersonne(publicationLiee, false); |
if (publicationLiee.get("_etat_") != null) { |
if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_MODIFIE)) { |
// Comme il est impossible de modifier les relations nous supprimons l'ancien enregistrement et ajoutons un nouveau avec le nouveau id_role |
publicationsSupprimees.put("id"+idGenere++, publicationLiee); |
PublicationAPersonne relationAAjouter = (PublicationAPersonne) publicationLiee.cloner(new PublicationAPersonne()); |
publicationsSupprimees.put("id"+idGenere++, pap); |
PublicationAPersonne relationAAjouter = pap; |
publicationsAjoutees.put("id"+idGenere++, relationAAjouter); |
} |
if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_AJOUTE)) { |
publicationsAjoutees.put("id"+idGenere++, publicationLiee); |
publicationsAjoutees.put("id"+idGenere++, pap); |
} |
// Initialisation de la grille |
publicationLiee.set("_etat_", ""); |
646,14 → 699,14 |
public List verifier() { |
List lstMessageErreur = new LinkedList<String>(); |
//Vérifier les roles |
List<PublicationAPersonne> listePublis = grille.getStore().getModels(); |
Iterator<PublicationAPersonne> itPublis = listePublis.iterator(); |
List<ModelData> listePublis = grille.getStore().getModels(); |
Iterator<ModelData> itPublis = listePublis.iterator(); |
while (itPublis.hasNext()) { |
PublicationAPersonne publi = itPublis.next(); |
if (UtilString.isEmpty((String) publi.get("_role_"))) { |
lstMessageErreur.add("Vous devez choisir le rôle de la relation " + (grille.getStore().indexOf(publi) + 1)); |
} |
} |
ModelData publi = itPublis.next(); |
if (UtilString.isEmpty((String) publi.get("_role_"))) { |
lstMessageErreur.add("Vous devez choisir le rôle de la relation " + (grille.getStore().indexOf(publi) + 1)); |
} |
} |
return lstMessageErreur; |
} |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/personne/PersonneFormPublication.java:r11-990 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/personne/PersonneFormPublication.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/personne/PersonneVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/personne/PersonneVue.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/personne/PersonneVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/personne/PersonneListeVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/personne/PersonneListeVue.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/personne/PersonneListeVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/personne/PersonneDetailVue.java |
---|
120,11 → 120,12 |
enteteParams.set("nom", (String) personne.get("fmt_nom_complet")); |
enteteParams.set("mail", (String) personne.getCourrielPrinc()); |
tabLogos.removeAll(); |
LinkedList lstLogos = (LinkedList) personne |
.getChaineDenormaliseAsMapOrList("truk_logo"); |
if (lstLogos != null && lstLogos.size() > 0) { |
tabLogos.removeAll(); |
String urlLogoPrinc = (String) lstLogos.get(0); |
if (!urlLogoPrinc.trim().equals("")) { |
tplEntete = "<div id='personne-logo-div'><img src='{image}' alt='logo' /></div>" |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/personne/PersonneDetailVue.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/personne/PersonneDetailVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/personne/PersonneForm.java |
---|
915,6 → 915,8 |
this.personne = personne; |
this.personneId = personne.getId(); |
tiPubli.rafraichirInformation(new Information("personne")); |
nouvellesDonnees = null; |
} else { |
InfoLogger.display("messages", info.getMessages().toString()); |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/personne/PersonneForm.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/personne/PersonneForm.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormPersonne.java |
---|
1,7 → 1,9 |
package org.tela_botanica.client.vues.collection; |
import java.util.ArrayList; |
import java.util.HashMap; |
import java.util.List; |
import java.util.Map; |
import org.tela_botanica.client.ComposantClass; |
import org.tela_botanica.client.Mediateur; |
409,8 → 411,12 |
modeleDeColonnes.addHeaderGroup(0, 5, new HeaderGroupConfig(i18nC.personneNaissance(), 1, 2)); |
modeleDeColonnes.addHeaderGroup(0, 7, new HeaderGroupConfig(i18nC.personneDeces(), 1, 3)); |
HashMap<String, String> virtualFields = new HashMap<String, String>(); |
virtualFields.put("_role_", "ccap_id_role"); |
virtualFields.put("_etat_", ""); |
// Grille |
GrillePaginable<ModelData> grillePaginable = new GrillePaginable<ModelData>(modelTypeCollectionAPersonne, proxyCollectionAPersonne, colonnes, modeleDeColonnes); |
GrillePaginable<ModelData> grillePaginable = new GrillePaginable<ModelData>(modelTypeCollectionAPersonne, virtualFields, proxyCollectionAPersonne, colonnes, modeleDeColonnes); |
// Rajouter des écouteurs |
grillePaginable.getStore().addListener(Store.Update, new Listener<StoreEvent<ModelData>>() { |
437,7 → 443,7 |
CellEditor editeurRelation = new CellEditor(typeRelationCombo) { |
// Sert à retourner un ModelData à partir d'une String (la string est passée par le Renderer) |
public Object preProcessValue(Object valeur) { |
public Object preProcessValue(Object valeur) { |
Valeur retour = null; |
if (valeur != null ) { |
if (typeRelationCombo.getStore().findModel("nom", valeur.toString()) != null) { |
453,7 → 459,7 |
// Sert à retourner un String à Partir d'une Valeur |
// en postProcess on remplace la valeur du champ par l'Id de la valeur au lieu de son Nom |
public Object postProcessValue(Object valeur) { |
public Object postProcessValue(Object valeur) { |
String retour = null; |
if (valeur != null ) { |
if (valeur instanceof Valeur) { |
470,15 → 476,10 |
GridCellRenderer<ModelData> relationRendu = new GridCellRenderer<ModelData>() { |
public String render(ModelData modele, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ModelData> store, Grid<ModelData> grille) { |
// Gestion du texte afficher dans la cellule |
CollectionAPersonne cap = new CollectionAPersonne(modele); |
String role = cap.getIdRole(); |
modele.set("_role_", role); |
String role = modele.get("_role_"); |
if (typeRelationCombo.getStore() != null && typeRelationCombo.getStore().getCount() > 0 && role.matches("[0-9]+")) { |
role = typeRelationCombo.getStore().findModel("id_valeur", role).getNom(); |
} |
return role; |
} |
}; |
562,8 → 563,8 |
} |
} else if (type.equals("personne_modifiee")) { |
if (info.getDonnee(0) != null) { |
Personne personne = (Personne) info.getDonnee(0); |
ModelData personneDansGrille = grille.getStore().findModel("id_personne", personne.getId()); |
Personne personne = (Personne) info.getDonnee(0); |
ModelData personneDansGrille = grille.getStore().findModel("ccap_id_personne", personne.getId()); |
int index = grille.getStore().indexOf(personneDansGrille); |
grille.getStore().remove(personneDansGrille); |
String role = (String) personneDansGrille.get("_role_"); |
591,8 → 592,7 |
if (nbrePersonne > 0) { |
for (int i = 0; i < nbrePersonne; i++) { |
CollectionAPersonne personne = new CollectionAPersonne(grille.getStore().getAt(i)); |
if (personne.get("_role_").equals("")) { |
if (grille.getStore().getAt(i).get("_role_").equals("")) { |
personneNumero += (i != 0 ? ", " : "")+(i+1); |
} |
} |
609,10 → 609,11 |
int nbrePersonne = grille.getStore().getCount(); |
for (int i = 0; i < nbrePersonne; i++) { |
CollectionAPersonne relationCollectionPersonne = new CollectionAPersonne(grille.getStore().getAt(i)); |
relationCollectionPersonne.set("_role_", grille.getStore().getAt(i).get("_role_")); |
if (relationCollectionPersonne.get("_etat_") != null) { |
if (grille.getStore().getAt(i).get("_etat_") != null) { |
if (relationCollectionPersonne.get("_etat_").equals(aDonnee.ETAT_MODIFIE)) { |
if (grille.getStore().getAt(i).get("_etat_").equals(aDonnee.ETAT_MODIFIE)) { |
// Comme il est impossible de modifier les relations nous supprimons l'ancien enregistrement et ajoutons un nouveau avec le nouveau id_role |
personnesSupprimees.put("id"+idGenere++, relationCollectionPersonne); |
620,12 → 621,12 |
corrigerChampsGrille(relationAAjouter);// Nous modifions l'id_role |
personnesAjoutees.put("id"+idGenere++, relationAAjouter); |
} |
if (relationCollectionPersonne.get("_etat_").equals(aDonnee.ETAT_AJOUTE)) { |
if (grille.getStore().getAt(i).get("_etat_").equals(aDonnee.ETAT_AJOUTE)) { |
corrigerChampsGrille(relationCollectionPersonne);// Nous modifions l'id_role |
personnesAjoutees.put("id"+idGenere++, relationCollectionPersonne); |
} |
// Initialisation de la grille |
relationCollectionPersonne.set("_etat_", ""); |
grille.getStore().getAt(i).set("_etat_", ""); |
} |
} |
grille.getStore().commitChanges(); |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/collection/CollectionFormPersonne.java:r11-933 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/collection/CollectionFormPersonne.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormPublication.java |
---|
1,10 → 1,18 |
package org.tela_botanica.client.vues.collection; |
import java.util.ArrayList; |
import java.util.HashMap; |
import java.util.List; |
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.ProxyCollectionAPersonne; |
import org.tela_botanica.client.composants.pagination.ProxyCollectionAPublication; |
import org.tela_botanica.client.composants.pagination.ProxyProjets; |
import org.tela_botanica.client.composants.pagination.ProxyPublications; |
import org.tela_botanica.client.images.Images; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Information; |
23,6 → 31,8 |
import com.extjs.gxt.ui.client.Style.Scroll; |
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; |
import com.extjs.gxt.ui.client.event.ButtonEvent; |
import com.extjs.gxt.ui.client.event.ComponentEvent; |
39,7 → 49,9 |
import com.extjs.gxt.ui.client.widget.button.Button; |
import com.extjs.gxt.ui.client.widget.button.ButtonBar; |
import com.extjs.gxt.ui.client.widget.form.ComboBox; |
import com.extjs.gxt.ui.client.widget.form.Field; |
import com.extjs.gxt.ui.client.widget.form.FormPanel; |
import com.extjs.gxt.ui.client.widget.form.Validator; |
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction; |
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig; |
import com.extjs.gxt.ui.client.widget.grid.ColumnData; |
48,6 → 60,7 |
import com.extjs.gxt.ui.client.widget.grid.Grid; |
import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer; |
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel; |
import com.extjs.gxt.ui.client.widget.grid.HeaderGroupConfig; |
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; |
64,11 → 77,11 |
private ContentPanel panneauPrincipal = null; |
private ToolBar barreOutils = null; |
private EditorGrid<CollectionAPublication> grille; |
private GrillePaginable<ModelData> grille; |
private CollectionAPublicationListe publicationsAjoutees = null; |
private CollectionAPublicationListe publicationsSupprimees = null; |
private ComboBox<Publication> publicationsSaisiesComboBox = null; |
private ChampComboBoxRechercheTempsReelPaginable publicationsSaisiesComboBox = null; |
private Button publicationsBoutonSupprimer = null; |
private Button publicationsBoutonModifier = null; |
80,6 → 93,9 |
setId(ID); |
setText(Mediateur.i18nC.collectionPublication()); |
setStyleAttribute("padding", "0"); |
initialiser(); |
panneauPrincipal = creerPanneauContenantGrille(); |
setLayout(new FitLayout()); |
barreOutils = creerBarreOutilsGrille(); |
88,9 → 104,7 |
panneauPrincipal.setLayout(new FitLayout()); |
panneauPrincipal.add(grille); |
add(panneauPrincipal); |
initialiser(); |
add(panneauPrincipal); |
} |
private void initialiser() { |
99,9 → 113,6 |
publicationsAjoutees = new CollectionAPublicationListe(); |
publicationsSupprimees = new CollectionAPublicationListe(); |
// Actualisation de l'état des boutons de la barre d'outils |
actualiserEtatBoutonsBarreOutils(); |
collection = ((CollectionForm) formulaire).collection; |
} |
162,8 → 173,7 |
bouton.setIcon(Images.ICONES.vcardModifier()); |
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() { |
public void componentSelected(ButtonEvent ce) { |
CollectionAPublication publicationSaisieSelectionnee = grille.getSelectionModel().getSelectedItem(); |
ModelData publicationSaisieSelectionnee = grille.getGrille().getSelectionModel().getSelectedItem(); |
if (publicationSaisieSelectionnee == null) { |
InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerPublication()); |
} else { |
178,7 → 188,7 |
private FenetreForm creerFenetreModaleAvecFormulairePublication(String mode) { |
String publicationId = null; |
if (mode.equals(Formulaire.MODE_MODIFIER)) { |
CollectionAPublication publicationSaisiSelectionne = grille.getSelectionModel().getSelectedItem(); |
CollectionAPublication publicationSaisiSelectionne = new CollectionAPublication(grille.getGrille().getSelectionModel().getSelectedItem(), false); |
publicationId = publicationSaisiSelectionne.getIdPublication(); |
} |
232,7 → 242,7 |
bouton.setIcon(Images.ICONES.vcardSupprimer()); |
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() { |
public void componentSelected(ButtonEvent ce) { |
CollectionAPublication publicationSaisieSelectionnee = grille.getSelectionModel().getSelectedItem(); |
CollectionAPublication publicationSaisieSelectionnee = new CollectionAPublication(grille.getGrille().getSelectionModel().getSelectedItem(), false); |
if (publicationSaisieSelectionnee == null) { |
InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerPublication()); |
} else { |
249,7 → 259,7 |
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() { |
public void componentSelected(ButtonEvent ce) { |
actualiserGrille(); |
} |
} |
}); |
return bouton; |
} |
263,35 → 273,60 |
} |
} |
private ComboBox<Publication> creerComboBoxPublicationsSaisis() { |
ListStore<Publication> publicationsSaisiesStore = new ListStore<Publication>(); |
private ChampComboBoxRechercheTempsReelPaginable creerComboBoxPublicationsSaisis() { |
ComboBox<Publication> comboBox = new ComboBox<Publication>(); |
comboBox.setWidth(400); |
comboBox.setEmptyText(i18nC.chercherPublicationSaisi()); |
comboBox.setTriggerAction(TriggerAction.ALL); |
comboBox.setEditable(true); |
comboBox.setDisplayField("fmt_nom_complet"); |
comboBox.setStore(publicationsSaisiesStore); |
comboBox.addKeyListener(new KeyListener() { |
public void componentKeyUp(ComponentEvent ce) { |
if (publicationsSaisiesComboBox.getRawValue() != null && publicationsSaisiesComboBox.getRawValue().length() > 0) { |
if (!ce.isNavKeyPress()) { |
obtenirPublicationsSaisies(publicationsSaisiesComboBox.getRawValue()); |
} |
ModelType modelTypePublications = new ModelType(); |
modelTypePublications.setRoot("publications"); |
modelTypePublications.setTotalName("nbElements"); |
modelTypePublications.addField("ccapu_id_collection"); |
modelTypePublications.addField("ccapu_id_publication"); |
modelTypePublications.addField("cc_nom"); |
modelTypePublications.addField("cc_id_collection"); |
modelTypePublications.addField("cpu_id_publication"); |
modelTypePublications.addField("cpu_fmt_nom_complet"); |
modelTypePublications.addField("cpu_titre"); |
modelTypePublications.addField("cpu_nom"); |
modelTypePublications.addField("cpu_fmt_auteur"); |
modelTypePublications.addField("cpu_indication_nvt"); |
modelTypePublications.addField("cpu_truk_pages"); |
modelTypePublications.addField("cpu_fascicule"); |
modelTypePublications.addField("cpu_date_parution"); |
modelTypePublications.addField("cpu_ce_truk_editeur"); |
modelTypePublications.addField("cpu_ce_projet"); |
String displayNamePublications = "cpu_fmt_nom_complet"; |
ProxyPublications<ModelData> proxyPublications= new ProxyPublications<ModelData>(null); |
final ChampComboBoxRechercheTempsReelPaginable publicationsCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyPublications, modelTypePublications, displayNamePublications); |
publicationsCombo.getCombo().setTabIndex(tabIndex++); |
publicationsCombo.getCombo().setForceSelection(true); |
publicationsCombo.getCombo().setValidator(new Validator() { |
public String validate(Field<?> field, String value) { |
String retour = null; |
if (field.getRawValue().equals("")) { |
field.setValue(null); |
} else if (publicationsCombo.getStore().findModel("cpu_fmt_nom_complet", field.getRawValue()) == null) { |
String contenuBrut = field.getRawValue(); |
field.setValue(null); |
field.setRawValue(contenuBrut); |
retour = "Veuillez sélectionner une valeur ou laisser le champ vide"; |
} |
return retour; |
} |
}); |
comboBox.addListener(Events.Select, new Listener<BaseEvent>() { |
publicationsCombo.getCombo().addListener(Events.Select, new Listener<BaseEvent>() { |
public void handleEvent(BaseEvent be) { |
if (publicationsSaisiesComboBox.getValue() instanceof Publication) { |
Publication publicationSaisieSelectionne = publicationsSaisiesComboBox.getValue(); |
if (publicationsSaisiesComboBox.getValeur() instanceof ModelData) { |
Publication publicationSaisieSelectionne = new Publication(publicationsSaisiesComboBox.getValeur(), false); |
ajouterDansGrille(publicationSaisieSelectionne); |
publicationsSaisiesComboBox.setValue(null); |
publicationsSaisiesComboBox.getCombo().setValue(null); |
} |
} |
}); |
return comboBox; |
return publicationsCombo; |
} |
private void ajouterDansGrille(Publication publication) { |
299,10 → 334,11 |
} |
private void ajouterDansGrille(Publication publication, int index) { |
if (publication != null) { |
CollectionAPublication publicationLiee = new CollectionAPublication(); |
if (publication != null) { |
CollectionAPublication publicationLiee = new CollectionAPublication(false); |
publicationLiee.setPublication(publication); |
publicationLiee.setIdPublication(publication.getId()); |
// Gestion de l'id de la collection |
if (mode.equals(Formulaire.MODE_MODIFIER)) { |
publicationLiee.setIdCollection(collection.getId()); |
309,11 → 345,10 |
} |
publicationLiee.set("_etat_", aDonnee.ETAT_AJOUTE); |
// Ajout à la grille |
grille.stopEditing(); |
grille.getStore().insert(publicationLiee, 0); |
grille.startEditing(index, 0); |
grille.getSelectionModel().select(index, false); |
grille.getGrille().stopEditing(); |
grille.getGrille().getStore().insert(publicationLiee, 0); |
grille.getGrille().startEditing(index, 0); |
grille.getGrille().getSelectionModel().select(index, false); |
} |
} |
330,67 → 365,94 |
grille.getStore().remove(publicationLiee); |
} |
} |
private GrillePaginable<ModelData> creerGrille() { |
GrillePaginable<ModelData> grillePublications = null; |
// ModelType |
ModelType modelTypeCollectionAPublication = new ModelType(); |
modelTypeCollectionAPublication.setRoot("collectionsAPublication"); |
modelTypeCollectionAPublication.setTotalName("nbElements"); |
modelTypeCollectionAPublication.addField("ccapu_id_collection"); |
modelTypeCollectionAPublication.addField("ccapu_id_publication"); |
modelTypeCollectionAPublication.addField("ccapu_mark_licence"); |
modelTypeCollectionAPublication.addField("cpu_id_publication"); |
modelTypeCollectionAPublication.addField("cpu_fmt_auteur"); |
modelTypeCollectionAPublication.addField("cpu_titre"); |
modelTypeCollectionAPublication.addField("cpu_collection"); |
modelTypeCollectionAPublication.addField("cpu_ce_truk_editeur"); |
modelTypeCollectionAPublication.addField("cpu_date_parution"); |
modelTypeCollectionAPublication.addField("cpu_fascicule"); |
modelTypeCollectionAPublication.addField("cpu_truk_pages"); |
modelTypeCollectionAPublication.addField("cpu_indication_nvt"); |
// Proxy |
ProxyCollectionAPublication<ModelData> proxyCollectionAPublication = new ProxyCollectionAPublication<ModelData>(null, collection.getId()); |
private EditorGrid<CollectionAPublication> creerGrille() { |
ListStore<CollectionAPublication> storeGrille = new ListStore<CollectionAPublication>(); |
storeGrille.addListener(Store.Add, new Listener<StoreEvent<CollectionAPublication>>() { |
public void handleEvent(StoreEvent<CollectionAPublication> ce) { |
actualiserEtatBoutonsBarreOutils(); |
} |
}); |
storeGrille.addListener(Store.Remove, new Listener<StoreEvent<CollectionAPublication>>() { |
public void handleEvent(StoreEvent<CollectionAPublication> ce) { |
actualiserEtatBoutonsBarreOutils(); |
} |
}); |
// Colonnes |
List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>(); |
RowNumberer numeroPlugin = new RowNumberer(); |
numeroPlugin.setHeader("#"); |
XTemplate infoTpl = XTemplate.create("<p>"+ |
"<span style='font-weight:bold;'>"+i18nC.publicationAuteurs()+" :</span> {fmt_auteur}<br />"+ |
"<span style='font-weight:bold;'>"+i18nC.publicationTitre()+" :</span> {titre}<br />"+ |
"<span style='font-weight:bold;'>"+i18nC.publicationRevueCollection()+" :</span> {collection}<br />"+ |
"<span style='font-weight:bold;'>"+i18nC.publicationAuteurs()+" :</span> {cpu_fmt_auteur}<br />"+ |
"<span style='font-weight:bold;'>"+i18nC.publicationTitre()+" :</span> {cpu_titre}<br />"+ |
"<span style='font-weight:bold;'>"+i18nC.publicationRevueCollection()+" :</span> {cpu_collection}<br />"+ |
"<span style='font-weight:bold;'>"+i18nC.publicationEditeur()+" :</span> {_editeur_}"+ |
"</p>"); |
RowExpander expansionPlugin = new RowExpander(); |
expansionPlugin.setTemplate(infoTpl); |
List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>(); |
colonnes.add(expansionPlugin); |
colonnes.add(numeroPlugin); |
colonnes.add(new ColumnConfig("fmt_auteur", i18nC.publicationAuteurs(), 150)); |
colonnes.add(new ColumnConfig("titre", i18nC.publicationTitre(), 150)); |
colonnes.add(new ColumnConfig("collection", i18nC.publicationRevueCollection(), 75)); |
colonnes.add(new ColumnConfig("cpu_fmt_auteur", i18nC.publicationAuteurs(), 150)); |
colonnes.add(new ColumnConfig("cpu_titre", i18nC.publicationTitre(), 150)); |
colonnes.add(new ColumnConfig("cpu_collection", i18nC.publicationRevueCollection(), 75)); |
colonnes.add(creerColonneEditeur()); |
colonnes.add(creerColonneAnneePublication()); |
colonnes.add(new ColumnConfig("indication_nvt", i18nC.publicationNvt(), 75)); |
colonnes.add(new ColumnConfig("fascicule", i18nC.publicationFascicule(), 75)); |
colonnes.add(new ColumnConfig("truk_pages", i18nC.publicationPage(), 50)); |
colonnes.add(new ColumnConfig("cpu_indication_nvt", i18nC.publicationNvt(), 75)); |
colonnes.add(new ColumnConfig("cpu_fascicule", i18nC.publicationFascicule(), 75)); |
colonnes.add(new ColumnConfig("cpu_truk_pages", i18nC.publicationPage(), 50)); |
GridSelectionModel<CollectionAPublication> modeleDeSelection = new GridSelectionModel<CollectionAPublication>(); |
HashMap<String, String> virtualFields = new HashMap<String, String>(); |
virtualFields.put("_editeur_", "cpu_ce_truk_editeur"); |
virtualFields.put("_annee_", "cpu_date_parution"); |
virtualFields.put("_etat_", ""); |
// Modele de selection |
GridSelectionModel<ModelData> modeleDeSelection = new GridSelectionModel<ModelData>(); |
ColumnModel modeleDeColonnes = new ColumnModel(colonnes); |
modeleDeColonnes.getColumn(0).setWidget(Images.ICONES.information().createImage(), "Info"); |
EditorGrid<CollectionAPublication> grillePublications = new EditorGrid<CollectionAPublication>(storeGrille, modeleDeColonnes); |
//grillePublications.setHeight("100%"); |
grillePublications.setBorders(true); |
grillePublications.setSelectionModel(modeleDeSelection); |
grillePublications.addPlugin(expansionPlugin); |
grillePublications.addPlugin(numeroPlugin); |
grillePublications.getView().setForceFit(true); |
grillePublications.setAutoExpandColumn("titre"); |
grillePublications.setStripeRows(true); |
grillePublications.setTrackMouseOver(true); |
// Grille |
grillePublications = new GrillePaginable<ModelData>(modelTypeCollectionAPublication, virtualFields, proxyCollectionAPublication, colonnes, modeleDeColonnes); |
grillePublications.getGrille().setBorders(true); |
grillePublications.getGrille().setSelectionModel(modeleDeSelection); |
grillePublications.getGrille().addPlugin(expansionPlugin); |
grillePublications.getGrille().addPlugin(numeroPlugin); |
grillePublications.getGrille().getView().setForceFit(true); |
grillePublications.getGrille().setAutoExpandColumn("titre"); |
grillePublications.getGrille().setStripeRows(true); |
grillePublications.getGrille().setTrackMouseOver(true); |
// Rajouter des écouteurs |
grillePublications.getStore().addListener(Store.Add, new Listener<StoreEvent<ModelData>>() { |
public void handleEvent(StoreEvent<ModelData> ce) { |
actualiserEtatBoutonsBarreOutils(); |
} |
}); |
grillePublications.getStore().addListener(Store.Remove, new Listener<StoreEvent<ModelData>>() { |
public void handleEvent(StoreEvent<ModelData> ce) { |
actualiserEtatBoutonsBarreOutils(); |
} |
}); |
return grillePublications; |
} |
private ColumnConfig creerColonneEditeur() { |
GridCellRenderer<CollectionAPublication> editeurRendu = new GridCellRenderer<CollectionAPublication>() { |
public String render(CollectionAPublication model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<CollectionAPublication> store, Grid<CollectionAPublication> grid) { |
String editeur = model.getPublication().getNomEditeur(); |
GridCellRenderer<ModelData> editeurRendu = new GridCellRenderer<ModelData>() { |
public String render(ModelData model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ModelData> store, Grid<ModelData> grid) { |
String editeur = (new CollectionAPublication(model, false)).getPublication().getNomEditeur(); |
model.set("_editeur_", editeur); |
return editeur; |
} |
401,9 → 463,9 |
} |
private ColumnConfig creerColonneAnneePublication() { |
GridCellRenderer<CollectionAPublication> datePublicationRendu = new GridCellRenderer<CollectionAPublication>() { |
public String render(CollectionAPublication model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<CollectionAPublication> store, Grid<CollectionAPublication> grid) { |
String annee = model.getPublication().getAnneeParution(); |
GridCellRenderer<ModelData> datePublicationRendu = new GridCellRenderer<ModelData>() { |
public String render(ModelData model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ModelData> store, Grid<ModelData> grid) { |
String annee = (new CollectionAPublication(model, false)).getPublication().getAnneeParution(); |
model.set("_annee_", annee); |
return annee; |
} |
430,19 → 492,10 |
if (nouvellesDonnees instanceof Information) { |
Information info = (Information) nouvellesDonnees; |
rafraichirInformation(info); |
} else if (nouvellesDonnees instanceof PublicationListe) { |
PublicationListe listePublications = (PublicationListe) nouvellesDonnees; |
rafraichirPublicationListe(listePublications); |
} else { |
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("[]")) { |
464,14 → 517,15 |
mediateur.ajouterCollectionAPublication(this, collectionId, publicationsAjoutees); |
} |
} else if (type.equals("publication_modifiee")) { |
if (info.getDonnee(0) != null) { |
Publication publication = (Publication) info.getDonnee(0); |
CollectionAPublication publicationDansGrille = grille.getStore().findModel("id_publication", publication.getId()); |
int index = grille.getStore().indexOf(publicationDansGrille); |
if (info.getDonnee(0) != null) { |
Publication publication = (Publication) info.getDonnee(0); |
ModelData publicationDansGrille = null; |
publicationDansGrille = grille.getStore().findModel("cpu_id_publication", publication.getId()); |
int index = grille.getStore().indexOf(publicationDansGrille); |
grille.getStore().remove(publicationDansGrille); |
ajouterDansGrille(publication, index); |
} |
} else if (type.equals("publication_ajoutee")) { |
} else if (type.equals("publication_ajoutee")) { |
if (info.getDonnee(0) != null) { |
Publication publication = (Publication) info.getDonnee(0); |
ajouterDansGrille(publication); |
496,17 → 550,18 |
if (etreAccede()) { |
int nbrePublication = grille.getStore().getCount(); |
for (int i = 0; i < nbrePublication; i++) { |
CollectionAPublication publicationLiee = grille.getStore().getAt(i); |
ModelData publicationLiee = grille.getStore().getAt(i); |
CollectionAPublication cap = new CollectionAPublication(grille.getStore().getAt(i), false); |
if (publicationLiee.get("_etat_") != null) { |
if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_MODIFIE)) { |
// Comme il est impossible de modifier les relations nous supprimons l'ancien enregistrement et ajoutons un nouveau avec le nouveau id_role |
publicationsSupprimees.put("id"+idGenere++, publicationLiee); |
publicationsSupprimees.put("id"+idGenere++, cap); |
CollectionAPublication relationAAjouter = (CollectionAPublication) publicationLiee.cloner(new CollectionAPublication()); |
CollectionAPublication relationAAjouter = (CollectionAPublication) cap.cloner(new CollectionAPublication()); |
publicationsAjoutees.put("id"+idGenere++, relationAAjouter); |
} |
if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_AJOUTE)) { |
publicationsAjoutees.put("id"+idGenere++, publicationLiee); |
publicationsAjoutees.put("id"+idGenere++, cap); |
} |
// Initialisation de la grille |
publicationLiee.set("_etat_", ""); |
532,8 → 587,4 |
} |
} |
} |
private void obtenirPublicationsSaisies(String nom) { |
mediateur.selectionnerPublicationParNomComplet(this, null, "%"+nom+"%"); |
} |
} |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/collection/CollectionFormPublication.java:r11-933 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/collection/CollectionFormPublication.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormContenu.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/collection/CollectionFormContenu.java:r11-933 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/collection/CollectionFormContenu.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/collection/CollectionVue.java |
---|
31,7 → 31,7 |
listeCollectionPanneau = new CollectionListeVue(mediateur); |
add(listeCollectionPanneau, new BorderLayoutData(LayoutRegion.CENTER)); |
detailCollectionPanneau = new CollectionDetailVue(mediateur, sequenceur); |
BorderLayoutData dispositionSud = new BorderLayoutData(LayoutRegion.SOUTH, .5f, 200, 1000); |
dispositionSud.setSplit(true); |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/collection/CollectionVue.java:r11-933 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/collection/CollectionVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/collection/CollectionListeVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/collection/CollectionListeVue.java:r11-933 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/collection/CollectionListeVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormGeneral.java |
---|
438,7 → 438,7 |
return valeur; |
} |
private void setValeurComboStructures() { |
if (structuresCombo.getCombo().getStore() != null |
if (structuresCombo.getCombo().getStore() != null |
&& collection != null |
&& collection.getStructureNom() != null |
&& !UtilString.isEmpty(collection.getStructureNom())) { |
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/collection/CollectionFormGeneral.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/vues/collection/CollectionFormGeneral.java:r11-933 |
/trunk/src/org/tela_botanica/client/vues/collection/CollectionDetailVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/collection/CollectionDetailVue.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/vues/collection/CollectionDetailVue.java:r11-933 |
/trunk/src/org/tela_botanica/client/vues/collection/CollectionForm.java |
---|
70,7 → 70,7 |
mediateurCourrant.selectionnerCollection(this, collectionId, null, sequenceur); |
mediateurCourrant.selectionnerCollectionAPersonne(this, collectionId, null, sequenceur); |
mediateurCourrant.selectionnerCollectionAPublication(this, collectionId, sequenceur); |
mediateurCourrant.selectionnerCollectionACommentaire(this, collectionId, sequenceur); |
//mediateurCourrant.selectionnerCollectionACommentaire(this, collectionId, sequenceur); |
} |
} |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/collection/CollectionForm.java:r11-933 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/collection/CollectionForm.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormCommentaire.java |
---|
1,11 → 1,18 |
package org.tela_botanica.client.vues.collection; |
import java.util.ArrayList; |
import java.util.HashMap; |
import java.util.List; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.composants.ChampComboBoxMultiSelect; |
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.ProxyCollectionACommentaire; |
import org.tela_botanica.client.composants.pagination.ProxyCollectionAPersonne; |
import org.tela_botanica.client.composants.pagination.ProxyCommentaires; |
import org.tela_botanica.client.composants.pagination.ProxyPublications; |
import org.tela_botanica.client.images.Images; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Information; |
17,6 → 24,7 |
import org.tela_botanica.client.modeles.collection.CollectionACommentaireListe; |
import org.tela_botanica.client.modeles.commentaire.Commentaire; |
import org.tela_botanica.client.modeles.commentaire.CommentaireListe; |
import org.tela_botanica.client.modeles.publication.Publication; |
import org.tela_botanica.client.synchronisation.Sequenceur; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.vues.FenetreForm; |
26,6 → 34,8 |
import org.tela_botanica.client.vues.commentaire.CommentaireForm; |
import com.extjs.gxt.ui.client.Style.SortDir; |
import com.extjs.gxt.ui.client.data.ModelData; |
import com.extjs.gxt.ui.client.data.ModelType; |
import com.extjs.gxt.ui.client.event.BaseEvent; |
import com.extjs.gxt.ui.client.event.ButtonEvent; |
import com.extjs.gxt.ui.client.event.ComponentEvent; |
42,7 → 52,9 |
import com.extjs.gxt.ui.client.widget.button.Button; |
import com.extjs.gxt.ui.client.widget.button.ButtonBar; |
import com.extjs.gxt.ui.client.widget.form.ComboBox; |
import com.extjs.gxt.ui.client.widget.form.Field; |
import com.extjs.gxt.ui.client.widget.form.FormPanel; |
import com.extjs.gxt.ui.client.widget.form.Validator; |
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction; |
import com.extjs.gxt.ui.client.widget.grid.CellEditor; |
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig; |
52,6 → 64,7 |
import com.extjs.gxt.ui.client.widget.grid.Grid; |
import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer; |
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel; |
import com.extjs.gxt.ui.client.widget.grid.HeaderGroupConfig; |
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.toolbar.SeparatorToolItem; |
66,13 → 79,13 |
private ContentPanel panneauPrincipal = null; |
private ToolBar barreOutils = null; |
private EditorGrid<CollectionACommentaire> grille; |
private GrillePaginable<ModelData> grille = null; |
private ChampComboBoxMultiSelect<Valeur> typeCombo = null; |
private CollectionACommentaireListe commentairesAjoutes = null; |
private CollectionACommentaireListe commentairesModifies = null; |
private CollectionACommentaireListe commentairesSupprimes = null; |
private ComboBox<Commentaire> commentairesSaisisComboBox = null; |
private ChampComboBoxRechercheTempsReelPaginable commentairesSaisisComboBox = null; |
private Button commentairesBoutonSupprimer = null; |
private Button commentairesBoutonModifier = null; |
83,11 → 96,15 |
private Sequenceur sequenceur; |
public CollectionFormCommentaire(Formulaire formulaireCourrant) { |
initialiserOnglet(formulaireCourrant); |
setLayout(new FitLayout()); |
setId(ID); |
setText(Mediateur.i18nC.collectionCommentaire()); |
setStyleAttribute("padding", "0"); |
initialiser(); |
panneauPrincipal = creerPanneauContenantGrille(); |
barreOutils = creerBarreOutilsGrille(); |
panneauPrincipal.setTopComponent(barreOutils); |
96,8 → 113,6 |
mediateur.obtenirListeValeurEtRafraichir(this, "typeCommentaireCollection", null); |
add(panneauPrincipal); |
initialiser(); |
} |
private void initialiser() { |
104,9 → 119,6 |
// Remise à zéro des modification dans la liste des commentaires |
initialiserGestionCommentaires(); |
// Actualisation de l'état des boutons de la barre d'outils |
actualiserEtatBoutonsBarreOutils(); |
collection = ((CollectionForm) formulaire).collection; |
} |
181,7 → 193,7 |
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() { |
@Override |
public void componentSelected(ButtonEvent ce) { |
CollectionACommentaire commentaireSaisiSelectionne = grille.getSelectionModel().getSelectedItem(); |
ModelData commentaireSaisiSelectionne = grille.getGrille().getSelectionModel().getSelectedItem(); |
if (commentaireSaisiSelectionne == null) { |
InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerCommentaire()); |
} else { |
196,8 → 208,9 |
private FenetreForm creerFenetreModaleAvecFormulaireCommentaire(String mode) { |
String commentaireId = null; |
if (mode.equals(Formulaire.MODE_MODIFIER)) { |
CollectionACommentaire commentaierSaisieSelectionnee = grille.getSelectionModel().getSelectedItem(); |
commentaireId = commentaierSaisieSelectionnee.getIdCommentaire(); |
ModelData commentaierSaisieSelectionnee = grille.getGrille().getSelectionModel().getSelectedItem(); |
CollectionACommentaire cac = new CollectionACommentaire(commentaierSaisieSelectionnee, false); |
commentaireId = cac.getIdCommentaire(); |
} |
final FenetreForm fenetre = new FenetreForm(""); |
251,11 → 264,12 |
bouton.setIcon(Images.ICONES.vcardSupprimer()); |
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() { |
public void componentSelected(ButtonEvent ce) { |
CollectionACommentaire commentaireSaisiSelectionnee = grille.getSelectionModel().getSelectedItem(); |
ModelData commentaireSaisiSelectionnee = grille.getGrille().getSelectionModel().getSelectedItem(); |
CollectionACommentaire cac = new CollectionACommentaire(commentaireSaisiSelectionnee, false); |
if (commentaireSaisiSelectionnee == null) { |
InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerCommentaire()); |
} else { |
supprimerDansGrille(commentaireSaisiSelectionnee); |
supprimerDansGrille(cac); |
} |
} |
}); |
273,36 → 287,52 |
return bouton; |
} |
private ComboBox<Commentaire> creerComboBoxCommentairesSaisies() { |
ListStore<Commentaire> commentairesSaisiesStore = new ListStore<Commentaire>(); |
commentairesSaisiesStore.add(new ArrayList<Commentaire>()); |
private ChampComboBoxRechercheTempsReelPaginable creerComboBoxCommentairesSaisies() { |
ComboBox<Commentaire> comboBox = new ComboBox<Commentaire>(); |
comboBox.setWidth(200); |
comboBox.setEmptyText(i18nC.chercherCommentaireSaisi()); |
comboBox.setTriggerAction(TriggerAction.ALL); |
comboBox.setEditable(true); |
comboBox.setDisplayField("titre"); |
comboBox.setStore(commentairesSaisiesStore); |
comboBox.addKeyListener(new KeyListener() { |
public void componentKeyUp(ComponentEvent ce) { |
if (commentairesSaisisComboBox.getRawValue() != null && commentairesSaisisComboBox.getRawValue().length() > 0) { |
if (!ce.isNavKeyPress()) { |
obtenirCommentairesSaisis(commentairesSaisisComboBox.getRawValue()); |
} |
ModelType modelTypeCommentaires = new ModelType(); |
modelTypeCommentaires.setRoot("commentaires"); |
modelTypeCommentaires.setTotalName("nbElements"); |
modelTypeCommentaires.addField("ccm_id_commentaire"); |
modelTypeCommentaires.addField("ccm_ce_pere"); |
modelTypeCommentaires.addField("ccm_ce_projet"); |
modelTypeCommentaires.addField("ccm_titre"); |
modelTypeCommentaires.addField("ccm_texte"); |
modelTypeCommentaires.addField("ccm_ponderation"); |
modelTypeCommentaires.addField("ccm_mark_public"); |
String displayNameCommentaires = "ccm_titre"; |
ProxyCommentaires<ModelData> proxyCommentaires = new ProxyCommentaires<ModelData>(null); |
final ChampComboBoxRechercheTempsReelPaginable commentairesCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyCommentaires, modelTypeCommentaires, displayNameCommentaires); |
commentairesCombo.getCombo().setTabIndex(tabIndex++); |
commentairesCombo.getCombo().setForceSelection(true); |
commentairesCombo.getCombo().setValidator(new Validator() { |
public String validate(Field<?> field, String value) { |
String retour = null; |
if (field.getRawValue().equals("")) { |
field.setValue(null); |
} else if (commentairesCombo.getStore().findModel("ccm_titre", field.getRawValue()) == null) { |
String contenuBrut = field.getRawValue(); |
field.setValue(null); |
field.setRawValue(contenuBrut); |
retour = "Veuillez sélectionner une valeur ou laisser le champ vide"; |
} |
return retour; |
} |
}); |
comboBox.addListener(Events.Select, new Listener<BaseEvent>() { |
commentairesCombo.getCombo().addListener(Events.Select, new Listener<BaseEvent>() { |
public void handleEvent(BaseEvent be) { |
if (commentairesSaisisComboBox.getValue() instanceof Commentaire) { |
Commentaire commentaireSaisiSelectionnee = commentairesSaisisComboBox.getValue(); |
if (commentairesSaisisComboBox.getValeur() instanceof ModelData) { |
Commentaire commentaireSaisiSelectionnee = new Commentaire(commentairesSaisisComboBox.getValeur()); |
ajouterDansGrille(commentaireSaisiSelectionnee); |
commentairesSaisisComboBox.setValue(null); |
commentairesSaisisComboBox.getCombo().setValue(null); |
} |
} |
}); |
return comboBox; |
return commentairesCombo; |
} |
private void ajouterDansGrille(Commentaire commentaire) { |
325,10 → 355,10 |
corrigerChampsGrille(relationCollectionACommentaire); |
// Ajout à la grille |
grille.stopEditing(); |
grille.getStore().insert(relationCollectionACommentaire, index); |
grille.startEditing(index, 0); |
grille.getSelectionModel().select(index, false); |
grille.getGrille().stopEditing(); |
grille.getGrille().getStore().insert(relationCollectionACommentaire, index); |
grille.getGrille().startEditing(index, 0); |
grille.getGrille().getSelectionModel().select(index, false); |
} |
} |
346,31 → 376,34 |
} |
} |
private EditorGrid<CollectionACommentaire> creerGrille() { |
ListStore<CollectionACommentaire> storeGrille = new ListStore<CollectionACommentaire>(); |
storeGrille.addListener(Store.Add, new Listener<StoreEvent<CollectionACommentaire>>() { |
public void handleEvent(StoreEvent<CollectionACommentaire> ce) { |
actualiserEtatBoutonsBarreOutils(); |
} |
}); |
storeGrille.addListener(Store.Remove, new Listener<StoreEvent<CollectionACommentaire>>() { |
public void handleEvent(StoreEvent<CollectionACommentaire> ce) { |
actualiserEtatBoutonsBarreOutils(); |
} |
}); |
storeGrille.addListener(Store.Update, new Listener<StoreEvent<CollectionACommentaire>>() { |
public void handleEvent(StoreEvent<CollectionACommentaire> ce) { |
if (ce.getRecord().isModified("_type_") && !ce.getModel().get("_etat_").equals(aDonnee.ETAT_AJOUTE)) { |
ce.getModel().set("_etat_", aDonnee.ETAT_MODIFIE); |
} |
} |
}); |
private GrillePaginable<ModelData> creerGrille() { |
RowNumberer pluginLigneNumero = new RowNumberer(); |
GrillePaginable<ModelData> grillePaginable = null; |
// ModelType |
ModelType modelTypeCollectionACommentaire = new ModelType(); |
modelTypeCollectionACommentaire.setRoot("collectionsACommentaire"); |
modelTypeCollectionACommentaire.setTotalName("nbElements"); |
modelTypeCollectionACommentaire.addField("ccac_id_commentaire"); |
modelTypeCollectionACommentaire.addField("ccac_id_collection"); |
modelTypeCollectionACommentaire.addField("ccac_truk_type"); |
modelTypeCollectionACommentaire.addField("ccm_id_commentaire"); |
modelTypeCollectionACommentaire.addField("ccm_titre"); |
modelTypeCollectionACommentaire.addField("ccm_texte"); |
modelTypeCollectionACommentaire.addField("ccm_ponderation"); |
modelTypeCollectionACommentaire.addField("ccm_mark_public"); |
modelTypeCollectionACommentaire.addField("ccm_ce_pere"); |
modelTypeCollectionACommentaire.addField("ccm_ce_projet"); |
// Proxy |
ProxyCollectionACommentaire<ModelData> proxyCollectionACommentaire = new ProxyCollectionACommentaire<ModelData>(null, collection.getId()); |
// Colonnes |
List<ColumnConfig> colonnes = new ArrayList<ColumnConfig>(); |
colonnes.add(pluginLigneNumero); |
RowNumberer pluginLigneNumero = new RowNumberer(); |
colonnes.add(pluginLigneNumero); |
colonnes.add(creerColonneType()); |
colonnes.add(new ColumnConfig("_titre_", i18nC.commentaireTitre(), 150)); |
colonnes.add(new ColumnConfig("_texte_", i18nC.commentaireTexte(), 75)); |
377,20 → 410,38 |
colonnes.add(new ColumnConfig("_ponderation_", i18nC.commentairePonderation(), 35)); |
colonnes.add(creerColonneAcces()); |
GridSelectionModel<CollectionACommentaire> modeleDeSelection = new GridSelectionModel<CollectionACommentaire>(); |
// Modèle de colonnes |
ColumnModel modeleDeColonnes = new ColumnModel(colonnes); |
GridSelectionModel<ModelData> modeleDeSelection = new GridSelectionModel<ModelData>(); |
EditorGrid<CollectionACommentaire> grille = new EditorGrid<CollectionACommentaire>(storeGrille, modeleDeColonnes); |
grille.setHeight("100%"); |
grille.setBorders(true); |
grille.setSelectionModel(modeleDeSelection); |
grille.addPlugin(pluginLigneNumero); |
grille.getView().setForceFit(true); |
grille.setAutoExpandColumn("_titre_"); |
grille.setStripeRows(true); |
grille.setTrackMouseOver(true); |
HashMap<String, String> virtualFields = new HashMap<String, String>(); |
virtualFields.put("_titre_", "ccm_titre"); |
virtualFields.put("_texte_", "ccm_texte"); |
virtualFields.put("_ponderation_", "ccm_ponderation"); |
virtualFields.put("_type_", "ccac_truk_type"); |
virtualFields.put("_public_", "ccm_mark_public"); |
virtualFields.put("_etat_", ""); |
return grille; |
// Grille |
grillePaginable = new GrillePaginable<ModelData>(modelTypeCollectionACommentaire, virtualFields, proxyCollectionACommentaire, colonnes, modeleDeColonnes); |
grillePaginable.getGrille().setBorders(true); |
grillePaginable.getGrille().setSelectionModel(modeleDeSelection); |
grillePaginable.getGrille().addPlugin(pluginLigneNumero); |
grillePaginable.getGrille().getView().setForceFit(true); |
grillePaginable.getGrille().setAutoExpandColumn("_titre_"); |
grillePaginable.getGrille().setStripeRows(true); |
grillePaginable.getGrille().setTrackMouseOver(true); |
// Rajouter des écouteurs |
grillePaginable.getStore().addListener(Store.Update, new Listener<StoreEvent<ModelData>>() { |
public void handleEvent(StoreEvent<ModelData> ce) { |
if (ce.getRecord().isModified("_type_") && ce.getModel().get("_etat_") == null || !ce.getModel().get("_etat_").equals(aDonnee.ETAT_AJOUTE)) { |
ce.getModel().set("_etat_", aDonnee.ETAT_MODIFIE); |
} |
} |
}); |
return grillePaginable; |
} |
private ColumnConfig creerColonneType() { |
424,8 → 475,8 |
} |
}; |
GridCellRenderer<CollectionACommentaire> typeRendu = new GridCellRenderer<CollectionACommentaire>() { |
public String render(CollectionACommentaire model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<CollectionACommentaire> store, Grid<CollectionACommentaire> grid) { |
GridCellRenderer<ModelData> typeRendu = new GridCellRenderer<ModelData>() { |
public String render(ModelData model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ModelData> store, Grid<ModelData> grid) { |
String type = model.get("_type_"); |
if (typeCombo.getStore() != null && type != null && (type.matches("[0-9]+") || type.contains(aDonnee.SEPARATEUR_VALEURS))) { |
type = typeCombo.formaterIdentifiantsEnTexte(type); |
441,9 → 492,10 |
} |
private ColumnConfig creerColonneAcces() { |
GridCellRenderer<CollectionACommentaire> accesRendu = new GridCellRenderer<CollectionACommentaire>() { |
public String render(CollectionACommentaire model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<CollectionACommentaire> store, Grid<CollectionACommentaire> grid) { |
String acces = (model.getCommentaire().etrePublic() ? i18nC.donneePublic() : i18nC.donneePrivee()); |
GridCellRenderer<ModelData> accesRendu = new GridCellRenderer<ModelData>() { |
public String render(ModelData model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ModelData> store, Grid<ModelData> grid) { |
CollectionACommentaire cac = new CollectionACommentaire(model, true); |
String acces = (cac.getCommentaire().etrePublic() ? i18nC.donneePublic() : i18nC.donneePrivee()); |
model.set("_public_", acces); |
return acces; |
} |
473,9 → 525,6 |
} else if (nouvellesDonnees instanceof Information) { |
Information info = (Information) nouvellesDonnees; |
rafraichirInformation(info); |
} else if (nouvellesDonnees instanceof CommentaireListe) { |
CommentaireListe listeCommentaires = (CommentaireListe) nouvellesDonnees; |
rafraichirCommentairesListe(listeCommentaires); |
} else { |
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
} |
524,7 → 573,7 |
} else if (type.equals("commentaire_modifiee")) { |
if (info.getDonnee(0) != null) { |
Commentaire commentaire = (Commentaire) info.getDonnee(0); |
CollectionACommentaire commentaireDansGrille = grille.getStore().findModel("id_commentaire", commentaire.getId()); |
ModelData commentaireDansGrille = grille.getStore().findModel("ccm_id_commentaire", commentaire.getId()); |
int index = grille.getStore().indexOf(commentaireDansGrille); |
grille.getStore().remove(commentaireDansGrille); |
String typeCommentaire = (String) commentaireDansGrille.get("_type_"); |
547,12 → 596,6 |
} |
} |
private void rafraichirCommentairesListe(CommentaireListe listeCommentaires) { |
commentairesSaisisComboBox.getStore().removeAll(); |
commentairesSaisisComboBox.getStore().add(listeCommentaires.toList()); |
commentairesSaisisComboBox.expand(); |
} |
public void peupler() { |
grille.getStore().removeAll(); |
grille.getStore().add(collection.getCommentairesLiees().toList()); |
565,15 → 608,16 |
if (etreAccede()) { |
int nbreCommentaire = grille.getStore().getCount(); |
for (int i = 0; i < nbreCommentaire; i++) { |
CollectionACommentaire relationCollectionACommentaire = grille.getStore().getAt(i); |
ModelData relationCollectionACommentaire = grille.getStore().getAt(i); |
CollectionACommentaire cac = new CollectionACommentaire(relationCollectionACommentaire, false); |
if (relationCollectionACommentaire.get("_etat_") != null) { |
if (relationCollectionACommentaire.get("_etat_").equals(aDonnee.ETAT_MODIFIE)) { |
corrigerChampsGrille(relationCollectionACommentaire);// Nous modifions l'id_type |
commentairesModifies.put("id"+idGenere++, relationCollectionACommentaire); |
corrigerChampsGrille(cac);// Nous modifions l'id_type |
commentairesModifies.put("id"+idGenere++, cac); |
} |
if (relationCollectionACommentaire.get("_etat_").equals(aDonnee.ETAT_AJOUTE)) { |
corrigerChampsGrille(relationCollectionACommentaire);// Nous modifions l'id_type |
commentairesAjoutes.put("id"+idGenere++, relationCollectionACommentaire); |
corrigerChampsGrille(cac);// Nous modifions l'id_type |
commentairesAjoutes.put("id"+idGenere++, cac); |
} |
// Initialisation de la grille |
relationCollectionACommentaire.set("_etat_", ""); |
586,6 → 630,7 |
private void corrigerChampsGrille(CollectionACommentaire relationCollectionACommentaire) { |
String type = relationCollectionACommentaire.get("_type_"); |
relationCollectionACommentaire.setType(typeCombo.formaterTexteEnIdentifiants(type)); |
relationCollectionACommentaire.setIdCollection(collection.getId()); |
} |
public void soumettre() { |
594,16 → 639,12 |
InfoLogger.display("Modification des notes liées", "Rien n'a été enregistré car le formulaire n'a pas été modifié."); |
} else { |
mediateur.ajouterCollectionACommentaire(this, collection.getId(), commentairesAjoutes); |
mediateur.modifierCollectionACommentaire(this, commentairesModifies); |
mediateur.modifierCollectionACommentaire(this, commentairesModifies); |
mediateur.supprimerCollectionACommentaire(this, commentairesSupprimes); |
} |
} |
} |
private void obtenirCommentairesSaisis(String titre) { |
mediateur.selectionnerCommentaireParTitre(this, titre+"%", null); |
} |
private void actualiserGrille() { |
if (mode.equals(Formulaire.MODE_MODIFIER)) { |
mediateur.selectionnerCollectionACommentaire(this, collection.getId(), null); |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/collection/CollectionFormCommentaire.java:r11-996 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/collection/CollectionFormCommentaire.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormDescription.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/collection/CollectionFormDescription.java:r11-933 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/collection/CollectionFormDescription.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormInventaire.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/collection/CollectionFormInventaire.java:r11-933 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/collection/CollectionFormInventaire.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/collection |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/collection:r11-933 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/collection:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/FenetreForm.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/FenetreForm.java:r11-702 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/FenetreForm.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/FormulaireOnglet.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/FormulaireOnglet.java:r11-686 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/FormulaireOnglet.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/NavigationVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/NavigationVue.java:r11-981 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/NavigationVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/structure/StructureVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/structure/StructureVue.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/structure/StructureVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/structure/StructureListeVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/structure/StructureListeVue.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/structure/StructureListeVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/structure/StructureDetailVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/structure/StructureDetailVue.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/structure/StructureDetailVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/structure/StructureForm.java |
---|
3,6 → 3,7 |
import java.util.ArrayList; |
import java.util.Date; |
import java.util.Iterator; |
import java.util.LinkedList; |
import java.util.List; |
import org.tela_botanica.client.ComposantClass; |
792,14 → 793,7 |
} |
String dateFondation = identification.getAnneeOuDateFondation(); |
if (!dateFondation.equals("")) { |
if (dateFondation.endsWith("00-00")) { |
dateFondationChp.setValue(dateFondation.substring(0, 4)); |
} else { |
Date date = DateTimeFormat.getFormat("yyyy-MM-dd").parse(dateFondation); |
dateFondationChp.setValue(DateTimeFormat.getFormat("dd/MM/yyyy").format(date)); |
} |
} |
dateFondationChp.setValue(dateFondation); |
descriptionChp.setValue(identification.getDescription()); |
conditionAccesChp.setValue(identification.getConditionAcces()); |
2033,8 → 2027,6 |
} |
public void rafraichir(Object nouvellesDonnees) { |
try { |
if (nouvellesDonnees instanceof Information) { |
Information info = (Information) nouvellesDonnees; |
2052,11 → 2044,10 |
controlerFermeture(); |
} |
public void rafraichirInformation(Information info) { |
public void rafraichirInformation(Information info) { |
if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) { |
GWT.log("MESSAGES:\n"+info.getMessages().toString(), null); |
} |
if (info.getType().equals("modif_structure")) { |
InfoLogger.display("Modification d'une institution", info.toString()); |
2083,10 → 2074,15 |
InfoLogger.display("Modification d'une institution", info.toString()); |
String titre = i18nC.titreModifFormStructurePanneau(); |
if (info.getDonnee(0) != null) { |
identification = (Structure) info.getDonnee(0); |
if (onglets.getSelectedItem().equals(identificationOnglet)) { |
peuplerStructureIdentification(); |
try { |
identification = (Structure) info.getDonnee(0); |
if (onglets.getSelectedItem().equals(identificationOnglet)) { |
peuplerStructureIdentification(); |
} |
} catch(Exception e) { |
GWT.log("Problème de cast. "+info.getDonnee(0)+" ne peut être casté en Structure", e); |
} |
// Composition du titre |
titre += " - ID : "+identification.getId(); |
} |
2270,4 → 2266,5 |
private void initialiserGrillePersonnelEnModification() { |
mediateur.selectionnerStructureAPersonne(this, identification.getId(), StructureAPersonne.ROLE_EQUIPE, null); |
} |
} |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/structure/StructureForm.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/structure/StructureForm.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/structure |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/structure:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/structure:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/DetailVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/DetailVue.java:r11-452,929-935 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/DetailVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/projet/ProjetVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/projet/ProjetVue.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/projet/ProjetVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/projet/ProjetListeVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/projet/ProjetListeVue.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/projet/ProjetListeVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/projet/ProjetDetailVue.java |
---|
45,6 → 45,7 |
private boolean listeIndexationFrequenceChargee = false; |
private ValeurListe valeurListeLangue = null; |
private boolean listeLangueChargee = false; |
private boolean displayUrl = true; |
private Sequenceur sequenceur; |
52,8 → 53,6 |
super(mediateurCourant); |
this.sequenceur = sequenceur; |
initialiserTousLesTpl(); |
panneauPrincipal = new ContentPanel(); |
panneauPrincipal.setLayout(new FitLayout()); |
panneauPrincipal.setHeaderVisible(false); |
96,8 → 95,12 |
" <span class='{css_label}'>{i18n_nom} :</span> {nom}<br />"+ |
" <span class='{css_label}'>{i18n_abreviation} :</span> {abreviation}<br />"+ |
" <span class='{css_label}'>{i18n_resume} :</span> {resume}<br />"+ |
" <span class='{css_label}'>{i18n_description} :</span> {description}<br />"+ |
" <span class='{css_label}'>{i18n_url} :</span> <a class='{css_lien_ext}' href='{url}' onclick='window.open(this.href); return false;'>{url}</a><br />"+ |
" <span class='{css_label}'>{i18n_description} :</span> {description}<br />"; |
if (projet.getUrl() != null && !UtilString.isEmpty(projet.getUrl())) |
contenuTpl += " <span class='{css_label}'>{i18n_url} :</span> <a class='{css_lien_ext}' href='{url}' onclick='window.open(this.href); return false;'>{url}</a><br />"; |
contenuTpl += |
" </div>"+ |
" <div class='{css_fieldset}'>"+ |
" <h2>{i18n_titre_complement}</h2>"+ |
230,6 → 233,9 |
if (Mediateur.DEBUG) System.out.println("|| ProjetDetailVue > Réception d'un Projet"); |
projet = (Projet) nouvellesDonnees; |
projetChargementOk = true; |
initialiserTousLesTpl(); |
} else if (nouvellesDonnees instanceof ProjetListe) { |
if (Mediateur.DEBUG) System.out.println("|| ProjetDetailVue > Réception d'une ProjetListe"); |
projets = (ProjetListe) nouvellesDonnees; |
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/projet/ProjetDetailVue.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/vues/projet/ProjetDetailVue.java:r11-934 |
/trunk/src/org/tela_botanica/client/vues/projet/ProjetForm.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/projet/ProjetForm.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/projet/ProjetForm.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/projet |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/projet:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/projet:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/commentaire/CommentaireForm.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/commentaire/CommentaireForm.java:r11-984 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/commentaire/CommentaireForm.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/commentaire/CommentaireVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/commentaire/CommentaireVue.java:r11-984 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/commentaire/CommentaireVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/commentaire/CommentaireListeVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/commentaire/CommentaireListeVue.java:r11-984 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/commentaire/CommentaireListeVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/commentaire/CommentaireDetailVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/commentaire/CommentaireDetailVue.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/vues/commentaire/CommentaireDetailVue.java:r11-984 |
/trunk/src/org/tela_botanica/client/vues/commentaire |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/commentaire:r11-984 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/commentaire:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/FenetreJournal.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/FenetreJournal.java:r11-1208 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/FenetreJournal.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/MenuVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/MenuVue.java:r11-443 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/MenuVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/BarrePaginationVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/BarrePaginationVue.java:r11-593 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/BarrePaginationVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/accueil |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/accueil:r11-911 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/accueil:r1417-1511 |
/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 |
/trunk/src/org/tela_botanica/client/vues/ContenuVue.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/ContenuVue.java:r11-443,923-935 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/ContenuVue.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/vues/FormulaireBarreValidation.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/vues/FormulaireBarreValidation.java:r11-774 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/vues/FormulaireBarreValidation.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/interfaces |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/interfaces:r11-59 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/interfaces:r1417-1511 |
/trunk/src/org/tela_botanica/client/Modele.java |
---|
265,10 → 265,15 |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION de la relation COLLECTION A PUBLICATION |
public void selectionnerCollectionAPublication(Rafraichissable vueARafraichir, String collectionId, String recherche, int start, int nbElements, Integer seqId) { |
CollectionAPublicationAsyncDao capDao = new CollectionAPublicationAsyncDao(vueARafraichir); |
capDao.selectionner(true, collectionId, recherche, start, nbElements, seqId); |
} |
public void selectionnerCollectionAPublication(Rafraichissable vueARafraichir, String collectionId, Integer seqId) { |
CollectionAPublicationAsyncDao capDao = new CollectionAPublicationAsyncDao(vueARafraichir); |
capDao.selectionner(collectionId, seqId); |
capDao.selectionner(false, collectionId, null, 0, -1, seqId); |
} |
public void modifierCollectionAPublication(Rafraichissable vueARafraichir, CollectionAPublication collectionAPublication) { |
291,9 → 296,14 |
public void selectionnerCollectionACommentaire(Rafraichissable vueARafraichir, String collectionId, Integer seqId) { |
CollectionACommentaireAsyncDao cacDao = new CollectionACommentaireAsyncDao(vueARafraichir); |
cacDao.selectionner(collectionId, seqId); |
cacDao.selectionner(false, collectionId, null, 0, -1, seqId); |
} |
public void selectionnerCollectionACommentaire(Rafraichissable vueARafraichir, String collectionId, String recherche, int start, int nbElements, Integer seqId) { |
CollectionACommentaireAsyncDao cacDao = new CollectionACommentaireAsyncDao(vueARafraichir); |
cacDao.selectionner(true, collectionId, recherche, start, nbElements, seqId); |
} |
public void modifierCollectionACommentaire(Rafraichissable vueARafraichir, CollectionACommentaire collectionACommentaire) { |
CollectionACommentaireAsyncDao cacDao = new CollectionACommentaireAsyncDao(vueARafraichir); |
cacDao.modifier(collectionACommentaire); |
329,7 → 339,6 |
public void supprimerPersonne(Rafraichissable vueARafraichir, String idPersonneSepareParVirgule) { |
PersonneAsyncDao personneDao = new PersonneAsyncDao(vueARafraichir); |
personneDao.supprimer(idPersonneSepareParVirgule); |
} |
public void ajouterPersonne(Rafraichissable vue, Personne personne) { |
341,16 → 350,21 |
PersonneAsyncDao personneDao = new PersonneAsyncDao(vueARafraichir); |
personneDao.modifier(personne); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION DES PUBLICATIONS |
//+----------------------------------------------------------------------------------------------------------------+ |
public void selectionnerPublication(Rafraichissable vueARafraichir, String publicationId, String projetId, String nomComplet, int nbElements, int pageCourante, Integer seqId) { |
public void selectionnerPublication(Rafraichissable vueARafraichir, String publicationId, String projetId, String nomComplet, int pageCourante, int nbElements, Integer seqId) { |
PublicationAsyncDao lsDao = new PublicationAsyncDao(vueARafraichir); |
lsDao.selectionner(publicationId, projetId, nomComplet, nbElements, pageCourante, seqId); |
lsDao.selectionner(false, publicationId, projetId, nomComplet, pageCourante, nbElements, seqId); |
} |
public void selectionnerPublication(Rafraichissable vueARafraichir, String recherche, int start, int nbElements, Integer seqId) { |
PublicationAsyncDao lsDao = new PublicationAsyncDao(vueARafraichir); |
lsDao.selectionner(true, null, null, recherche, start, nbElements, seqId); |
} |
public void modifierPublication(Rafraichissable vueRafraichir, Publication publication, Integer seqId) { |
PublicationAsyncDao pDao = new PublicationAsyncDao(vueRafraichir); |
pDao.modifier(publication, seqId); |
363,15 → 377,25 |
public void supprimerPublication(Rafraichissable vueARafraichir, String idPublicationSeparesParVirgule) { |
PublicationAsyncDao pDao = new PublicationAsyncDao(vueARafraichir); |
pDao.supprimer(idPublicationSeparesParVirgule); |
pDao.supprimer(idPublicationSeparesParVirgule); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION de la relation PUBLICATION A PERSONNE |
public void selectionPersonnesAPublication(Rafraichissable vueARafraichir, String publicationId, String recherche, int start, int nbElements, Integer seqId) { |
PublicationAPersonneAsyncDao paDao = new PublicationAPersonneAsyncDao(vueARafraichir); |
paDao.selectionner(true, publicationId, null, PublicationAPersonne.ROLE_AUTEUR, recherche, start, nbElements, seqId); |
} |
public void selectionPublicationsAPersonne(Rafraichissable vueARafraichir, String personneId, String roleIds, String recherche, int start, int nbElements, Integer seqId) { |
PublicationAPersonneAsyncDao paDao = new PublicationAPersonneAsyncDao(vueARafraichir); |
paDao.selectionner(true, null, personneId, roleIds, recherche, start, nbElements, seqId); |
} |
public void selectionPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, String personnesId, String roleId, Integer seqId) { |
PublicationAPersonneAsyncDao paDao = new PublicationAPersonneAsyncDao(vueARafraichir); |
paDao.selectionner(publicationId, personnesId, roleId, seqId); |
paDao.selectionner(false, publicationId, personnesId, roleId, null, 0, -1, seqId); |
} |
public void ajouterPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, String personnesId, String ordreAuteursSepareParVirgule, String roleId, Integer seqId) { |
410,9 → 434,14 |
public void selectionnerCommentaire(Rafraichissable vueARafraichir, String commentaireId, String projetId, String titre, int pageCourante, int nbElements, Integer seqId) { |
CommentaireAsyncDao cDao = new CommentaireAsyncDao(vueARafraichir); |
cDao.selectionner(commentaireId, projetId, titre, pageCourante, nbElements, seqId); |
cDao.selectionner(false, commentaireId, projetId, titre, pageCourante, nbElements, seqId); |
} |
public void selectionnerCommentaire(Rafraichissable vueARafraichir, String recherche, int pageCourante, int nbElements, Integer seqId) { |
CommentaireAsyncDao cDao = new CommentaireAsyncDao(vueARafraichir); |
cDao.selectionner(true, null, null, recherche, pageCourante, nbElements, seqId); |
} |
public void modifierCommentaire(Rafraichissable vueRafraichir, Commentaire commentaire) { |
CommentaireAsyncDao cDao = new CommentaireAsyncDao(vueRafraichir); |
cDao.modifier(commentaire); |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/Modele.java:r11-59 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/Modele.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/ChampComboBoxRechercheTempsReelPaginable.java |
---|
84,7 → 84,7 |
plc.setLimit(limit); |
plc.setOffset(start); |
reader = new TransformateurJSONaModelData<PagingLoadResult<ModelData>>(modeltype); |
reader = new TransformateurJSONaModelData<PagingLoadResult<ModelData>>(modeltype, null); |
loader = new ChargeurListe<PagingLoadResult<ModelData>>(proxy, reader, this); |
loader.setLimit(plc.getLimit()); |
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/ChampComboBoxRechercheTempsReelPaginable.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/GrillePaginable.java |
---|
1,5 → 1,6 |
package org.tela_botanica.client.composants; |
import java.util.HashMap; |
import java.util.List; |
import java.util.Map; |
32,6 → 33,7 |
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel; |
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.selection.SelectionModel; |
import com.extjs.gxt.ui.client.widget.toolbar.PagingToolBar; |
public class GrillePaginable<D extends ModelData> extends ContentPanel implements Rafraichissable, GrilleParametrable<D> { |
52,7 → 54,7 |
private ListStore<D> storeGrille = null; |
// Elements graphiques |
EditorGrid<D> grillePersonne = null; |
EditorGrid<D> grille = null; |
List<ColumnConfig> colonnes = null; |
ColumnModel modeleDeColonnes = null; |
64,7 → 66,7 |
Constructeur |
--------------*/ |
public GrillePaginable(ModelType modeltype, Proxy<D> proxy, List<ColumnConfig> colonnes, ColumnModel modeleDeColonnes) { |
public GrillePaginable(ModelType modeltype, HashMap<String, String> virtualFields, Proxy<D> proxy, List<ColumnConfig> colonnes, ColumnModel modeleDeColonnes) { |
// Récupération des paramètres |
this.modelType = modeltype; |
80,7 → 82,7 |
plc.setLimit(limit); |
plc.setOffset(start); |
reader = new TransformateurJSONaModelData<PagingLoadResult<D>>(modelType); |
reader = new TransformateurJSONaModelData<PagingLoadResult<D>>(modelType, virtualFields); |
loader = new ChargeurListe<PagingLoadResult<D>>(proxy, reader, this); |
loader.setLimit(plc.getLimit()); |
92,6 → 94,12 |
} |
}); |
loader.addListener(Loader.Load, new Listener<LoadEvent>() { |
public void handleEvent(LoadEvent be) { |
} |
}); |
// Création de la grille |
creerGrille(); |
} |
102,7 → 110,7 |
------------*/ |
public EditorGrid<D> getGrille() { |
return grillePersonne; |
return grille; |
} |
public ListStore<D> getStore() { |
109,11 → 117,20 |
return storeGrille; |
} |
public GridSelectionModel<D> getSelectionModel() { |
return grille.getSelectionModel(); |
} |
public D getSelection() { |
return grillePersonne.getSelectionModel().getSelectedItem(); |
} |
return grille.getSelectionModel().getSelectedItem(); |
} |
@SuppressWarnings("unchecked") |
public Proxy getProxy() { |
return this.proxy; |
} |
/*----------------------------- |
Rafraichir |
-----------------------------*/ |
155,25 → 172,24 |
GridSelectionModel<D> modeleDeSelection = new GridSelectionModel<D>(); |
grillePersonne = new EditorGrid<D>(storeGrille, modeleDeColonnes); |
grillePersonne.setHeight("100%"); |
grillePersonne.setBorders(true); |
grillePersonne.setSelectionModel(modeleDeSelection); |
grillePersonne.addPlugin(pluginLigneNumero); |
grillePersonne.getView().setForceFit(true); |
grillePersonne.setAutoExpandColumn("fmt_nom_complet"); |
grillePersonne.setStripeRows(true); |
grillePersonne.setBorders(true); |
grille = new EditorGrid<D>(storeGrille, modeleDeColonnes); |
grille.setHeight("100%"); |
grille.setBorders(true); |
grille.setSelectionModel(modeleDeSelection); |
grille.addPlugin(pluginLigneNumero); |
grille.getView().setForceFit(true); |
grille.setStripeRows(true); |
grille.setBorders(true); |
grillePersonne.setStateful(true); |
grille.setStateful(true); |
grillePersonne.addListener(Events.Attach, new Listener<GridEvent<D>>() { |
grille.addListener(Events.Attach, new Listener<GridEvent<D>>() { |
public void handleEvent(GridEvent<D> be) { |
PagingLoadConfig config = new BasePagingLoadConfig(); |
config.setOffset(0); |
config.setLimit(50); |
config.setOffset(start); |
config.setLimit(limit); |
Map<String, Object> state = grillePersonne.getState(); |
Map<String, Object> state = grille.getState(); |
if (state.containsKey("offset")) { |
int offset = (Integer)state.get("offset"); |
int limit = (Integer)state.get("limit"); |
188,6 → 204,10 |
} |
}); |
this.add(grillePersonne); |
this.add(grille); |
} |
public void reload() { |
loader.load(); |
} |
} |
/trunk/src/org/tela_botanica/client/composants/ChampComboBoxListeValeurs.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/ChampComboBoxListeValeurs.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/composants/ChampComboBoxListeValeurs.java:r11-853 |
/trunk/src/org/tela_botanica/client/composants/ChampSliderPourcentage.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/composants/ChampSliderPourcentage.java:r11-857 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/ChampSliderPourcentage.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/HashMapComposants.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/composants/HashMapComposants.java:r11-969 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/HashMapComposants.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/InfoLogger.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/composants/InfoLogger.java:r11-1208 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/InfoLogger.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/ChampComboBoxMultiSelect.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/composants/ChampComboBoxMultiSelect.java:r11-1028 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/ChampComboBoxMultiSelect.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/AproposFenetre.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/composants/AproposFenetre.java:r11-1022 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/AproposFenetre.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/IdentificationFenetre.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/composants/IdentificationFenetre.java:r11-59 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/IdentificationFenetre.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/ChampMultiValeurs.java |
---|
302,13 → 302,18 |
public void supprimerValeurDuRecapitulatif(String texte) { |
if (champRecapitulatif.getValue() != null) { |
// comme c'est le nom de la valeur qui est passée en paramètre, |
// on doit récupérer son id |
ListStore<Valeur> valeurs = champValeurCombo.getStore(); |
Valeur objetValeur = valeurs.findModel("nom", texte); |
String texteValeur = ""; |
if (objetValeur != null) { |
texteValeur = objetValeur.getId(); |
if (estComboBox) { |
// comme c'est le nom de la valeur qui est passée en paramètre, |
// on doit récupérer son id |
ListStore<Valeur> valeurs = champValeurCombo.getStore(); |
Valeur objetValeur = valeurs.findModel("nom", texte); |
if (objetValeur != null) { |
texteValeur = objetValeur.getId(); |
} else { |
texteValeur = texte; |
} |
} else { |
texteValeur = texte; |
} |
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/ChampMultiValeurs.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/composants/ChampMultiValeurs.java:r11-664 |
/trunk/src/org/tela_botanica/client/composants/ChampMultiValeursMultiTypes.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/ChampMultiValeursMultiTypes.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/composants/ChampMultiValeursMultiTypes.java:r11-720 |
/trunk/src/org/tela_botanica/client/composants/ChampMultiValeursImage.java |
---|
68,10 → 68,8 |
public void componentSelected(ButtonEvent ce) { |
String valeur = ce.getComponent().getData("valeur"); |
LayoutContainer valeurLayout = valeurs.get(valeur); |
principalLayout.remove(valeurLayout); |
sousContenu.remove(valeurLayout); |
valeurs.remove(valeur); |
supprimerValeurDuRecapitulatif(valeur); |
actualiserLayoutGlobal(); |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/composants/ChampMultiValeursImage.java:r11-699 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/ChampMultiValeursImage.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/ChampMultiValeursMultiTypesPaginable.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/ChampMultiValeursMultiTypesPaginable.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/ChampMultiValeursPaginable.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/ChampMultiValeursPaginable.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/pagination/ProxyPublications.java |
---|
New file |
0,0 → 1,76 |
package org.tela_botanica.client.composants.pagination; |
import java.util.ArrayList; |
import java.util.HashMap; |
import java.util.List; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Information; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.modeles.ValeurListeAsyncDao; |
import org.tela_botanica.client.modeles.projet.Projet; |
import org.tela_botanica.client.synchronisation.Sequenceur; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.util.UtilString; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig; |
import com.extjs.gxt.ui.client.data.BasePagingLoadResult; |
import com.extjs.gxt.ui.client.data.DataReader; |
import com.extjs.gxt.ui.client.data.MemoryProxy; |
import com.extjs.gxt.ui.client.data.ModelData; |
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONObject; |
import com.google.gwt.json.client.JSONString; |
import com.google.gwt.user.client.rpc.AsyncCallback; |
public class ProxyPublications<D> extends Proxy { |
public ProxyPublications(Sequenceur sequenceur) { |
super(sequenceur); |
} |
@Override |
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) { |
this.reader = reader; |
this.callback = callback; |
this.loadConfig = loadConfig; |
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig; |
mediateur.selectionnerPublication(this, recherche, lc.getOffset(), lc.getLimit(), sequenceur); |
} |
@Override |
@SuppressWarnings("unchecked") |
public void rafraichir(Object nouvellesDonnees) { |
try |
{ |
data = nouvellesDonnees; |
D d = null; |
if (reader != null) |
{ |
d = (D) reader.read(loadConfig, data); |
} |
else |
{ |
d = (D) data; |
if (d instanceof List) |
{ |
d = (D) new ArrayList((List) d); |
} |
} |
callback.onSuccess(d); |
} |
catch (Exception e) |
{ |
callback.onFailure(e); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/composants/pagination/ProxyValeur.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/pagination/ProxyValeur.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/pagination/ChargeurListe.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/pagination/ChargeurListe.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/pagination/ProxyPersonnesAPublication.java |
---|
New file |
0,0 → 1,82 |
package org.tela_botanica.client.composants.pagination; |
import java.util.ArrayList; |
import java.util.HashMap; |
import java.util.List; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.modeles.ValeurListeAsyncDao; |
import org.tela_botanica.client.synchronisation.Sequenceur; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.util.UtilString; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig; |
import com.extjs.gxt.ui.client.data.BasePagingLoadResult; |
import com.extjs.gxt.ui.client.data.DataReader; |
import com.extjs.gxt.ui.client.data.MemoryProxy; |
import com.extjs.gxt.ui.client.data.ModelData; |
import com.google.gwt.json.client.JSONObject; |
import com.google.gwt.json.client.JSONString; |
import com.google.gwt.user.client.rpc.AsyncCallback; |
public class ProxyPersonnesAPublication<D> extends Proxy { |
String publicationId = null; |
public ProxyPersonnesAPublication(Sequenceur sequenceur, String publicationId) { |
super(sequenceur); |
this.publicationId = publicationId; |
} |
@Override |
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) { |
this.reader = reader; |
this.callback = callback; |
this.loadConfig = loadConfig; |
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig; |
if (!UtilString.isEmpty(this.publicationId)) { |
mediateur.selectionnerPersonnesAPublication(this, this.publicationId, recherche, lc.getOffset(), lc.getLimit(), sequenceur); |
} else { |
this.rafraichir(null); |
} |
} |
public void setPublicationId(String publicationId) { |
this.publicationId = publicationId; |
} |
@Override |
@SuppressWarnings("unchecked") |
public void rafraichir(Object nouvellesDonnees) { |
try |
{ |
D donneesRetour = null; |
if (nouvellesDonnees!=null) { |
data = nouvellesDonnees; |
if (reader != null) |
{ |
donneesRetour = (D) reader.read(loadConfig, data); |
} |
else |
{ |
donneesRetour = (D) data; |
if (donneesRetour instanceof List) |
{ |
donneesRetour = (D) new ArrayList((List) donneesRetour); |
} |
} |
} |
callback.onSuccess(donneesRetour); |
} |
catch (Exception e) |
{ |
callback.onFailure(e); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/composants/pagination/ProxyPublicationsAPersonne.java |
---|
New file |
0,0 → 1,93 |
package org.tela_botanica.client.composants.pagination; |
import java.util.ArrayList; |
import java.util.HashMap; |
import java.util.List; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Valeur; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.modeles.ValeurListeAsyncDao; |
import org.tela_botanica.client.modeles.publication.PublicationAPersonneListe; |
import org.tela_botanica.client.synchronisation.Sequenceur; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.util.UtilString; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig; |
import com.extjs.gxt.ui.client.data.BasePagingLoadResult; |
import com.extjs.gxt.ui.client.data.DataReader; |
import com.extjs.gxt.ui.client.data.MemoryProxy; |
import com.extjs.gxt.ui.client.data.ModelData; |
import com.google.gwt.json.client.JSONObject; |
import com.google.gwt.json.client.JSONString; |
import com.google.gwt.user.client.rpc.AsyncCallback; |
public class ProxyPublicationsAPersonne<D> extends Proxy { |
String personneId = null; |
List<Valeur> rolesId = null; |
public ProxyPublicationsAPersonne(Sequenceur sequenceur, String personneId, List<Valeur> rolesId) { |
super(sequenceur); |
this.personneId = personneId; |
this.rolesId = rolesId; |
} |
@Override |
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) { |
this.reader = reader; |
this.callback = callback; |
this.loadConfig = loadConfig; |
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig; |
if (!UtilString.isEmpty(this.personneId)) { |
mediateur.selectionnerPublicationsAPersonne(this, personneId, rolesId, recherche, lc.getOffset(), lc.getLimit(), sequenceur); |
} else { |
this.rafraichir(null); |
} |
} |
public void setPersonneId(String personneId) { |
this.personneId = personneId; |
} |
public void setRolesId(List<Valeur> rolesId) { |
this.rolesId = rolesId; |
} |
@Override |
@SuppressWarnings("unchecked") |
public void rafraichir(Object nouvellesDonnees) { |
try |
{ |
D donneesRetour = null; |
if (nouvellesDonnees!=null) { |
data = nouvellesDonnees; |
if (reader != null) |
{ |
donneesRetour = (D) reader.read(loadConfig, data); |
} |
else |
{ |
donneesRetour = (D) data; |
if (donneesRetour instanceof List) |
{ |
donneesRetour = (D) new ArrayList((List) donneesRetour); |
} |
} |
} |
callback.onSuccess(donneesRetour); |
} |
catch (Exception e) |
{ |
callback.onFailure(e); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/composants/pagination/Proxy.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/pagination/Proxy.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/pagination/ProxyCollectionACommentaire.java |
---|
New file |
0,0 → 1,78 |
package org.tela_botanica.client.composants.pagination; |
import java.util.ArrayList; |
import java.util.HashMap; |
import java.util.List; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.modeles.ValeurListeAsyncDao; |
import org.tela_botanica.client.synchronisation.Sequenceur; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.util.UtilString; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig; |
import com.extjs.gxt.ui.client.data.BasePagingLoadResult; |
import com.extjs.gxt.ui.client.data.DataReader; |
import com.extjs.gxt.ui.client.data.MemoryProxy; |
import com.extjs.gxt.ui.client.data.ModelData; |
import com.google.gwt.json.client.JSONObject; |
import com.google.gwt.json.client.JSONString; |
import com.google.gwt.user.client.rpc.AsyncCallback; |
public class ProxyCollectionACommentaire<D> extends Proxy { |
String collectionId = null; |
public ProxyCollectionACommentaire(Sequenceur sequenceur, String collectionId) { |
super(sequenceur); |
this.collectionId = collectionId; |
} |
@Override |
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) { |
this.reader = reader; |
this.callback = callback; |
this.loadConfig = loadConfig; |
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig; |
if (!UtilString.isEmpty(this.collectionId)) { |
mediateur.selectionnerCollectionACommentaire(this, this.collectionId, recherche, lc.getOffset(), lc.getLimit(), sequenceur); |
} |
} |
@Override |
@SuppressWarnings("unchecked") |
public void rafraichir(Object nouvellesDonnees) { |
try |
{ |
D donneesRetour = null; |
if (nouvellesDonnees!=null) { |
data = nouvellesDonnees; |
if (reader != null) |
{ |
donneesRetour = (D) reader.read(loadConfig, data); |
} |
else |
{ |
donneesRetour = (D) data; |
if (donneesRetour instanceof List) |
{ |
donneesRetour = (D) new ArrayList((List) donneesRetour); |
} |
} |
} |
callback.onSuccess(donneesRetour); |
} |
catch (Exception e) |
{ |
callback.onFailure(e); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/composants/pagination/TransformateurJSONaModelData.java |
---|
2,7 → 2,10 |
import java.util.ArrayList; |
import java.util.Date; |
import java.util.HashMap; |
import java.util.Iterator; |
import java.util.List; |
import java.util.Set; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.util.Debug; |
31,9 → 34,13 |
private ModelType modelType = null; |
public TransformateurJSONaModelData(ModelType modelType) { |
// HashMap<'nom du champ virtuel', 'nom du champ à binder'> |
private HashMap<String, String> virtualFields = null; |
public TransformateurJSONaModelData(ModelType modelType, HashMap<String, String> virtualFields) { |
super(modelType); |
this.modelType = modelType; |
this.virtualFields = virtualFields; |
} |
@SuppressWarnings("unchecked") |
121,6 → 128,22 |
} else if (value.isNull() != null) { |
model.set(name, null); |
} |
if (virtualFields != null) { |
Set<String> cles = virtualFields.keySet(); |
Iterator<String> it = cles.iterator(); |
while(it.hasNext()) { |
String vField = it.next(); |
// si il y a un champ à binder |
if (virtualFields.get(vField) != null) { |
model.set(vField, model.get(virtualFields.get(vField))); |
} |
// sinon affecter la propriété à 'chaîne vide' |
else { |
model.set(virtualFields.get(vField), ""); |
} |
} |
} |
} |
models.add(model); |
} |
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/pagination/TransformateurJSONaModelData.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/pagination/ProxyCollectionAPublication.java |
---|
New file |
0,0 → 1,80 |
package org.tela_botanica.client.composants.pagination; |
import java.util.ArrayList; |
import java.util.HashMap; |
import java.util.List; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.modeles.ValeurListeAsyncDao; |
import org.tela_botanica.client.synchronisation.Sequenceur; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.util.UtilString; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig; |
import com.extjs.gxt.ui.client.data.BasePagingLoadResult; |
import com.extjs.gxt.ui.client.data.DataReader; |
import com.extjs.gxt.ui.client.data.MemoryProxy; |
import com.extjs.gxt.ui.client.data.ModelData; |
import com.google.gwt.json.client.JSONObject; |
import com.google.gwt.json.client.JSONString; |
import com.google.gwt.user.client.rpc.AsyncCallback; |
public class ProxyCollectionAPublication<D> extends Proxy { |
String collectionId = null; |
public ProxyCollectionAPublication(Sequenceur sequenceur, String collectionId) { |
super(sequenceur); |
this.collectionId = collectionId; |
} |
@Override |
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) { |
this.reader = reader; |
this.callback = callback; |
this.loadConfig = loadConfig; |
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig; |
if (!UtilString.isEmpty(this.collectionId)) { |
mediateur.selectionnerCollectionAPublication(this, this.collectionId, recherche, lc.getOffset(), lc.getLimit(), sequenceur); |
} |
} |
@Override |
@SuppressWarnings("unchecked") |
public void rafraichir(Object nouvellesDonnees) { |
try |
{ |
D donneesRetour = null; |
if (nouvellesDonnees!=null) { |
data = nouvellesDonnees; |
if (reader != null) |
{ |
donneesRetour = (D) reader.read(loadConfig, data); |
} |
else |
{ |
donneesRetour = (D) data; |
if (donneesRetour instanceof List) |
{ |
donneesRetour = (D) new ArrayList((List) donneesRetour); |
} |
} |
} |
callback.onSuccess(donneesRetour); |
} |
catch (Exception e) |
{ |
callback.onFailure(e); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/composants/pagination/ProxyCommentaires.java |
---|
New file |
0,0 → 1,76 |
package org.tela_botanica.client.composants.pagination; |
import java.util.ArrayList; |
import java.util.HashMap; |
import java.util.List; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Information; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.modeles.ValeurListeAsyncDao; |
import org.tela_botanica.client.modeles.projet.Projet; |
import org.tela_botanica.client.synchronisation.Sequenceur; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.util.UtilString; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig; |
import com.extjs.gxt.ui.client.data.BasePagingLoadResult; |
import com.extjs.gxt.ui.client.data.DataReader; |
import com.extjs.gxt.ui.client.data.MemoryProxy; |
import com.extjs.gxt.ui.client.data.ModelData; |
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONObject; |
import com.google.gwt.json.client.JSONString; |
import com.google.gwt.user.client.rpc.AsyncCallback; |
public class ProxyCommentaires<D> extends Proxy { |
public ProxyCommentaires(Sequenceur sequenceur) { |
super(sequenceur); |
} |
@Override |
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) { |
this.reader = reader; |
this.callback = callback; |
this.loadConfig = loadConfig; |
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig; |
mediateur.selectionnerCommentaire(this, recherche, lc.getOffset(), lc.getLimit(), sequenceur); |
} |
@Override |
@SuppressWarnings("unchecked") |
public void rafraichir(Object nouvellesDonnees) { |
try |
{ |
data = nouvellesDonnees; |
D d = null; |
if (reader != null) |
{ |
d = (D) reader.read(loadConfig, data); |
} |
else |
{ |
d = (D) data; |
if (d instanceof List) |
{ |
d = (D) new ArrayList((List) d); |
} |
} |
callback.onSuccess(d); |
} |
catch (Exception e) |
{ |
callback.onFailure(e); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/composants/ChampCaseACocher.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/composants/ChampCaseACocher.java:r11-838 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/ChampCaseACocher.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/ConteneurMultiChamps.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/composants/ConteneurMultiChamps.java:r11-858 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/ConteneurMultiChamps.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/LicenceFenetre.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/composants/LicenceFenetre.java:r11-893 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/LicenceFenetre.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/composants/AideFenetre.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/composants/AideFenetre.java:r11-60 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/composants/AideFenetre.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/aDonnee.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/aDonnee.java:r11-68 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/aDonnee.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/personne/Personne.java |
---|
7,6 → 7,7 |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.modeles.aDonnee; |
import org.tela_botanica.client.modeles.collection.CollectionAPublication; |
import org.tela_botanica.client.modeles.publication.PublicationAPersonneListe; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.util.UtilString; |
21,6 → 22,7 |
private static final long serialVersionUID = -6974716696155349332L; |
public static final String PREFIXE = "cp"; |
private boolean removePrefix = true; |
public static final String TELEPHONE_FIXE = "FIX"; |
public static final String TELEPHONE_GSM = "GSM"; |
public static final String TELEPHONE_FAX = "FAX"; |
33,8 → 35,18 |
public Personne() { |
} |
public Personne(ModelData model) |
{ |
public Personne(ModelData model) { |
creerPersonne(model, false); |
} |
public Personne(ModelData model, boolean removePrefix) { |
creerPersonne(model, removePrefix); |
} |
private void creerPersonne(ModelData model, boolean removePrefix) { |
this.removePrefix = removePrefix; |
Map<String, Object> a = model.getProperties(); |
Set<String> cles = a.keySet(); |
42,11 → 54,17 |
while (it.hasNext()) { |
String cle = it.next(); |
if (a.get(cle) != null) { |
String cleObjet = cle.replaceFirst("^"+getPrefixe()+"_", ""); |
String cleObjet = ""; |
if (removePrefix) { |
cleObjet = cleObjet.replaceFirst("^"+PREFIXE+"_", ""); |
} |
else { |
cleObjet = cle; |
} |
this.set(cleObjet, a.get(cle)); |
} |
} |
} |
} |
public Personne(JSONObject personne) { |
initialiserModele(personne); |
116,10 → 134,12 |
// ID PERSONNE |
public String getId() { |
return renvoyerValeurCorrecte("id_personne"); |
if (removePrefix) return renvoyerValeurCorrecte("id_personne"); |
else return renvoyerValeurCorrecte(PREFIXE+"_id_personne"); |
} |
public void setId(String personneId) { |
this.set("id_personne", personneId); |
if (removePrefix) this.set("id_personne", personneId); |
else this.set(PREFIXE+"_id_personne", personneId); |
} |
// ID PROJET |
158,18 → 178,22 |
// NOM |
public String getNom() { |
return renvoyerValeurCorrecte("nom"); |
if (removePrefix) return renvoyerValeurCorrecte("nom"); |
else return renvoyerValeurCorrecte(PREFIXE+"_nom"); |
} |
public void setNom(String nom) { |
set("nom", nom); |
if (removePrefix) set("nom", nom); |
else set(PREFIXE+"_nom", nom); |
} |
// PRÉNOM |
public String getPrenom() { |
return renvoyerValeurCorrecte("prenom"); |
if (removePrefix) return renvoyerValeurCorrecte("prenom"); |
else return renvoyerValeurCorrecte(PREFIXE+"_prenom"); |
} |
public void setPrenom(String prenom) { |
set("prenom", prenom); |
if (removePrefix) set("prenom", prenom); |
else set(PREFIXE+"_prenom", prenom); |
} |
// TÉLÉPHONE |
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/personne/Personne.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/modeles/personne/Personne.java:r11-934 |
/trunk/src/org/tela_botanica/client/modeles/personne/PersonneListe.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/personne/PersonneListe.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/modeles/personne/PersonneListe.java:r11-934 |
/trunk/src/org/tela_botanica/client/modeles/personne/PersonneAsyncDao.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/personne/PersonneAsyncDao.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/personne/PersonneAsyncDao.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/Utilisateur.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/Utilisateur.java:r11-60 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/Utilisateur.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/aDonneeListe.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/aDonneeListe.java:r11-362 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/aDonneeListe.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionACommentaireListe.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/collection/CollectionACommentaireListe.java:r11-984 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/CollectionACommentaireListe.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionACommentaireAsyncDao.java |
---|
1,5 → 1,7 |
package org.tela_botanica.client.modeles.collection; |
import java.util.HashMap; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.http.JsonRestRequestBuilder; |
14,6 → 16,7 |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.http.client.URL; |
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONObject; |
import com.google.gwt.json.client.JSONValue; |
public class CollectionACommentaireAsyncDao { |
30,52 → 33,100 |
utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId(); |
} |
public void selectionner(final String collectionId, final Integer seqId) { |
public void selectionner(final boolean paginationProgressive, final String collectionId, final String recherche, final int start, final int nbElements, final Integer seqId) { |
String[] parametres = {collectionId}; |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres); |
HashMap<String, String> restrictions = new HashMap<String, String>(); |
if (nbElements != -1) { |
restrictions.put("limit", String.valueOf(nbElements)); |
} |
rb.envoyerRequete(null, new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue responseValue) { |
Information info = new Information("liste_collection_a_commentaire"); |
if (responseValue != null) { |
// Si la requête est un succès, reception d'un tableau |
if (responseValue.isArray() != null) { |
final JSONArray reponse = responseValue.isArray(); |
// Transformation du tableau JSON réponse en ListCommentaier |
CollectionACommentaireListe commentaires = new CollectionACommentaireListe(reponse); |
info.setDonnee(0, commentaires); |
// et on met à jour le demandeur des données |
if (seqId != null) { |
Reponse reponseRequete = new Reponse(info, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
/** GESTION DE LA REQUETE dans le cas d'une liste paginée progressive **/ |
if (paginationProgressive) { |
/** DEFINITION DU TUPLE DE DEPART **/ |
restrictions.put("start", String.valueOf(start)); |
/** CONSTRUCTION DE LA REQUETE **/ |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, restrictions); |
/** ENVOI DE LA REQUETE **/ |
rb.envoyerRequete(null, new JsonRestRequestCallback() |
{ |
/** RECEPTION DE LA REPONSE **/ |
public void surReponse(JSONValue responseValue) |
{ |
/** Dans le cas d'une liste paginée, vueARafraichir est un objet Proxy. |
* On retourne l'objet JSON au proxy afin que ce soit lui qui le traite **/ |
if (seqId != null) { |
if (Mediateur.DEBUG) System.out.println("<-- CollectionACommentaireAsyncDao > Liste paginée, retour au sequenceur"); |
Reponse reponseRequete = new Reponse(responseValue, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} |
else { |
if (Mediateur.DEBUG) System.out.println("<-- CollectionACommentaireAsyncDao > Liste paginée, retour à "+vueARafraichir.getClass().toString()); |
vueARafraichir.rafraichir(responseValue); |
} |
} |
}); |
} |
/** GESTION DE LA REQUETE dans le cas d'une liste NON paginée progressive **/ |
else { |
/** DEFINITION DU TUPLE DE DEPART **/ |
restrictions.put("start", String.valueOf(start*nbElements)); |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, restrictions); |
rb.envoyerRequete(null, new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue responseValue) { |
Information info = new Information("liste_collection_a_commentaire"); |
if (responseValue != null) { |
JSONObject responseObject = responseValue.isObject(); |
if (responseObject != null) { |
// Si la réponse est un tableau, alors c'est une liste de collections qui a été retournée |
if (responseObject.get("collectionsACommentaire").isArray() != null) { |
final JSONArray reponse = responseObject.get("collectionsACommentaire").isArray(); |
// Transformation du tableau JSON réponse en ListeInstitution |
CollectionACommentaireListe publications = new CollectionACommentaireListe(reponse); |
info.setDonnee(0, publications); |
// et on met à jour le demandeur des données |
if (seqId != null) { |
if (Mediateur.DEBUG) System.out.println("<-- CollectionACommentaireAsyncDao > Liste non paginée, retour au sequenceur"); |
Reponse reponseRequete = new Reponse(info, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} |
else { |
if (Mediateur.DEBUG) System.out.println("<-- CollectionACommentaireAsyncDao > Liste non paginée, retour au sequenceur"); |
vueARafraichir.rafraichir(info); |
} |
// Si la réponse est un objet, alors c'est une unique collection qui a été retournée |
} else if (responseObject.get("collectionsACommentaire").isObject() != null) { |
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un tableau JSON et vaut : "+responseValue.toString(), null); |
} |
} |
else { |
vueARafraichir.rafraichir(info); |
} |
} else { |
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un talbeau JSON et vaut : "+responseValue.toString(), null); |
} |
} else { |
if (collectionId == null) { |
// Dans le cas, où nous demandons toutes les relations Collection à Commentaires et qu'il n'y en a pas, nous retournons un message d'information |
info.setMessage("Aucune relations entre la collection et les commentaires"); |
if (seqId != null) { |
Reponse reponseRequete = new Reponse(info, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} |
else { |
// Dans le cas, où nous demandons toutes les institutions et qu'il n'y en a pas, nous retournons un objet vide |
if (collectionId == null) { |
info.setMessage("Aucune relations entre la collection et les commentaires"); |
vueARafraichir.rafraichir(info); |
} |
} |
} |
} |
}); |
} |
}); |
} |
} |
public void ajouter(String collectionId, CollectionACommentaire commentaires) { |
String postDonneesEncodees = construirePost(collectionId, commentaires); |
final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM); |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/collection/CollectionACommentaireAsyncDao.java:r11-988 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/CollectionACommentaireAsyncDao.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionBotanique.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/collection/CollectionBotanique.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/CollectionBotanique.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/collection/UniteRangement.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/collection/UniteRangement.java:r11-948 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/UniteRangement.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionAPersonne.java |
---|
32,7 → 32,7 |
public CollectionAPersonne(ModelData model) |
{ |
Map<String, Object> a = model.getProperties(); |
Set<String> cles = a.keySet(); |
Iterator<String> it = cles.iterator(); |
while (it.hasNext()) { |
151,8 → 151,10 |
// ID RôLE |
public String getIdRole() { |
String role = renvoyerValeurCorrecte("id_role"); |
return role; |
/* |
if (role != null && !UtilString.isEmpty(role)) return role; |
else return renvoyerValeurCorrecte("_role_"); |
else return renvoyerValeurCorrecte("_role_");*/ |
} |
public void setIdRole(String ir) { |
set("id_role", ir); |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/collection/CollectionAPersonne.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/CollectionAPersonne.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionAPublication.java |
---|
1,8 → 1,15 |
package org.tela_botanica.client.modeles.collection; |
import java.util.Iterator; |
import java.util.Map; |
import java.util.Set; |
import org.tela_botanica.client.modeles.aDonnee; |
import org.tela_botanica.client.modeles.personne.Personne; |
import org.tela_botanica.client.modeles.publication.Publication; |
import org.tela_botanica.client.util.Debug; |
import com.extjs.gxt.ui.client.data.ModelData; |
import com.google.gwt.json.client.JSONObject; |
public class CollectionAPublication extends aDonnee { |
10,6 → 17,7 |
private static final long serialVersionUID = 1L; |
public static final String PREFIXE = "ccapu"; |
private boolean removePrefix = true; |
private Publication publicationLiee = null; |
public static String[] champsObligatoires = {"ccapu_id_collection", "ccapu_id_publication"}; |
16,11 → 24,44 |
public CollectionAPublication() { |
initialiser(new JSONObject()); |
} |
public CollectionAPublication(boolean removePrefix) { |
this.removePrefix = removePrefix; |
initialiser(new JSONObject()); |
} |
public CollectionAPublication(JSONObject collectionAPublicationListe) { |
initialiser(collectionAPublicationListe); |
} |
public CollectionAPublication(ModelData model, boolean removePrefix) |
{ |
this.removePrefix = removePrefix; |
Map<String, Object> a = model.getProperties(); |
Set<String> cles = a.keySet(); |
Iterator<String> it = cles.iterator(); |
while (it.hasNext()) { |
String cle = it.next(); |
if (a.get(cle) != null) { |
String cleObjet = ""; |
if (removePrefix) { |
cleObjet = cle.replaceFirst("^"+Publication.PREFIXE+"_", ""); |
cleObjet = cle.replaceFirst("^"+Personne.PREFIXE+"_", ""); |
cleObjet = cleObjet.replaceFirst("^"+PREFIXE+"_", ""); |
} |
else { |
cleObjet = cle; |
} |
this.set(cleObjet, a.get(cle)); |
} |
} |
setPublication(new Publication(model, removePrefix)); |
this.set("_etat_", a.get("_etat_")); |
} |
@Override |
protected String getPrefixe() { |
return PREFIXE; |
49,15 → 90,27 |
} |
private void initialiserChampsPourGrille() { |
set("fmt_auteur", getPublication().getAuteur()); |
set("titre", getPublication().getTitre()); |
set("collection", getPublication().getCollection()); |
set("_editeur_", ""); |
set("_annee_", ""); |
set("indication_nvt", getPublication().getIndicationNvt()); |
set("fascicule", getPublication().getFascicule()); |
set("truk_pages", getPublication().getPages()); |
set("_etat_", ""); |
if (removePrefix) { |
set("fmt_auteur", getPublication().getAuteur()); |
set("titre", getPublication().getTitre()); |
set("collection", getPublication().getCollection()); |
set("_editeur_", ""); |
set("_annee_", ""); |
set("indication_nvt", getPublication().getIndicationNvt()); |
set("fascicule", getPublication().getFascicule()); |
set("truk_pages", getPublication().getPages()); |
set("_etat_", ""); |
} else { |
set(Publication.PREFIXE+"_fmt_auteur", getPublication().getAuteur()); |
set(Publication.PREFIXE+"_titre", getPublication().getTitre()); |
set(Publication.PREFIXE+"_collection", getPublication().getCollection()); |
set("_editeur_", ""); |
set("_annee_", ""); |
set(Publication.PREFIXE+"_indication_nvt", getPublication().getIndicationNvt()); |
set(Publication.PREFIXE+"_fascicule", getPublication().getFascicule()); |
set(Publication.PREFIXE+"_truk_pages", getPublication().getPages()); |
set("_etat_", ""); |
} |
} |
// ID |
82,18 → 135,22 |
// ID COLLECTION |
public String getIdCollection() { |
return renvoyerValeurCorrecte("id_collection"); |
if (removePrefix) return renvoyerValeurCorrecte("id_collection"); |
else return renvoyerValeurCorrecte(PREFIXE+"_id_collection"); |
} |
public void setIdCollection(String idCollection) { |
set("id_collection", idCollection); |
if (removePrefix) set("id_collection", idCollection); |
else set(PREFIXE+"_id_collection", idCollection); |
} |
// ID PUBLICATION |
public String getIdPublication() { |
return renvoyerValeurCorrecte("id_publication"); |
if (removePrefix) return renvoyerValeurCorrecte("id_publication"); |
else return renvoyerValeurCorrecte(PREFIXE+"_id_publication"); |
} |
public void setIdPublication(String ip) { |
set("id_publication", ip); |
if (removePrefix) set("id_publication", ip); |
else set(PREFIXE+"_id_publication", ip); |
} |
} |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/collection/CollectionAPublication.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/CollectionAPublication.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionAPersonneListe.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/CollectionAPersonneListe.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/modeles/collection/CollectionAPersonneListe.java:r11-934 |
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionAPublicationListe.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/CollectionAPublicationListe.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/modeles/collection/CollectionAPublicationListe.java:r11-934 |
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionAPersonneAsyncDao.java |
---|
123,7 → 123,7 |
} |
} |
public void ajouter(String collectionId, CollectionAPersonne personnes) { |
public void ajouter(String collectionId, CollectionAPersonne personnes) { |
String postDonneesEncodees = construirePost(collectionId, personnes); |
final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM); |
rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() { |
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/CollectionAPersonneAsyncDao.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/modeles/collection/CollectionAPersonneAsyncDao.java:r11-934 |
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionAPublicationAsyncDao.java |
---|
1,5 → 1,7 |
package org.tela_botanica.client.modeles.collection; |
import java.util.HashMap; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.http.JsonRestRequestBuilder; |
14,6 → 16,7 |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.http.client.URL; |
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONObject; |
import com.google.gwt.json.client.JSONValue; |
public class CollectionAPublicationAsyncDao { |
28,43 → 31,101 |
utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId(); |
} |
public void selectionner(final String collectionId, final Integer seqId) { |
public void selectionner(final boolean paginationProgressive, final String collectionId, final String recherche, final int start, final int nbElements, final Integer seqId) { |
String[] parametres = {collectionId}; |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres); |
HashMap<String, String> restrictions = new HashMap<String, String>(); |
if (nbElements != -1) { |
restrictions.put("limit", String.valueOf(nbElements)); |
} |
restrictions.put("orderby", "cpu_fmt_auteur"); |
rb.envoyerRequete(null, new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue responseValue) { |
Information info = new Information("liste_collection_a_publication"); |
if (responseValue != null) { |
// Si la requête est un succès, reception d'un tableau |
if (responseValue.isArray() != null) { |
final JSONArray reponse = responseValue.isArray(); |
// Transformation du tableau JSON réponse en ListeInstitution |
CollectionAPublicationListe publications = new CollectionAPublicationListe(reponse); |
info.setDonnee(0, publications); |
// et on met à jour le demandeur des données |
if (seqId != null) { |
Reponse reponseRequete = new Reponse(info, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
/** GESTION DE LA REQUETE dans le cas d'une liste paginée progressive **/ |
if (paginationProgressive) { |
/** DEFINITION DU TUPLE DE DEPART **/ |
restrictions.put("start", String.valueOf(start)); |
/** CONSTRUCTION DE LA REQUETE **/ |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, restrictions); |
/** ENVOI DE LA REQUETE **/ |
rb.envoyerRequete(null, new JsonRestRequestCallback() |
{ |
/** RECEPTION DE LA REPONSE **/ |
public void surReponse(JSONValue responseValue) |
{ |
/** Dans le cas d'une liste paginée, vueARafraichir est un objet Proxy. |
* On retourne l'objet JSON au proxy afin que ce soit lui qui le traite **/ |
if (seqId != null) { |
if (Mediateur.DEBUG) System.out.println("<-- CollectionAPublicationAsyncDao > Liste paginée, retour au sequenceur"); |
Reponse reponseRequete = new Reponse(responseValue, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} |
else { |
if (Mediateur.DEBUG) System.out.println("<-- CollectionAPublicationAsyncDao > Liste paginée, retour à "+vueARafraichir.getClass().toString()); |
vueARafraichir.rafraichir(responseValue); |
} |
} |
}); |
} |
/** GESTION DE LA REQUETE dans le cas d'une liste NON paginée progressive **/ |
else { |
/** DEFINITION DU TUPLE DE DEPART **/ |
restrictions.put("start", String.valueOf(start*nbElements)); |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, restrictions); |
rb.envoyerRequete(null, new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue responseValue) { |
Information info = new Information("liste_collection_a_publication"); |
if (responseValue != null) { |
JSONObject responseObject = responseValue.isObject(); |
if (responseObject != null) { |
// Si la réponse est un tableau, alors c'est une liste de collections qui a été retournée |
if (responseObject.get("collectionsAPublication").isArray() != null) { |
final JSONArray reponse = responseObject.get("collectionsAPublication").isArray(); |
// Transformation du tableau JSON réponse en ListeInstitution |
CollectionAPublicationListe publications = new CollectionAPublicationListe(reponse); |
info.setDonnee(0, publications); |
// et on met à jour le demandeur des données |
if (seqId != null) { |
if (Mediateur.DEBUG) System.out.println("<-- CollectionAPublicationAsyncDao > Liste non paginée, retour au sequenceur"); |
Reponse reponseRequete = new Reponse(info, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} |
else { |
if (Mediateur.DEBUG) System.out.println("<-- CollectionAPublicationAsyncDao > Liste non paginée, retour au sequenceur"); |
vueARafraichir.rafraichir(info); |
} |
// Si la réponse est un objet, alors c'est une unique collection qui a été retournée |
} else if (responseObject.get("collectionsAPublication").isObject() != null) { |
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un tableau JSON et vaut : "+responseValue.toString(), null); |
} |
} |
else { |
} else { |
// Dans le cas, où nous demandons toutes les institutions et qu'il n'y en a pas, nous retournons un objet vide |
if (collectionId == null) { |
info.setMessage("Aucune relations entre la collection et les publications"); |
vueARafraichir.rafraichir(info); |
} |
} else { |
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un talbeau JSON et vaut : "+responseValue.toString(), null); |
} |
} else { |
if (collectionId == null) { |
// Dans le cas, où nous demandons toutes les relations Collection à Publication et qu'il n'y en a pas, nous retournons un message d'information |
info.setMessage("Aucune relations entre la collection et les publications"); |
vueARafraichir.rafraichir(info); |
} |
} |
} |
}); |
} |
}); |
} |
} |
public void ajouter(String collectionId, CollectionAPublication publications) { |
String postDonneesEncodees = construirePost(collectionId, publications); |
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/CollectionAPublicationAsyncDao.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/modeles/collection/CollectionAPublicationAsyncDao.java:r11-934 |
/trunk/src/org/tela_botanica/client/modeles/collection/Collection.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/collection/Collection.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/Collection.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionListe.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/collection/CollectionListe.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/CollectionListe.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionAsyncDao.java |
---|
124,13 → 124,14 |
if (Mediateur.DEBUG) System.out.println("<-- CollectionAsyncDao > Liste non paginée, retour au sequenceur"); |
Reponse reponseRequete = new Reponse(info, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} else { |
} |
else { |
if (Mediateur.DEBUG) System.out.println("<-- CollectionAsyncDao > Liste non paginée, retour à "+vueARafraichir.getClass().toString()); |
vueARafraichir.rafraichir(info); |
} |
} |
} else { |
Debug.log(rb.getUrl()+"\n\tLa réponse n'est pas un objet ou un talbeau JSON et vaut : "+responseValue.toString()); |
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un objet ou un talbeau JSON et vaut : "+responseValue.toString(), null); |
} |
} else { |
// Dans le cas, où nous demandons toutes les institutions et qu'il n'y en a pas, nous retournons un objet vide |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/collection/CollectionAsyncDao.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/CollectionAsyncDao.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/collection/UniteBase.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/collection/UniteBase.java:r11-948 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/UniteBase.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/collection/CollectionACommentaire.java |
---|
1,8 → 1,15 |
package org.tela_botanica.client.modeles.collection; |
import java.util.Iterator; |
import java.util.Map; |
import java.util.Set; |
import org.tela_botanica.client.modeles.aDonnee; |
import org.tela_botanica.client.modeles.commentaire.Commentaire; |
import org.tela_botanica.client.modeles.personne.Personne; |
import org.tela_botanica.client.modeles.publication.Publication; |
import com.extjs.gxt.ui.client.data.ModelData; |
import com.google.gwt.json.client.JSONObject; |
public class CollectionACommentaire extends aDonnee { |
9,6 → 16,7 |
private static final long serialVersionUID = 8751553802444398035L; |
public static final String PREFIXE = "ccac"; |
private boolean removePrefix = true; |
private Commentaire commentaireLiee = null; |
public static String[] champsObligatoires = {"cc_id_collection", "ccac_id_commentaire"}; |
24,6 → 32,34 |
initialiser(collectionACommentaireListe, chargerCommentaire); |
} |
public CollectionACommentaire(ModelData model, boolean removePrefix) |
{ |
this.removePrefix = removePrefix; |
Map<String, Object> a = model.getProperties(); |
Set<String> cles = a.keySet(); |
Iterator<String> it = cles.iterator(); |
while (it.hasNext()) { |
String cle = it.next(); |
if (a.get(cle) != null) { |
String cleObjet = ""; |
if (removePrefix) { |
cleObjet = cle.replaceFirst("^"+CollectionACommentaire.PREFIXE+"_", ""); |
cleObjet = cleObjet.replaceFirst("^"+Commentaire.PREFIXE+"_", ""); |
} |
else { |
cleObjet = cle; |
} |
this.set(cleObjet, a.get(cle)); |
} |
} |
setCommentaire(new Commentaire(model)); |
this.set("_etat_", a.get("_etat_")); |
this.set("_type_", a.get("_type_")); |
} |
@Override |
protected String getPrefixe() { |
return PREFIXE; |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/collection/CollectionACommentaire.java:r11-984 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/CollectionACommentaire.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/structure/StructureAPersonne.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/structure/StructureAPersonne.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/structure/StructureAPersonne.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/structure/StructureConservation.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/structure/StructureConservation.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/structure/StructureConservation.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/structure/StructureValorisation.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/structure/StructureValorisation.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/structure/StructureValorisation.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/structure/StructureAPersonneListe.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/structure/StructureAPersonneListe.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/structure/StructureAPersonneListe.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/structure/StructureAPersonneAsyncDao.java |
---|
33,13 → 33,7 |
public void selectionner(final boolean paginationProgressive, final String structureId, final String roleId, final String recherche, final int start, final int nbElements, final Integer seqId) { |
Debug.log("selectionner structure a personne"); |
/*Debug.log("paginationProgressive="+paginationProgressive); |
Debug.log("structureId="+structureId); |
Debug.log("roleId="+roleId); |
Debug.log("recherche="+recherche); |
Debug.log("nbElements="+nbElements); |
Debug.log("seqId="+seqId);*/ |
String[] parametres = {structureId, roleId}; |
HashMap<String, String> restrictions = new HashMap<String, String>(); |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/structure/StructureAPersonneAsyncDao.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/structure/StructureAPersonneAsyncDao.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/structure/Structure.java |
---|
214,6 → 214,7 |
return fondationDate; |
} |
/* |
public String getAnneeOuDateFondation() { |
String valeurDateFondation = get("date_fondation"); |
if (!UtilString.isEmpty(valeurDateFondation) && valeurDateFondation.endsWith("00-00")) { |
222,8 → 223,55 |
valeurDateFondation = ""; |
} |
return valeurDateFondation; |
}*/ |
public String getAnneeOuDateFondation() { |
String valeurDateFondation = get("date_fondation"); |
return getDateSouple(valeurDateFondation); |
} |
public String getDateSouple(String date) { |
String valeurDate = date; |
String jour = ""; |
String mois = ""; |
String annee = ""; |
// pas de date dans la BD |
if (UtilString.isEmpty(valeurDate) || valeurDate.equals("0000-00-00")) { |
valeurDate = ""; |
// YYYY |
} else if (valeurDate.endsWith("00-00")) { |
valeurDate = valeurDate.substring(0, 4); |
if (valeurDate.matches("\\d{4}")) { |
jour = ""; |
mois = ""; |
annee = valeurDate.substring(0,4); |
valeurDate = annee; |
} |
// YYYY-MM |
} else if (valeurDate.endsWith("-00")) { |
valeurDate = valeurDate.substring(0, 7); |
if (valeurDate.matches("\\d{4}-\\d{2}")) { |
jour = ""; |
mois = valeurDate.substring(5,7); |
annee = valeurDate.substring(0,4); |
valeurDate = mois+"/"+annee; |
} |
} |
// YYYY-MM-DD |
else if (valeurDate.matches("\\d{4}-\\d{2}-\\d{2}")) { |
Date objetDate = DateTimeFormat.getFormat("yyyy-MM-dd").parse(valeurDate); |
DateTimeFormat fmt = DateTimeFormat.getFormat("dd/MM/yyyy"); |
valeurDate = fmt.format(objetDate); |
} |
return valeurDate; |
} |
public void setDateFondation(Date dateFondation) { |
if (dateFondation != null) { |
this.set("date_fondation", DateTimeFormat.getFormat("yyyy-MM-dd").format(dateFondation)); |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/structure/Structure.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/structure/Structure.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/structure/StructureListe.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/structure/StructureListe.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/structure/StructureListe.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/structure/StructureAsyncDao.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/structure/StructureAsyncDao.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/modeles/structure/StructureAsyncDao.java:r11-934 |
/trunk/src/org/tela_botanica/client/modeles/ValeurListeAsyncDao.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/ValeurListeAsyncDao.java:r11-68 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/ValeurListeAsyncDao.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/projet/Projet.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/projet/Projet.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/projet/Projet.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/projet/ProjetListe.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/projet/ProjetListe.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/projet/ProjetListe.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/projet/ProjetAsyncDao.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/projet/ProjetAsyncDao.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/projet/ProjetAsyncDao.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/projet/ProjetVersion.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/projet/ProjetVersion.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/projet/ProjetVersion.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/InterneValeur.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/InterneValeur.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/modeles/InterneValeur.java:r11-100 |
/trunk/src/org/tela_botanica/client/modeles/commentaire/Commentaire.java |
---|
1,5 → 1,9 |
package org.tela_botanica.client.modeles.commentaire; |
import java.util.Iterator; |
import java.util.Map; |
import java.util.Set; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.modeles.aDonnee; |
import org.tela_botanica.client.modeles.collection.Collection; |
6,12 → 10,13 |
import org.tela_botanica.client.modeles.collection.CollectionACommentaire; |
import org.tela_botanica.client.util.Debug; |
import com.extjs.gxt.ui.client.data.ModelData; |
import com.google.gwt.json.client.JSONObject; |
public class Commentaire extends aDonnee { |
private static final long serialVersionUID = 7216356814682582569L; |
private static final String PREFIXE = "ccm"; |
public static final String PREFIXE = "ccm"; |
private Collection collection = null; |
private CollectionACommentaire collectionACommentaire = null; |
public static String[] champsObligatoires = {"ccm_id_commentaire"}; |
27,6 → 32,21 |
initialiserCommentaire(commentaire, chargerCollectionACommentaire); |
} |
public Commentaire(ModelData model) |
{ |
Map<String, Object> a = model.getProperties(); |
Set<String> cles = a.keySet(); |
Iterator<String> it = cles.iterator(); |
while (it.hasNext()) { |
String cle = it.next(); |
if (a.get(cle) != null) { |
String cleObjet = cle.replaceFirst("^"+getPrefixe()+"_", ""); |
this.set(cleObjet, a.get(cle)); |
} |
} |
} |
public void initialiserCommentaire(JSONObject commentaire, boolean chargerCollectionACommentaire) { |
initialiserModele(commentaire); |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/commentaire/Commentaire.java:r11-984 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/commentaire/Commentaire.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/commentaire/CommentaireListe.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/commentaire/CommentaireListe.java:r11-984 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/commentaire/CommentaireListe.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/commentaire/CommentaireAsyncDao.java |
---|
29,73 → 29,123 |
utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId(); |
} |
public void selectionner(final String commentaireId, String projetId, String titre, final int pageCourante, final int nbElements, final Integer seqId) { |
String[] parametres = {projetId, commentaireId, titre}; |
/** |
* |
* @param paginationProgressive : définit le mode de consultation de la base de données |
* - True : la consultation des données est progressive, ce qui signifie que la liste est chargée (paginée) au |
* fur et à mesure de la consultation des données par l'utilisateur. |
* - False : la consultation des données est classique : un seul appel à la base de données est effectué, le retour |
* est renvoyé à l'appelant |
* // FIXME : si la taille de la liste est supérieure à la limite du JREST (150), ce deuxieme mode ne fonctionne pas |
*/ |
public void selectionner(final boolean paginationProgressive, final String commentaireId, final String projetId, final String titre, final int start, final int nbElements, final Integer seqId) { |
// Ajout des paramètres et données à selectionner dans l'URL |
String nom = (titre == null) ? "%" : titre+"%"; |
String[] parametres = {projetId, commentaireId, nom}; |
HashMap<String, String> restrictions = new HashMap<String, String>(); |
restrictions.put("start", String.valueOf(pageCourante*nbElements)); |
if (nbElements != -1) { |
restrictions.put("limit", String.valueOf(nbElements)); |
} |
restrictions.put("orderby", "cc_nom ASC"); |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, restrictions); |
rb.envoyerRequete(null, new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue responseValue) { |
if (responseValue != null) { |
// Si la requête est un succès, réception d'un objet ou d'un tableau |
JSONArray responseArray = responseValue.isArray(); |
if (responseArray.get(1).isObject() != null) { |
final JSONObject reponse = responseArray.get(1).isObject(); |
// Transformation du tableau JSON réponse en ListeInstitution |
Commentaire commentaire = new Commentaire(reponse); |
// et on met à jour le demandeur des données |
if (seqId != null) { |
Reponse reponseRequete = new Reponse(commentaire, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} |
else { |
vueARafraichir.rafraichir(commentaire); |
} |
} else if (responseValue.isArray() != null) { |
final JSONArray reponse = responseValue.isArray(); |
CommentaireListe commentaires; |
if (reponse.get(1).isObject() != null) { |
commentaires = new CommentaireListe(reponse.get(1).isArray()); |
} else { |
commentaires = new CommentaireListe(reponse.get(1).isArray(), reponse.get(0).isNumber(), vueARafraichir); |
} |
commentaires.setTaillePage(nbElements); |
commentaires.setPageCourante(pageCourante); |
restrictions.put("orderby", "ccm_titre ASC"); |
if (seqId != null) { |
Reponse reponseRequete = new Reponse(commentaires, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
/** GESTION DE LA REQUETE dans le cas d'une liste paginée progressive **/ |
if (paginationProgressive) { |
/** DEFINITION DU TUPLE DE DEPART **/ |
restrictions.put("start", String.valueOf(start)); |
/** CONSTRUCTION DE LA REQUETE **/ |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, restrictions); |
/** ENVOI DE LA REQUETE **/ |
rb.envoyerRequete(null, new JsonRestRequestCallback() |
{ |
/** RECEPTION DE LA REPONSE **/ |
public void surReponse(JSONValue responseValue) |
{ |
/** Dans le cas d'une liste paginée, vueARafraichir est un objet Proxy. |
* On retourne l'objet JSON au proxy afin que ce soit lui qui le traite **/ |
if (seqId != null) { |
if (Mediateur.DEBUG) System.out.println("<-- CommentairesASyncDao > Liste paginée, retour au sequenceur"); |
Reponse reponseRequete = new Reponse(responseValue, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} |
else { |
if (Mediateur.DEBUG) System.out.println("<-- CommentairesASyncDao > Liste paginée, retour à "+vueARafraichir.getClass().toString()); |
vueARafraichir.rafraichir(responseValue); |
} |
} |
}); |
} |
/** GESTION DE LA REQUETE dans le cas d'une liste NON paginée progressive **/ |
else { |
/** DEFINITION DU TUPLE DE DEPART **/ |
restrictions.put("start", String.valueOf(start*nbElements)); |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, restrictions); |
rb.envoyerRequete(null, new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue responseValue) { |
if (responseValue != null) { |
JSONObject responseObject = responseValue.isObject(); |
if (responseObject != null) { |
// Si la réponse est un tableau, alors c'est une liste de commentaires qui a été retournée |
if (responseObject.get("commentaires").isArray() != null) { |
final JSONArray reponse = responseObject.get("commentaires").isArray(); |
CommentaireListe commentaires = new CommentaireListe(reponse, responseObject.get("nbElements").isNumber(), vueARafraichir); |
commentaires.setTaillePage(nbElements); |
commentaires.setPageCourante(start); |
vueARafraichir.rafraichir(commentaires); |
// Si la réponse est un objet, alors c'est un unique commentaire qui a été retournée |
} else if (responseObject.get("commentaires").isObject() != null) { |
final JSONObject reponse = responseObject.get("commentaires").isObject(); |
Commentaire commentaire = new Commentaire(reponse); |
// et on met à jour le demandeur des données |
if (seqId != null) { |
if (Mediateur.DEBUG) System.out.println("<-- CommentairesASyncDao > Liste non paginée, retour au sequenceur"); |
Reponse reponseRequete = new Reponse(commentaire, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} |
else { |
if (Mediateur.DEBUG) System.out.println("<-- CommentairesASyncDao > Liste non paginée, retour à "+vueARafraichir.getClass().toString()); |
vueARafraichir.rafraichir(commentaire); |
} |
} |
} else { |
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un objet ou un talbeau JSON et vaut : "+responseValue.toString(), null); |
} |
else { |
vueARafraichir.rafraichir(commentaires); |
} |
} else { |
GWT.log("La réponse n'est pas un objet ou un talbeau JSON et vaut : "+responseValue.toString(), null); |
} |
} else { |
// Dans le cas, où nous demandons toutes les publication et qu'il n'y en a pas, nous retournons un objet vide |
if (commentaireId == null) { |
CommentaireListe commentaires = new CommentaireListe(0); |
if (seqId != null) { |
Reponse reponseRequete = new Reponse(commentaires, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
// Dans le cas, où nous demandons toutes les institutions et qu'il n'y en a pas, nous retournons un objet vide |
if (commentaireId == null) { |
CommentaireListe commentaires = new CommentaireListe(0); |
if (seqId != null) { |
Reponse reponseRequete = new Reponse(commentaires, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} |
else { |
vueARafraichir.rafraichir(commentaires); |
} |
} |
else { |
vueARafraichir.rafraichir(commentaires); |
} |
} |
} |
} |
}); |
}); |
} |
} |
public void ajouter(Commentaire commentaire) { |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/commentaire/CommentaireAsyncDao.java:r11-984 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/commentaire/CommentaireAsyncDao.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/InterneValeurListe.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/InterneValeurListe.java:r11-100 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/InterneValeurListe.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/Information.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/Information.java:r11-132 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/Information.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/publication/PublicationAsyncDao.java |
---|
8,6 → 8,8 |
import org.tela_botanica.client.http.JsonRestRequestCallback; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Information; |
import org.tela_botanica.client.modeles.projet.Projet; |
import org.tela_botanica.client.modeles.projet.ProjetListe; |
import org.tela_botanica.client.modeles.structure.StructureListe; |
import org.tela_botanica.client.synchronisation.Reponse; |
import org.tela_botanica.client.util.Debug; |
31,66 → 33,120 |
utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId(); |
} |
public void selectionner(final String publicationId, String projetId, String nomComplet, final int nbElements, final int pageCourante, final Integer seqId) { |
String[] parametres = {projetId, publicationId, nomComplet}; |
/** |
* @param paginationProgressive : définit le mode de consultation de la base de données |
* - True : la consultation des données est progressive, ce qui signifie que la liste est chargée (paginée) au |
* fur et à mesure de la consultation des données par l'utilisateur. |
* - False : la consultation des données est classique : un seul appel à la base de données est effectué, le retour |
* est renvoyé à l'appelant |
* // FIXME : si la taille de la liste est supérieure à la limite du JREST (150), ce deuxieme mode ne fonctionne pas efficacement (on ne voit pas les enregistrement suivants) |
*/ |
public void selectionner(final boolean paginationProgressive, final String publicationId, String projetId, String nomComplet, final int start, final int nbElements, final Integer seqId) { |
String nom = (nomComplet == null) ? "%" : nomComplet+"%"; |
String[] param = {publicationId, projetId, nom}; |
HashMap<String, String> restrictions = new HashMap<String, String>(); |
restrictions.put("orderby", "cpu_titre"); |
restrictions.put("start", String.valueOf(pageCourante*nbElements)); |
if (nbElements != -1) { |
restrictions.put("orderby", "cpu_fmt_nom_complet"); |
if (nbElements != -1) { |
restrictions.put("limit", String.valueOf(nbElements)); |
} |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, restrictions); |
rb.envoyerRequete(null, new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue responseValue) { |
if (responseValue != null) { |
// Si la requête est un succès, réception d'un objet ou d'un tableau |
JSONArray responseArray = responseValue.isArray(); |
if (responseArray.get(1).isObject() != null) { |
final JSONObject reponse = responseArray.get(1).isObject(); |
// Transformation du tableau JSON réponse en ListeInstitution |
Publication publication = new Publication(reponse); |
// et on met à jour le demandeur des données |
if (seqId!=null) { |
Reponse reponseRequete = new Reponse(publication, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} else { |
vueARafraichir.rafraichir(publication); |
} |
/** GESTION DE LA REQUETE dans le cas d'une liste paginée progressive **/ |
if (paginationProgressive) { |
/** DEFINITION DU TUPLE DE DEPART **/ |
restrictions.put("start", String.valueOf(start)); |
/** CONSTRUCTION DE LA REQUETE **/ |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, param, restrictions); |
/** ENVOI DE LA REQUETE **/ |
rb.envoyerRequete(null, new JsonRestRequestCallback() |
{ |
/** RECEPTION DE LA REPONSE **/ |
public void surReponse(JSONValue responseValue) |
{ |
/** Dans le cas d'une liste paginée, vueARafraichir est un objet Proxy. |
* On retourne l'objet JSON au proxy afin que ce soit lui qui le traite **/ |
if (seqId != null) { |
if (Mediateur.DEBUG) System.out.println("<-- PublicationAsyncDao > Liste paginée, retour au sequenceur"); |
Reponse reponseRequete = new Reponse(responseValue, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} |
else { |
if (Mediateur.DEBUG) System.out.println("<-- PublicationAsyncDao > Liste paginée, retour à "+vueARafraichir.getClass().toString()); |
vueARafraichir.rafraichir(responseValue); |
} |
} |
}); |
} |
/** GESTION DE LA REQUETE dans le cas d'une liste NON paginée progressive **/ |
else { |
/** DEFINITION DU TUPLE DE DEPART **/ |
restrictions.put("start", String.valueOf(start*nbElements)); |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, param, restrictions); |
rb.envoyerRequete(null, new JsonRestRequestCallback() { |
public void surReponse(JSONValue responseValue) { |
if (responseValue != null) { |
} else if (responseArray.get(1).isArray() != null) { |
final JSONArray reponse = responseValue.isArray(); |
PublicationListe publications; |
if (reponse.get(1).isObject() != null) { |
publications = new PublicationListe(reponse.get(1).isArray()); |
} else { |
publications = new PublicationListe(reponse.get(1).isArray(), reponse.get(0).isNumber(), vueARafraichir); |
} |
JSONObject responseObject = responseValue.isObject(); |
publications.setTaillePage(nbElements); |
publications.setPageCourante(pageCourante); |
if (seqId!=null) { |
Reponse reponseRequete = new Reponse(publications, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
if (responseObject != null) { |
// Si la réponse est un tableau, alors c'est une liste de projets qui a été retournée |
if (responseObject.get("publications").isArray() != null) { |
JSONArray reponse = responseObject.get("publications").isArray(); |
PublicationListe publications; |
publications = new PublicationListe(reponse, responseObject.get("nbElements").isNumber(), vueARafraichir); |
publications.setTaillePage(nbElements); |
publications.setPageCourante(start); |
if (seqId != null) { |
if (Mediateur.DEBUG) System.out.println("<-- PublicationAsyncDao > Liste non paginée, retour au sequenceur"); |
Reponse retourRequete = new Reponse(publications, seqId); |
vueARafraichir.rafraichir(retourRequete); |
} else { |
if (Mediateur.DEBUG) System.out.println("<-- PublicationAsyncDao > Liste non paginée, retour à "+vueARafraichir.getClass().toString()); |
vueARafraichir.rafraichir(publications); |
} |
// Si la réponse est un objet, alors c'est un unique projet qui a été retourné |
} else if (responseObject.get("publications").isObject() != null) { |
JSONObject reponse = responseObject.get("publications").isObject(); |
// Transformation du tableau JSON réponse en ListeInstitution |
Publication publication = new Publication(reponse); |
// et on met à jour le demandeur des données |
if (seqId!=null) { |
Reponse reponseRequete = new Reponse(publication, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} else { |
vueARafraichir.rafraichir(publication); |
} |
} |
} else { |
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un objet ou un tableau JSON et vaut : "+responseValue.toString(), null); |
} |
} else { |
if (publicationId == null) { |
PublicationListe publications = new PublicationListe(0); |
vueARafraichir.rafraichir(publications); |
} |
} else { |
GWT.log("La réponse n'est pas un objet ou un talbeau JSON et vaut : "+responseValue.toString(), null); |
} |
} else { |
// Dans le cas, où nous demandons toutes les publication et qu'il n'y en a pas, nous retournons un objet vide |
if (publicationId == null) { |
PublicationListe publications = new PublicationListe(0); |
vueARafraichir.rafraichir(publications); |
} |
} |
} |
}); |
}); |
} |
} |
public void ajouter(Publication publication, final Integer seqId) { |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/publication/PublicationAsyncDao.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/publication/PublicationAsyncDao.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/publication/PublicationAPersonne.java |
---|
5,9 → 5,11 |
import java.util.Set; |
import org.tela_botanica.client.modeles.aDonnee; |
import org.tela_botanica.client.modeles.collection.CollectionAPublication; |
import org.tela_botanica.client.modeles.personne.Personne; |
import org.tela_botanica.client.util.Debug; |
import com.extjs.gxt.ui.client.data.ModelData; |
import com.google.gwt.json.client.JSONObject; |
public class PublicationAPersonne extends aDonnee { |
15,6 → 17,7 |
private static final long serialVersionUID = 7769105365939978129L; |
public static final String PREFIXE = "cpuap"; |
private boolean removePrefix = true; |
public static final String ROLE_AUTEUR = "2360"; |
//FIXME: insérer en base de données une valeur cohérente pour l'identifiant ci-dessous |
public static final String ROLE_SUJET = "30762"; |
27,6 → 30,11 |
new PublicationAPersonne(new JSONObject()); |
} |
public PublicationAPersonne(boolean removePrefix) { |
this.removePrefix = removePrefix; |
new PublicationAPersonne(new JSONObject()); |
} |
public PublicationAPersonne(JSONObject pubAPersListe) { |
Personne personne = new Personne(pubAPersListe); |
setPersonne(personne); |
39,33 → 47,74 |
for (Iterator<String> it = im.iterator(); it.hasNext();) { |
// Si elle est associée à une valeur, nous l'ajoutons |
String cle = it.next(); |
// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet |
String cleObjet = cle.replaceFirst("^"+PREFIXE+"_", ""); |
String cleObjet = ""; |
if (removePrefix) cleObjet = cle.replaceFirst("^"+getPrefixe()+"_", ""); |
else cleObjet=cle; |
// Valeur vide par défaut |
String valeur = ""; |
if (pubAPersListe.get(cle).isString() != null) { |
valeur = pubAPersListe.get(cle).isString().stringValue(); |
this.set(cleObjet, valeur); |
} else { |
this.set(cleObjet, valeur); |
} |
} |
this.set(cleObjet, valeur); |
} |
initialiserChampsPourGrille(); |
} |
public PublicationAPersonne(ModelData model, boolean removePrefix) |
{ |
this.removePrefix = removePrefix; |
Map<String, Object> a = model.getProperties(); |
Set<String> cles = a.keySet(); |
Iterator<String> it = cles.iterator(); |
while (it.hasNext()) { |
String cle = it.next(); |
if (a.get(cle) != null) { |
String cleObjet = ""; |
if (removePrefix) { |
cleObjet = cle.replaceFirst("^"+Personne.PREFIXE+"_", ""); |
cleObjet = cle.replaceFirst("^"+Publication.PREFIXE+"_", ""); |
cleObjet = cleObjet.replaceFirst("^"+PREFIXE+"_", ""); |
} |
else { |
cleObjet = cle; |
} |
this.set(cleObjet, a.get(cle)); |
} |
} |
setPersonne(new Personne(model, removePrefix)); |
setPublicationLiee(new Publication(model, removePrefix)); |
this.set("_role_", a.get("_role_")); |
this.set("_etat_", a.get("_etat_")); |
} |
private void initialiserChampsPourGrille() { |
set("fmt_auteur", publicationLiee.getAuteur()); |
set("titre", publicationLiee.getTitre()); |
set("collection", publicationLiee.getCollection()); |
set("_editeur_", ""); |
set("_annee_", ""); |
set("indication_nvt", publicationLiee.getIndicationNvt()); |
set("fascicule", publicationLiee.getFascicule()); |
set("truk_pages", publicationLiee.getPages()); |
set("_etat_", ""); |
set("_role_", this.get("id_role")); |
if (removePrefix) { |
set("fmt_auteur", publicationLiee.getAuteur()); |
set("titre", publicationLiee.getTitre()); |
set("collection", publicationLiee.getCollection()); |
set("_editeur_", ""); |
set("_annee_", ""); |
set("indication_nvt", publicationLiee.getIndicationNvt()); |
set("fascicule", publicationLiee.getFascicule()); |
set("truk_pages", publicationLiee.getPages()); |
set("_etat_", ""); |
set("_role_", this.get("id_role")); |
} else { |
set("cpu_fmt_auteur", publicationLiee.getAuteur()); |
set("cpu_titre", publicationLiee.getTitre()); |
set("cpu_collection", publicationLiee.getCollection()); |
set("_editeur_", ""); |
set("_annee_", ""); |
set("cpu_indication_nvt", publicationLiee.getIndicationNvt()); |
set("cpu_fascicule", publicationLiee.getFascicule()); |
set("cpu_truk_pages", publicationLiee.getPages()); |
set("_etat_", ""); |
set("_role_", this.get("id_role")); |
} |
} |
81,21 → 130,34 |
public Personne getPersonne() { |
return personneLiee; |
} |
public void setPersonne(Personne personne) { |
setPersonne(personne, false); |
} |
public void setPersonne(Personne personne, boolean integrerProprietes) { |
personneLiee = personne; |
if (personne != null) { |
setIdPersonne(personne.getId()); |
} |
Map<String, Object> a = personne.getProperties(); |
Set<String> cles = a.keySet(); |
Iterator<String> it = cles.iterator(); |
while (it.hasNext()) { |
String cle = it.next(); |
if (a.get(cle) != null) { |
String cleObjet = cle.replaceFirst("^"+Personne.PREFIXE+"_", ""); |
this.set(cleObjet, a.get(cle)); |
if (integrerProprietes) { |
Map<String, Object> a = personne.getProperties(); |
Set<String> cles = a.keySet(); |
Iterator<String> it = cles.iterator(); |
while (it.hasNext()) { |
String cle = it.next(); |
if (a.get(cle) != null) { |
String cleObjet = ""; |
if (removePrefix) { |
cleObjet = cle.replaceFirst("^"+Personne.PREFIXE+"_", ""); |
} |
else { |
cleObjet = cle; |
} |
this.set(cleObjet, a.get(cle)); |
} |
} |
} |
} |
114,10 → 176,12 |
// ID PUBLICATION |
public String getIdPublication() { |
return renvoyerValeurCorrecte("id_publication"); |
if (removePrefix) return renvoyerValeurCorrecte("id_publication"); |
else return renvoyerValeurCorrecte("cpuap_id_publication"); |
} |
public void setIdPublication(String id) { |
set("id_publication", id); |
if (removePrefix) set("id_publication", id); |
else set("cpuap_id_publication", id); |
} |
// PUBLICATION LIEE |
143,10 → 207,12 |
// ID PERSONNE |
public String getIdPersonne() { |
return renvoyerValeurCorrecte("id_personne"); |
if (removePrefix) return renvoyerValeurCorrecte("id_personne"); |
else return renvoyerValeurCorrecte("cpuap_id_personne"); |
} |
public void setIdPersonne(String id) { |
set("id_personne", id); |
if (removePrefix) set("id_personne", id); |
else set(PREFIXE+"_id_personne", id); |
} |
// ID RôLE |
170,11 → 236,15 |
// ORDRE DES AUTEURS |
public String getOrdreAuteurs() { |
return renvoyerValeurCorrecte("ordre"); |
if (removePrefix) return renvoyerValeurCorrecte("ordre"); |
else return renvoyerValeurCorrecte(PREFIXE+"_ordre"); |
} |
public void setOrdreAuteurs(String ordre) { |
if (ordre.matches("[0-9]+")) { |
this.set("ordre", ordre); |
if (removePrefix) this.set("ordre", ordre); |
else this.set(PREFIXE+"_ordre", ordre); |
this.set("_ordre_", ordre); |
} |
} |
} |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/publication/PublicationAPersonne.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/publication/PublicationAPersonne.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/publication/PublicationAPersonneListe.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/publication/PublicationAPersonneListe.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/publication/PublicationAPersonneListe.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/publication/PublicationAPersonneAsyncDao.java |
---|
8,6 → 8,7 |
import org.tela_botanica.client.http.JsonRestRequestCallback; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Information; |
import org.tela_botanica.client.modeles.collection.CollectionAPublicationListe; |
import org.tela_botanica.client.synchronisation.Reponse; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.util.UtilDAO; |
33,51 → 34,112 |
utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId(); |
} |
public void selectionner(String publicationId, String personnesId, String roleId, final Integer seqId) { |
public void selectionner(final boolean paginationProgressive, String publicationId, String personnesId, String roleId, final String recherche, final int start, final int nbElements, final Integer seqId) { |
String[] parametres = {publicationId, personnesId, roleId}; |
HashMap<String, String> restrictions = new HashMap<String, String>(); |
restrictions.put("orderby", "ordre"); |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres); |
rb.envoyerRequete(null, new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue responseValue) { |
if (responseValue != null) { |
// Si la requête est un succès, réception d'un objet ou d'un tableau |
if (responseValue.isObject() != null) { |
final JSONObject reponse = responseValue.isObject(); |
// Transformation du tableau JSON réponse en ListeInstitution |
PublicationAPersonne publicationAPersonne = new PublicationAPersonne(reponse); |
// et on met à jour le demandeur des données |
if (seqId!=null) { |
Reponse reponseRequete = new Reponse(publicationAPersonne, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} else { |
vueARafraichir.rafraichir(publicationAPersonne); |
if (nbElements != -1) { |
restrictions.put("limit", String.valueOf(nbElements)); |
} |
restrictions.put("orderby", "cpuap_ordre"); |
/** GESTION DE LA REQUETE dans le cas d'une liste paginée progressive **/ |
if (paginationProgressive) { |
/** DEFINITION DU TUPLE DE DEPART **/ |
restrictions.put("start", String.valueOf(start)); |
/** CONSTRUCTION DE LA REQUETE **/ |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, restrictions); |
/** ENVOI DE LA REQUETE **/ |
rb.envoyerRequete(null, new JsonRestRequestCallback() |
{ |
/** RECEPTION DE LA REPONSE **/ |
public void surReponse(JSONValue responseValue) |
{ |
/** Dans le cas d'une liste paginée, vueARafraichir est un objet Proxy. |
* On retourne l'objet JSON au proxy afin que ce soit lui qui le traite **/ |
if (seqId != null) { |
if (Mediateur.DEBUG) System.out.println("<-- PublicationAPersonneAsyncDao > Liste paginée, retour au sequenceur"); |
Reponse reponseRequete = new Reponse(responseValue, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} |
else { |
if (Mediateur.DEBUG) System.out.println("<-- PublicationAPersonneAsyncDao > Liste paginée, retour à "+vueARafraichir.getClass().toString()); |
vueARafraichir.rafraichir(responseValue); |
} |
} |
}); |
} |
/** GESTION DE LA REQUETE dans le cas d'une liste NON paginée progressive **/ |
else { |
/** DEFINITION DU TUPLE DE DEPART **/ |
restrictions.put("start", String.valueOf(start*nbElements)); |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, restrictions); |
rb.envoyerRequete(null, new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue responseValue) { |
if (responseValue != null) { |
JSONObject responseObject = responseValue.isObject(); |
if (responseObject != null) { |
// Si la réponse est un tableau, alors c'est une liste de collections qui a été retournée |
if (responseObject.get("publicationsAPersonne").isArray() != null) { |
final JSONArray reponse = responseObject.get("publicationsAPersonne").isArray(); |
// Transformation du tableau JSON réponse en ListeInstitution |
PublicationAPersonneListe publicationsAPersonneListe = new PublicationAPersonneListe(reponse); |
// et on met à jour le demandeur des données |
if (seqId != null) { |
if (Mediateur.DEBUG) System.out.println("<-- PublicationAPersonneAsyncDao > Liste non paginée, retour au sequenceur"); |
Reponse reponseRequete = new Reponse(publicationsAPersonneListe, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} |
else { |
if (Mediateur.DEBUG) System.out.println("<-- PublicationAPersonneAsyncDao > Liste non paginée, retour au sequenceur"); |
vueARafraichir.rafraichir(publicationsAPersonneListe); |
} |
// Si la réponse est un objet, alors c'est une unique collection qui a été retournée |
} else if (responseObject.get("publicationsAPersonne").isObject() != null) { |
final JSONObject reponse = responseObject.get("publicationsAPersonne").isObject(); |
// Transformation du tableau JSON réponse en ListeInstitution |
PublicationAPersonne publicationAPersonne = new PublicationAPersonne(reponse); |
// et on met à jour le demandeur des données |
if (seqId!=null) { |
Reponse reponseRequete = new Reponse(publicationAPersonne, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} else { |
vueARafraichir.rafraichir(publicationAPersonne); |
} |
} else { |
GWT.log("La réponse n'est pas un objet ou un tableau JSON et vaut : "+responseValue.toString(), null); |
} |
} |
} else if (responseValue.isArray() != null) { |
final JSONArray reponse = responseValue.isArray(); |
PublicationAPersonneListe publicationsAPersonneListe = new PublicationAPersonneListe(reponse); |
} else { |
// Dans le cas, où nous demandons toutes les publication et qu'il n'y en a pas, nous retournons un objet vide |
PublicationAPersonneListe publicationAPersonneListe = new PublicationAPersonneListe(0); |
if (seqId!=null) { |
Reponse reponseRequete = new Reponse(publicationsAPersonneListe, seqId); |
Reponse reponseRequete = new Reponse(publicationAPersonneListe, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} else { |
vueARafraichir.rafraichir(publicationsAPersonneListe); |
vueARafraichir.rafraichir(publicationAPersonneListe); |
} |
} else { |
GWT.log("La réponse n'est pas un objet ou un tableau JSON et vaut : "+responseValue.toString(), null); |
} |
} else { |
// Dans le cas, où nous demandons toutes les publication et qu'il n'y en a pas, nous retournons un objet vide |
PublicationAPersonneListe publicationAPersonneListe = new PublicationAPersonneListe(0); |
if (seqId!=null) { |
Reponse reponseRequete = new Reponse(publicationAPersonneListe, seqId); |
vueARafraichir.rafraichir(reponseRequete); |
} else { |
vueARafraichir.rafraichir(publicationAPersonneListe); |
} |
} |
} |
}); |
}); |
} |
} |
public void ajouter(String publicationId, String personnesId, String ordreAuteurs, String roleId, final Integer seqId) { |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/publication/PublicationAPersonneAsyncDao.java:r11-934 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/publication/PublicationAPersonneAsyncDao.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/publication/Publication.java |
---|
1,9 → 1,17 |
package org.tela_botanica.client.modeles.publication; |
import java.util.ArrayList; |
import java.util.Iterator; |
import java.util.Map; |
import java.util.Set; |
import org.tela_botanica.client.modeles.aDonnee; |
import org.tela_botanica.client.modeles.collection.CollectionAPublication; |
import org.tela_botanica.client.modeles.structure.Structure; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.util.UtilString; |
import com.extjs.gxt.ui.client.data.ModelData; |
import com.google.gwt.json.client.JSONObject; |
public class Publication extends aDonnee { |
10,19 → 18,77 |
private static final long serialVersionUID = 4142843068041690126L; |
private static final String PREFIXE = "cpu"; |
public static final String PREFIXE = "cpu"; |
private boolean removePrefix = true; |
private Structure editeur = null; |
public static String[] champsObligatoires = {"cpu_id_publication"}; |
public ArrayList<String> cles = null; |
public Publication() { |
public Publication() { |
} |
public Publication(boolean removePrefix) { |
this.removePrefix = removePrefix; |
cles = new ArrayList<String>(); |
cles.add("id_publication"); |
} |
public Publication(JSONObject publication) { |
initialiserModele(publication); |
editeur = new Structure(publication); |
cles = new ArrayList<String>(); |
cles.add("id_publication"); |
} |
@Override |
public Publication(ModelData model, boolean removePrefix) |
{ |
this.removePrefix = removePrefix; |
cles = new ArrayList<String>(); |
cles.add("id_publication"); |
Map<String, Object> a = model.getProperties(); |
Set<String> cles = a.keySet(); |
Iterator<String> it = cles.iterator(); |
while (it.hasNext()) { |
String cle = it.next(); |
if (a.get(cle) != null) { |
String cleObjet = ""; |
if (removePrefix) { |
cleObjet = cle.replaceFirst("^"+getPrefixe()+"_", ""); |
} |
else { |
cleObjet=cle; |
String valeur = ""; |
if (a.get(cle) instanceof Integer) valeur = String.valueOf(a.get(cle)); |
else if (a.get(cle) instanceof String) valeur = (String)a.get(cle); |
traiterClesEtrangeres(cle, valeur); |
} |
this.set(cleObjet, a.get(cle)); |
} |
} |
} |
// Action |
//-------- |
// cette méthode sert dans le cas suivant : le contructeur reçoit un object ModelData |
// qui contient cpuap_id_publication mais pas cpu_id_publication ou id_publication. Sans |
// la méthode ci-dessous, on aurait des problèmes. Celle-ci affecte à id_publication la |
// valeur des clés étrangères rencontrées (cpuap_id_publication, cpuac_id_publication, etc.) |
private void traiterClesEtrangeres(String cle, String valeur) { |
// on recupere le nom de la clé de la propriété (sans son prefixe) |
String nomSansPrefixe = cle.replaceFirst("^[a-zA-Z]+_", ""); |
// on regarde si cette clé est une clé primaire de la table Publication |
if (cles.contains(nomSansPrefixe)) { |
// si c'est le cas et que la valeur est non nulle |
if (valeur != null && !UtilString.isEmpty(valeur)) { |
// on affecte la valeur de la clés étrangère à la clé primaire |
if (removePrefix) this.set(nomSansPrefixe, valeur); |
else this.set(PREFIXE+"_"+nomSansPrefixe, valeur); |
} |
} |
} |
protected String getPrefixe() { |
return PREFIXE; |
} |
36,52 → 102,66 |
} |
public String getId() { |
return renvoyerValeurCorrecte("id_publication"); |
if (removePrefix) return renvoyerValeurCorrecte("id_publication"); |
else return renvoyerValeurCorrecte(PREFIXE+"_id_publication"); |
} |
public void setId(String idPublication) { |
this.set("id_publication", idPublication); |
if (removePrefix) this.set("id_publication", idPublication); |
else this.set(PREFIXE+"_id_publication", idPublication); |
} |
public String getIdProjet() { |
return renvoyerValeurCorrecte("ce_projet"); |
if (removePrefix) return renvoyerValeurCorrecte("ce_projet"); |
else return renvoyerValeurCorrecte(PREFIXE+"_ce_projet"); |
} |
public void setIdProjet(String idProjet) { |
this.set("ce_projet", idProjet); |
if (removePrefix) this.set("ce_projet", idProjet); |
else this.set(PREFIXE+"_ce_projet", idProjet); |
} |
public String getNomComplet() { |
return renvoyerValeurCorrecte("fmt_nom_complet"); |
if (removePrefix) return renvoyerValeurCorrecte("fmt_nom_complet"); |
else return renvoyerValeurCorrecte(PREFIXE+"_fmt_nom_complet"); |
} |
public void setNomComplet(String nomComplet) { |
this.set("fmt_nom_complet", nomComplet); |
if (removePrefix) this.set("fmt_nom_complet", nomComplet); |
else this.set(PREFIXE+"_fmt_nom_complet", nomComplet); |
} |
public String getURI() { |
return renvoyerValeurCorrecte("uri"); |
if (removePrefix) return renvoyerValeurCorrecte("uri"); |
else return renvoyerValeurCorrecte(PREFIXE+"_uri"); |
} |
public void setUri(String uri) { |
this.set("uri", uri); |
if (removePrefix) this.set("uri", uri); |
else this.set(PREFIXE+"_uri", uri); |
} |
public String getAuteur() { |
return renvoyerValeurCorrecte("fmt_auteur"); |
if (removePrefix) return renvoyerValeurCorrecte("fmt_auteur"); |
else return renvoyerValeurCorrecte(PREFIXE+"_fmt_auteur"); |
} |
public void setAuteur(String auteurFormate) { |
this.set("fmt_auteur", auteurFormate); |
if (removePrefix) this.set("fmt_auteur", auteurFormate); |
else this.set(PREFIXE+"_fmt_auteur", auteurFormate); |
} |
public String getCollection() { |
return renvoyerValeurCorrecte("collection"); |
if (removePrefix) return renvoyerValeurCorrecte("collection"); |
else return renvoyerValeurCorrecte(PREFIXE+"_collection"); |
} |
public void setCollection(String collection) { |
this.set("collection", collection); |
if (removePrefix) this.set("collection", collection); |
else this.set(PREFIXE+"_collection", collection); |
} |
public String getTitre() { |
return renvoyerValeurCorrecte("titre"); |
if (removePrefix) return renvoyerValeurCorrecte("titre"); |
else return renvoyerValeurCorrecte(PREFIXE+"_titre"); |
} |
public void setTitre(String titre) { |
this.set("titre", UtilString.ucFirst(titre)); |
if (removePrefix) this.set("titre", UtilString.ucFirst(titre)); |
else this.set(PREFIXE+"_titre", UtilString.ucFirst(titre)); |
} |
public String getNomEditeur() { |
92,41 → 172,57 |
return editeurNom; |
} |
public String getEditeur() { |
return getChaineDenormaliseUnique("ce_truk_editeur"); |
if (removePrefix) return getChaineDenormaliseUnique("ce_truk_editeur"); |
else return getChaineDenormaliseUnique(PREFIXE+"_ce_truk_editeur"); |
} |
public void setEditeur(String editeur) { |
setChaineDenormaliseUnique("ce_truk_editeur", "AUTRE", editeur); |
if (removePrefix) setChaineDenormaliseUnique("ce_truk_editeur", "AUTRE", editeur); |
else setChaineDenormaliseUnique(PREFIXE+"_ce_truk_editeur", "AUTRE", editeur); |
} |
public String getAnneeParution() { |
return renvoyerValeurCorrecte("date_parution").substring(0, 4); |
String date; |
if (removePrefix) date = renvoyerValeurCorrecte("date_parution"); |
else date = renvoyerValeurCorrecte(PREFIXE+"_date_parution"); |
if (date != null && !UtilString.isEmpty(date)) |
return date.substring(0, 4); |
else |
return null; |
} |
public String getDateParution() { |
return renvoyerValeurCorrecte("date_parution"); |
if (removePrefix) return renvoyerValeurCorrecte("date_parution"); |
else return renvoyerValeurCorrecte(PREFIXE+"_date_parution"); |
} |
public void setDateParution(String date) { |
this.set("date_parution", date); |
if (removePrefix) this.set("date_parution", date); |
else this.set(PREFIXE+"_date_parution", date); |
} |
public String getIndicationNvt() { |
return renvoyerValeurCorrecte("indication_nvt"); |
if (removePrefix) return renvoyerValeurCorrecte("indication_nvt"); |
else return renvoyerValeurCorrecte(PREFIXE+"_indication_nvt"); |
} |
public void setIndicationNvt(String nvt) { |
this.set("indication_nvt", nvt); |
if (removePrefix) this.set("indication_nvt", nvt); |
else this.set(PREFIXE+"_indication_nvt", nvt); |
} |
public String getFascicule() { |
return renvoyerValeurCorrecte("fascicule"); |
if (removePrefix) return renvoyerValeurCorrecte("fascicule"); |
else return renvoyerValeurCorrecte(PREFIXE+"_fascicule"); |
} |
public void setFascicule(String fascicule) { |
this.set("fascicule", fascicule); |
if (removePrefix) this.set("fascicule", fascicule); |
else this.set(PREFIXE+"_fascicule", fascicule); |
} |
public String getPages() { |
return renvoyerValeurCorrecte("truk_pages"); |
if (removePrefix) return renvoyerValeurCorrecte("truk_pages"); |
else return renvoyerValeurCorrecte(PREFIXE+"_truk_pages"); |
} |
public void setPages(String pages) { |
this.set("truk_pages", pages); |
if (removePrefix) this.set("truk_pages", pages); |
else this.set(PREFIXE+"_truk_pages", pages); |
} |
} |
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/publication/Publication.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/modeles/publication/Publication.java:r11-934 |
/trunk/src/org/tela_botanica/client/modeles/publication/PublicationListe.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/publication/PublicationListe.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/modeles/publication/PublicationListe.java:r11-934 |
/trunk/src/org/tela_botanica/client/modeles/UtilisateurAsyncDao.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/UtilisateurAsyncDao.java:r11-68 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/UtilisateurAsyncDao.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/Valeur.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/Valeur.java:r11-68 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/Valeur.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/ValeurListe.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/ValeurListe.java:r11-68 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/ValeurListe.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/Aide.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/Aide.java:r1417-1511 |
Merged /trunk/src/org/tela_botanica/client/modeles/Aide.java:r11-65 |
/trunk/src/org/tela_botanica/client/modeles/Menu.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/Menu.java:r11-59 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/Menu.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles/MenuApplicationId.java |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles/MenuApplicationId.java:r11-325 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles/MenuApplicationId.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/modeles |
---|
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/modeles:r11-50 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/modeles:r1417-1511 |
/trunk/src/org/tela_botanica/client/Mediateur.java |
---|
27,6 → 27,7 |
import org.tela_botanica.client.modeles.collection.CollectionAPublication; |
import org.tela_botanica.client.modeles.collection.CollectionAPublicationListe; |
import org.tela_botanica.client.modeles.collection.CollectionListe; |
import org.tela_botanica.client.modeles.collection.UniteRangement; |
import org.tela_botanica.client.modeles.commentaire.Commentaire; |
import org.tela_botanica.client.modeles.commentaire.CommentaireListe; |
import org.tela_botanica.client.modeles.personne.Personne; |
93,7 → 94,7 |
public static final Constantes i18nC = getI18nConstante(); |
public static final ErrorMessages i18nM = getI18nMessage(); |
public static final boolean DEBUG = true; |
public static final boolean DEBUG_CHARGEMENT = false; |
public static final boolean DEBUG_CHARGEMENT = true; |
private EnteteVue panneauNord = null; |
private NavigationVue panneauOuest = null; |
310,6 → 311,10 |
else fileDAttenteChargement.put(caller, fileDAttenteChargement.get(caller)-1); |
if (!chargementsEnCours()) desactiverChargement(); |
else if (DEBUG_CHARGEMENT) { |
System.out.println("[CHARGEMENT] Patienter, il y a encore un chargement en cours."); |
debugFileAttente(); |
} |
} |
private void desactiverChargement() { |
335,7 → 340,7 |
Iterator<Object> it = fileDAttenteChargement.keySet().iterator(); |
while (it.hasNext()) { |
Object o = it.next(); |
System.out.println(" ==> ["+o+"] = "+fileDAttenteChargement.get(o)); |
System.out.println(" ["+o+"] = "+fileDAttenteChargement.get(o)); |
} |
} |
1118,6 → 1123,16 |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION de la relation COLLECTION A PUBLICATION |
public void selectionnerCollectionAPublication(Rafraichissable vueARafraichir, String collectionId, String recherche, int start, int nbElements, Sequenceur sequenceur) { |
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner CollectionAPublication"); |
Integer seqId = null; |
if (sequenceur!=null) { |
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir); |
vueARafraichir = sequenceur; |
} |
modele.selectionnerCollectionAPublication(vueARafraichir, collectionId, recherche, start, nbElements, seqId); |
} |
public void selectionnerCollectionAPublication(Rafraichissable vueARafraichir, String collectionId, Sequenceur sequenceur) { |
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner CollectionAPublication"); |
Integer seqId = null; |
1170,6 → 1185,16 |
modele.selectionnerCollectionACommentaire(vueARafraichir, collectionId, seqId); |
} |
public void selectionnerCollectionACommentaire(Rafraichissable vueARafraichir, String collectionId, String recherche, int pageCourante, int nbElements, Sequenceur sequenceur) { |
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner CollectionACommentaire"); |
Integer seqId = null; |
if (sequenceur != null) { |
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir); |
vueARafraichir = sequenceur; |
} |
modele.selectionnerCollectionACommentaire(vueARafraichir, collectionId, recherche, pageCourante, nbElements, seqId); |
} |
/** AJOUTER **/ |
public void ajouterCollectionACommentaire(Rafraichissable vueARafraichir, String collectionId, CollectionACommentaireListe commentairesAjoutees) { |
if (commentairesAjoutees != null && commentairesAjoutees.size() > 0) { |
1464,9 → 1489,19 |
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir); |
vueARafraichir = sequenceur; |
} |
modele.selectionnerPublication(vueARafraichir, publicationId, projetId, nomComplet, nbElements, pageCourante, seqId); |
modele.selectionnerPublication(vueARafraichir, publicationId, projetId, nomComplet, pageCourante, nbElements, seqId); |
} |
public void selectionnerPublication(Rafraichissable vueARafraichir, String recherche, int start, int nbElements, Sequenceur sequenceur) { |
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner Publication"); |
Integer seqId = null; |
if (sequenceur!=null) { |
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir); |
vueARafraichir = sequenceur; |
} |
modele.selectionnerPublication(vueARafraichir, recherche, start, nbElements, seqId); |
} |
/** AJOUTER **/ |
public void ajouterPublication(Rafraichissable vueARafraichir, Publication publication, Integer seqId) { |
modele.ajouterPublication(vueARafraichir, publication, seqId); |
1532,6 → 1567,35 |
} |
modele.selectionPublicationAPersonne(vueARafraichir, publicationId, personnesId, roleIds, seqId); |
} |
public void selectionnerPublicationsAPersonne(Rafraichissable vueARafraichir, String personneId, List<Valeur> roleId, String recherche, int pageCourante, int nbElements, Sequenceur sequenceur) { |
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner PublicationAPersonne"); |
Integer seqId = null; |
if (sequenceur != null) { |
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir); |
vueARafraichir = sequenceur; |
} |
String roleIds = ""; |
Iterator<Valeur> itRole = roleId.iterator(); |
while (itRole.hasNext()) { |
roleIds+= itRole.next().getId(); |
if (itRole.hasNext()) { |
roleIds+=","; |
} |
} |
modele.selectionPublicationsAPersonne(vueARafraichir, personneId, roleIds, recherche, pageCourante, nbElements, seqId); |
} |
public void selectionnerPersonnesAPublication(Rafraichissable vueARafraichir, String publicationId, String recherche, int pageCourante, int nbElements, Sequenceur sequenceur) { |
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner PublicationAPersonne"); |
Integer seqId = null; |
if (sequenceur != null) { |
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir); |
vueARafraichir = sequenceur; |
} |
modele.selectionPersonnesAPublication(vueARafraichir, publicationId, recherche, pageCourante, nbElements, seqId); |
} |
/** AJOUTER **/ |
// Lier une publication à plusieurs personnes |
1688,6 → 1752,16 |
modele.selectionnerCommentaire(vueARafraichir, commentaireId, getProjetId(), titre, pageCourante, nbElements, seqId); |
} |
public void selectionnerCommentaire(Rafraichissable vueARafraichir, String recherche, int pageCourante, int nbElements, Sequenceur sequenceur) { |
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner Commentaire"); |
Integer seqId = null; |
if (sequenceur != null) { |
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir); |
vueARafraichir = sequenceur; |
} |
modele.selectionnerCommentaire(vueARafraichir, recherche, pageCourante, nbElements, seqId); |
} |
/** Cette méthode est un wrapper **/ |
public void selectionnerCommentaireParTitre(Rafraichissable vueARafraichir, String titre, Sequenceur sequenceur) { |
selectionnerCommentaire(vueARafraichir, null, titre, 0, nbElements, sequenceur); |
Property changes: |
Modified: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client/Mediateur.java:r11-59 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client/Mediateur.java:r1417-1511 |
/trunk/src/org/tela_botanica/client/. |
---|
Property changes: |
Added: svn:mergeinfo |
Merged /trunk/src/org/tela_botanica/client:r1209-1382 |
Merged /branches/v1.1-aramon/src/org/tela_botanica/client:r1383-1511 |
Merged /branches/v1.0-syrah/src/org/tela_botanica/client:r1136-1208 |