Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1560 → Rev 1561

/trunk/src/org/tela_botanica/client/vues/publication/PublicationForm.java
27,6 → 27,7
import org.tela_botanica.client.modeles.structure.Structure;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.Log;
import org.tela_botanica.client.util.Pattern;
import org.tela_botanica.client.util.UtilArray;
import org.tela_botanica.client.util.UtilString;
37,6 → 38,9
 
import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.Style.SortDir;
import com.extjs.gxt.ui.client.data.BaseModelData;
import com.extjs.gxt.ui.client.data.LoadEvent;
import com.extjs.gxt.ui.client.data.Loader;
import com.extjs.gxt.ui.client.data.ModelData;
import com.extjs.gxt.ui.client.data.ModelType;
import com.extjs.gxt.ui.client.event.BaseEvent;
154,11 → 158,12
initialiserFormulaire(mediateurCourrant, modeDeCreation, MenuApplicationId.PUBLICATION);
panneauFormulaire.setLayout(new RowLayout());
panneauFormulaire.setStyleAttribute("padding", "0");
panneauFormulaire.setHeight(600);
zoneHaut = new LayoutContainer(new FitLayout());
zoneBas = new LayoutContainer(new FlowLayout());
panneauFormulaire.add(zoneHaut, new RowData(1, 0.3));
panneauFormulaire.add(zoneBas, new RowData(1, 0.5));
panneauFormulaire.add(zoneHaut, new RowData(0.99, 0.45));
panneauFormulaire.add(zoneBas, new RowData(0.99, 0.55));
panneauFormulaire.setScrollMode(Scroll.AUTO);
genererTitreFormulaire();
243,30 → 248,7
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
if (grilleAuteurs.getGrille().getSelectionModel().getSelectedItem() != null) {
ModelData publiAPersonneSelectionnee = grilleAuteurs.getSelectionModel().getSelectedItem();
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;
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);
mettreAJourOrdreAuteur(-1);
}
}
});
280,36 → 262,88
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
if (grilleAuteurs.getSelectionModel().getSelectedItem() != null) {
ModelData publiAPersonneSelectionnee = grilleAuteurs.getSelectionModel().getSelectedItem();
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;
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);
mettreAJourOrdreAuteur(+1);
}
}
});
return bouton;
}
private void formaterOrdreAuteurs() {
List<ModelData> auteurs = grilleAuteurs.getStore().getModels();
Iterator<ModelData> itAuteurs = auteurs.iterator();
while (itAuteurs.hasNext()) {
ModelData selection = itAuteurs.next();
PublicationAPersonne pap = new PublicationAPersonne(selection, false);
String ordre = String.valueOf(grilleAuteurs.getStore().indexOf(selection) + 1);
if (pap.getOrdreAuteurs() != ordre) {
selection.set("_ordre_", ordre);
grilleAuteurs.getStore().update(selection);
pap.setOrdreAuteurs(ordre);
auteursModifies.put(pap.getId(), pap);
}
}
}
private void mettreAJourOrdreAuteur(int monterOuDescendre) {
ModelData publiAPersonneSelectionnee = grilleAuteurs.getSelectionModel().getSelectedItem();
int index = grilleAuteurs.getStore().indexOf(publiAPersonneSelectionnee);
int nouvelIndex = index + monterOuDescendre;
if (verifierOrdreAuteur(nouvelIndex)) {
// le marqueur suivant est obligatoire sinon les évènements liés au magasin se
// déclenchent et posent problème
changeOrderMarker = true;
int indexAPermuter = index + monterOuDescendre;
ModelData publiAPersonneSwitch = grilleAuteurs.getStore().getAt(indexAPermuter);
String ordreAPermuter = String.valueOf((indexAPermuter + 1) - monterOuDescendre);
publiAPersonneSwitch.set("_ordre_", ordreAPermuter);
grilleAuteurs.getStore().update(publiAPersonneSwitch);
PublicationAPersonne papSwitch = new PublicationAPersonne(publiAPersonneSwitch, false);
papSwitch.setOrdreAuteurs(ordreAPermuter);
auteursModifies.put(papSwitch.getId(), papSwitch);
 
grilleAuteurs.getStore().remove(publiAPersonneSelectionnee);
String nouvelOrdre = String.valueOf((index + 1) + monterOuDescendre);
publiAPersonneSelectionnee.set("_ordre_", nouvelOrdre);
grilleAuteurs.getStore().insert(publiAPersonneSelectionnee, nouvelIndex);
PublicationAPersonne papSelectionnee = new PublicationAPersonne(publiAPersonneSelectionnee, false);
papSelectionnee.setOrdreAuteurs(nouvelOrdre);
auteursModifies.put(papSelectionnee.getId(), papSelectionnee);
changeOrderMarker = false;
grilleAuteurs.getSelectionModel().select(nouvelIndex, false);
}
}
private boolean verifierOrdreAuteur(int nouvelIndex) {
int nbrElement = grilleAuteurs.getStore().getCount();
boolean ok = true;
if (nouvelIndex < 0 || nouvelIndex >= nbrElement) {
ok = false;
}
return ok;
}
private void activerBoutonsOrdreAuteur() {
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);
}
}
private Button creerBoutonAjouter() {
Button bouton = new Button(i18nC.ajouter());
bouton.setIcon(Images.ICONES.vcardAjouter());
397,12 → 431,7
bouton.setIcon(Images.ICONES.vcardSupprimer());
bouton.addSelectionListener(new SelectionListener<ButtonEvent>() {
public void componentSelected(ButtonEvent ce) {
PublicationAPersonne personneSelectionnee = new PublicationAPersonne(grilleAuteurs.getSelectionModel().getSelectedItem(), false);
if (personneSelectionnee == null) {
InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerPublication());
} else {
supprimerDansGrille(personneSelectionnee);
}
supprimerDansGrille();
}
});
return bouton;
422,7 → 451,7
private void actualiserGrille() {
if (mode.equals(Formulaire.MODE_MODIFIER)) {
// FIXME : c'est la merde
//mediateur.selectionner(this, null, personneSelectionnee.getId(), "%");
grilleAuteurs.reload();
} else {
grilleAuteurs.getStore().removeAll();
layout();
475,8 → 504,10
private void ajouterDansGrille(PublicationAPersonne pap, int index) {
if (pap != null) {
if (!grilleAuteurs.getStore().contains(pap)) {
//1) si elle ne fait pas partie des initiaux, ajouter à la liste à ajouter
if (grilleAuteurs.getStore().contains(pap)) {
InfoLogger.display("Information", "La personne choisie existe déjà dans la liste.");
} else {
// 1) si elle ne fait pas partie des initiaux, ajouter à la liste à ajouter
if (!auteursInitialListe.containsValue(pap)) {
auteursAjoutes.put(pap.getId(), pap);
}
485,34 → 516,38
if (auteursSupprimes.containsValue(pap)) {
auteursSupprimes.remove(pap);
}
//2) Ajouter a la grille
// 2) Ajouter a la grille
grilleAuteurs.getStore().insert(pap, index);
grilleAuteurs.getSelectionModel().select(index, false);
} else {
InfoLogger.display("Information", "La personne choisie existe déjà dans la liste.");
}
}
}
private void supprimerDansGrille(PublicationAPersonne pap) {
if (pap != null) {
private void supprimerDansGrille() {
ModelData donneeSelectionnee = grilleAuteurs.getSelectionModel().getSelectedItem();
PublicationAPersonne personneSelectionnee = new PublicationAPersonne(donneeSelectionnee, false);
if (personneSelectionnee.getId() == null) {
InfoLogger.display(i18nC.informationTitreGenerique(), i18nC.selectionnerAuteur());
} else {
// 1) Ajouter a la liste des personne à supprimer uniquement si est présente dans la liste initiale
if (auteursInitialListe.containsValue(pap)) {
auteursSupprimes.put(pap.getId(), pap);
if (auteursInitialListe.containsKey(personneSelectionnee.getId())) {
auteursSupprimes.put(personneSelectionnee.getId(), personneSelectionnee);
Log.debug("Ajout Personne à supprimer : "+auteursSupprimes.toString());
}
if (auteursAjoutes.containsValue(pap)) {
auteursAjoutes.remove(pap);
if (auteursAjoutes.containsValue(personneSelectionnee)) {
auteursAjoutes.remove(personneSelectionnee);
}
if (auteursModifies.containsValue(pap)) {
auteursModifies.remove(pap);
if (auteursModifies.containsValue(personneSelectionnee)) {
auteursModifies.remove(personneSelectionnee);
}
// 2) Supprimer la personne de la liste
grilleAuteurs.getStore().remove(pap);
} else {
Info.display("Information", "Vous devez sélectionner une personne");
Log.debug("Personne trouvée : "+grilleAuteurs.getStore().findModel(donneeSelectionnee).toString());
grilleAuteurs.getStore().remove(donneeSelectionnee);
formaterOrdreAuteurs();
}
}
554,13 → 589,7
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);
activerBoutonsOrdreAuteur();
}
});
577,6 → 606,19
grilleAuteurs.getGrille().setStripeRows(true);
grilleAuteurs.getGrille().setTrackMouseOver(true);
grilleAuteurs.getStore().getLoader().addListener(Loader.Load, new Listener<LoadEvent>() {
public void handleEvent(LoadEvent be) {
List<ModelData> auteurs = grilleAuteurs.getStore().getModels();
Iterator<ModelData> itAuteurs = auteurs.iterator();
while (itAuteurs.hasNext()) {
ModelData selection = itAuteurs.next();
PublicationAPersonne auteur = new PublicationAPersonne(selection, false);
auteursInitialListe.put(auteur.getId(), auteur);
}
Log.debug("Initialisation liste auteur :"+auteursInitialListe.size());
}
});
// Rajouter des écouteurs
grilleAuteurs.getStore().addListener(Store.Add, new Listener<StoreEvent<ModelData>>() {
public void handleEvent(StoreEvent<ModelData> ce) {
589,25 → 631,13
public void handleEvent(StoreEvent<ModelData> ce) {
if (!changeOrderMarker) {
actualiserEtatBoutonsBarreOutils();
Log.debug("Dans listener remove de grilleAuteur");
}
}
});
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.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
} else {
PublicationAPersonne pap = new PublicationAPersonne(ce.getModel(), false);
auteursModifies.put(pap.getId(), pap);
}
}
}
}
});
813,15 → 843,13
}
private void soumettreAuteurs() {
formaterOrdreAuteurs();
//1) Auteurs ajoutés :
PublicationAPersonneListe listeAuteursAAjouter = new PublicationAPersonneListe();
Iterator<String> itAuteur = auteursAjoutes.keySet().iterator();
while (itAuteur.hasNext()) {
String cle = itAuteur.next();
PublicationAPersonne publiAPersonne = auteursAjoutes.get(cle);
PublicationAPersonne publiAPersonne = auteursAjoutes.get(cle);
Log.debug("Ajouter :"+publiAPersonne.toString());
publiAPersonne.setIdPublication(this.publicationId);
publiAPersonne.setOrdreAuteurs(publiAPersonne.getOrdreAuteurs());
listeAuteursAAjouter.put(cle, publiAPersonne);
839,6 → 867,7
while (itAuteur.hasNext()) {
String cle = itAuteur.next();
PublicationAPersonne publiAPersonne = auteursSupprimes.get(cle);
Log.debug("Supprimer :"+publiAPersonne.toString());
listeAuteursASupprimer.put(cle, publiAPersonne);
}
845,6 → 874,7
// - Envoyer au médiateur SSI personnes à supprimer
if (listeAuteursASupprimer.size() > 0) {
// Pour une suppression des auteurs, on a pas besoin d'attendre le retour
Log.debug("Lancement suppression :"+listeAuteursASupprimer.size());
mediateur.supprimerPublicationAPersonne(this, listeAuteursASupprimer);
}
854,6 → 884,7
while (itAuteur.hasNext()) {
String cle = itAuteur.next();
PublicationAPersonne publiAPersonne = auteursModifies.get(cle);
Log.debug("Modifier :"+publiAPersonne.toString());
listeAuteursAModifier.put(cle, publiAPersonne);
}
866,24 → 897,6
sequenceur.enfilerRafraichissement(this, new Information("auteurs_enregistres"));
}
private void formaterOrdreAuteurs() {
ListStore<ModelData> store = grilleAuteurs.getStore();
List<ModelData> auteurs = grilleAuteurs.getStore().getModels();
Iterator<ModelData> itAuteurs = auteurs.iterator();
while (itAuteurs.hasNext()) {
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));
auteursModifies.put(pap.getId(), pap);
}
}
}
private void peuplerFormulaire() {
setValeurComboProjets();
titreChp.setValue(publication.getTitre());
1165,7 → 1178,9
} else {
InfoLogger.display("Ajout d'une publication", info.toString());
}
}
} else if (info.getType().equals("suppression_publication_a_personne")) {
InfoLogger.display("Suppression d'auteur", info.getMessages().toString());
}
}
private void repandreRafraichissement() {
/trunk/src/org/tela_botanica/client/modeles/aDonnee.java
37,9 → 37,10
public static final String ETAT_AJOUTE = "A";
public static final Object ETAT_MODIFIE = "M";
public static final String VALEUR_NULL = "NC";
 
public HashMap<String, String> valeursInitiales = new HashMap<String, String>();
protected boolean removePrefix = true;
 
protected abstract String getPrefixe();
protected abstract String[] getChampsObligatoires();
89,17 → 90,19
public void setValeurInitiale(String cleObjet, String valeur) {
}
 
/**
* Pour éviter que l'on traite des valeurs nulles à l'affichage on passe par
* cette fonction qui retire les charactères nuls qui font planter
* l'affichage, il ne faut pas utiliser get directement
* l'affichage, il ne faut pas utiliser get directement.
* Elle ajoute aussi le préfixe au nom du champ si nécessaire.
*
* @param cle
* @param cle le nom du champ sans le préfixe.
* @return la valeur associée à la clé
*/
protected String renvoyerValeurCorrecte(String cle) {
String sortie = "";
cle = (removePrefix) ? cle : getPrefixe()+"_"+cle;
if (this.get(cle) != null) {
String valeur = ""+this.get(cle);
if (! valeur.equals("null")) {
114,6 → 117,17
}
/**
* Ajoute le préfixe au nom du champ si nécessaire.
*
* @param la clé du champ
* @param la valeur associé à la clé
*/
protected void setValeurCorrecte(String cle, String valeur) {
cle = (removePrefix) ? cle : getPrefixe()+"_"+cle;
set(cle, valeur);
}
/**
* Ajoute un nouvel élément avec son type à une chaine dénormalisée.
* Champ de type "truk" contenant des valeurs séparées par ";;" qui elle même possèdent un type séparé par "##".
* Si l'élément existe déjà, il ne sera pas ajouté.
/trunk/src/org/tela_botanica/client/modeles/publication/PublicationAPersonne.java
5,9 → 5,8
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 org.tela_botanica.client.util.Log;
 
import com.extjs.gxt.ui.client.data.ModelData;
import com.google.gwt.json.client.JSONObject;
17,7 → 16,6
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";
48,8 → 46,11
// Si elle est associée à une valeur, nous l'ajoutons
String cle = it.next();
String cleObjet = "";
if (removePrefix) cleObjet = cle.replaceFirst("^"+getPrefixe()+"_", "");
else cleObjet=cle;
if (removePrefix) {
cleObjet = cle.replaceFirst("^"+getPrefixe()+"_", "");
} else {
cleObjet = cle;
}
// Valeur vide par défaut
String valeur = "";
if (pubAPersListe.get(cle).isString() != null) {
61,34 → 62,35
initialiserChampsPourGrille();
}
public PublicationAPersonne(ModelData model, boolean removePrefix)
{
public PublicationAPersonne(ModelData modele, 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+"_", "");
if (modele != null) {
Map<String, Object> modeleProprietes = modele.getProperties();
Set<String> cles = modeleProprietes.keySet();
Iterator<String> it = cles.iterator();
while (it.hasNext()) {
String cle = it.next();
if (modeleProprietes.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, modeleProprietes.get(cle));
}
else {
cleObjet = cle;
}
this.set(cleObjet, a.get(cle));
}
setPersonne(new Personne(modele, removePrefix));
setPublicationLiee(new Publication(modele, removePrefix));
this.set("_role_", modeleProprietes.get("_role_"));
this.set("_etat_", modeleProprietes.get("_etat_"));
} else {
Log.debug("Le modèle passé en paramètre ne doit pas être vide");
}
 
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() {
102,7 → 104,7
set("fascicule", publicationLiee.getFascicule());
set("truk_pages", publicationLiee.getPages());
set("_etat_", "");
set("_role_", this.get("id_role"));
set("_role_", this.getIdRole());
} else {
set("cpu_fmt_auteur", publicationLiee.getAuteur());
set("cpu_titre", publicationLiee.getTitre());
113,11 → 115,10
set("cpu_fascicule", publicationLiee.getFascicule());
set("cpu_truk_pages", publicationLiee.getPages());
set("_etat_", "");
set("_role_", this.get("id_role"));
set("_role_", this.getIdRole());
}
}
@Override
protected String getPrefixe() {
return PREFIXE;
176,16 → 177,14
// ID PUBLICATION
public String getIdPublication() {
if (removePrefix) return renvoyerValeurCorrecte("id_publication");
else return renvoyerValeurCorrecte("cpuap_id_publication");
return renvoyerValeurCorrecte("id_publication");
}
public void setIdPublication(String id) {
if (removePrefix) set("id_publication", id);
else set("cpuap_id_publication", id);
setValeurCorrecte("id_publication", id);
}
// PUBLICATION LIEE
public Publication getPublicationLiee() {
public Publication getPublicationLiee() {
return this.publicationLiee;
}
195,24 → 194,12
initialiserChampsPourGrille();
}
// ROLE
public String getRole() {
String role = this.get("_role_");
if (role != null) {
return role;
} else {
return "";
}
}
// ID PERSONNE
public String getIdPersonne() {
if (removePrefix) return renvoyerValeurCorrecte("id_personne");
else return renvoyerValeurCorrecte("cpuap_id_personne");
return renvoyerValeurCorrecte("id_personne");
}
public void setIdPersonne(String id) {
if (removePrefix) set("id_personne", id);
else set(PREFIXE+"_id_personne", id);
setValeurCorrecte("id_personne", id);
}
// ID RôLE
220,8 → 207,19
return renvoyerValeurCorrecte("id_role");
}
public void setIdRole(String id) {
set("id_role", id);
setValeurCorrecte("id_role", id);
this.set("_role_", id);
}
// ROLE
public String getRole() {
String role = this.get("_role_");
if (role != null) {
return role;
} else {
return "";
}
}
// TYPE
public String getType() {
228,7 → 226,7
return renvoyerValeurCorrecte("ce_truk_type");
}
public void setType(String type) {
set("ce_truk_type", type);
setValeurCorrecte("ce_truk_type", type);
}
public void setFonction(String type, String valeur) {
setChaineDenormaliseUnique("ce_truk_type", type, valeur);
236,14 → 234,11
// ORDRE DES AUTEURS
public String getOrdreAuteurs() {
if (removePrefix) return renvoyerValeurCorrecte("ordre");
else return renvoyerValeurCorrecte(PREFIXE+"_ordre");
return renvoyerValeurCorrecte("ordre");
}
public void setOrdreAuteurs(String ordre) {
if (ordre.matches("[0-9]+")) {
if (removePrefix) this.set("ordre", ordre);
else this.set(PREFIXE+"_ordre", ordre);
setValeurCorrecte("ordre", ordre);
this.set("_ordre_", ordre);
}
}
/trunk/src/org/tela_botanica/client/modeles/publication/PublicationAPersonneAsyncDao.java
143,11 → 143,12
}
public void ajouter(String publicationId, String personnesId, String ordreAuteurs, String roleId, final Integer seqId) {
String postDonneesEncodees = "cpuap_id_publication="+URL.encodeComponent(publicationId)
+"&cpuap_id_auteur="+URL.encodeComponent(personnesId)
+"&cpuap_ordre="+URL.encodeComponent(ordreAuteurs)
+"&cpuap_id_role="+URL.encodeComponent(roleId)
+"&cmhl_ce_modifier_par="+utilisateurId;
String postDonneesEncodees = "cpuap_id_publication="+URL.encodeQueryString(publicationId)
+"&cpuap_id_auteur="+URL.encodeQueryString(personnesId)
+"&cpuap_ordre="+URL.encodeQueryString(ordreAuteurs)
+"&cpuap_id_role="+URL.encodeQueryString(roleId)
+"&cmhl_ce_modifier_par="+utilisateurId;
final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM);
rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
@Override
162,11 → 163,11
final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
String postDonneesEncodees = "cpuap_id_publication="+URL.encodeComponent(publicationId)
+"&cpuap_id_auteur="+URL.encodeComponent(personnesId)
+"&cpuap_id_role="+URL.encodeComponent(roleId)
+"&cpuap_ordre="+URL.encodeComponent(ordreAuteurs)
+"&cmhl_ce_modifier_par="+utilisateurId;
String postDonneesEncodees = "cpuap_id_publication="+URL.encodeQueryString(publicationId)
+"&cpuap_id_auteur="+URL.encodeQueryString(personnesId)
+"&cpuap_id_role="+URL.encodeQueryString(roleId)
+"&cpuap_ordre="+URL.encodeQueryString(ordreAuteurs)
+"&cmhl_ce_modifier_par="+utilisateurId;
rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
@Override