/trunk/src/org/tela_botanica/client/Modele.java |
---|
10,6 → 10,7 |
import org.tela_botanica.client.modeles.PersonneAsyncDao; |
import org.tela_botanica.client.modeles.ProjetAsyncDao; |
import org.tela_botanica.client.modeles.Publication; |
import org.tela_botanica.client.modeles.PublicationAPersonneAsyncDao; |
import org.tela_botanica.client.modeles.PublicationAsyncDao; |
import org.tela_botanica.client.modeles.Structure; |
import org.tela_botanica.client.modeles.StructureAPersonne; |
218,4 → 219,18 |
pDao.supprimerPublication(utilisateurId, idPubs); |
} |
public void ajouterAuteurPublication(Rafraichissable vueARafraichir, String utilisateurid, |
String idAuteurs, String role, String idPublication) { |
PublicationAPersonneAsyncDao paDao = new PublicationAPersonneAsyncDao(vueARafraichir); |
paDao.ajouterAuteur(utilisateurid, idAuteurs, role, idPublication); |
} |
public void modifierAuteurPublication(Rafraichissable vueARafraichir, |
String utilisateurid, String idAuteurs, String idPublication) { |
PublicationAPersonneAsyncDao paDao = new PublicationAPersonneAsyncDao(vueARafraichir); |
paDao.modifierAuteur(utilisateurid, idAuteurs, idPublication); |
} |
} |
/trunk/src/org/tela_botanica/client/modeles/Publication.java |
---|
30,9 → 30,9 |
* |
* @param image |
*/ |
public Publication(JSONObject institution) { |
public Publication(JSONObject publication) { |
// l'objet JSON est une table de hachage |
Set<String> im = institution.keySet(); |
Set<String> im = publication.keySet(); |
// Parcourt pour chaque clé |
for (Iterator<String> it = im.iterator(); it.hasNext();) { |
40,8 → 40,8 |
String cle = it.next(); |
// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet |
String cleObjet = cle.replaceFirst("^"+prefixe, ""); |
if (institution.get(cle).isString() != null) { |
String valeur = institution.get(cle).isString().stringValue(); |
if (publication.get(cle).isString() != null) { |
String valeur = publication.get(cle).isString().stringValue(); |
this.set(cleObjet, valeur); |
} else { |
// Sinon, nous ajoutons la clé avec une valeur vide |
143,7 → 143,7 |
} |
public String getIdAuteur() { |
return (String) renvoyerValeurCorrecte("id_auteur"); |
return (String) renvoyerValeurCorrecte("cpuap_id_personne"); |
} |
public String toReqString() { |
/trunk/src/org/tela_botanica/client/modeles/PublicationAPersonne.java |
---|
New file |
0,0 → 1,51 |
package org.tela_botanica.client.modeles; |
import java.util.Iterator; |
import java.util.Set; |
import com.google.gwt.json.client.JSONObject; |
public class PublicationAPersonne extends aDonnee { |
private static final long serialVersionUID = 7769105365939978129L; |
public PublicationAPersonne(JSONObject pubAPersListe) { |
// l'objet JSON est une table de hachage |
Set<String> im = pubAPersListe.keySet(); |
// Parcourt pour chaque clé |
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 |
if (pubAPersListe.get(cle).isString() != null) { |
String valeur = pubAPersListe.get(cle).isString().stringValue(); |
this.set(cle, valeur); |
} else { |
// Sinon, nous ajoutons la clé avec une valeur vide |
String valeur = " "; |
this.set(cle, valeur); |
} |
} |
} |
public String getNomCompletAuteur() { |
return renvoyerValeurCorrecte("cp_fmt_nom_complet"); |
} |
public String getNomAuteur() { |
return renvoyerValeurCorrecte("cp_nom"); |
} |
public String getPrenomAuteur() { |
return renvoyerValeurCorrecte("cp_prenom"); |
} |
public String getIdAuteur() { |
return renvoyerValeurCorrecte("cp_id_personne"); |
} |
public String getPublication() { |
return renvoyerValeurCorrecte("cpuap_id_publication"); |
} |
} |
/trunk/src/org/tela_botanica/client/modeles/PublicationAPersonneAsyncDao.java |
---|
25,6 → 25,45 |
this.vueARafraichir = vueARafraichir; |
} |
public void selectionnerAuteurAPublication(String projetId, String idAuteurs, |
String role, String idPublication) { |
String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + |
SERVICE_NOM + "/" + |
(projetId == null ? "*" : projetId) + "/" + |
(idAuteurs == null ? "*" : idAuteurs) + "/" + |
(idPublication == null ? "*" : idPublication) + "/" + |
""; |
url = URL.encode(url); |
JsonRestRequestBuilder rb = new JsonRestRequestBuilder(RequestBuilder.GET, url); |
rb.envoyerRequete(null, new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue responseValue) { |
if (responseValue != null) { |
// Si la requête est un succès, reception 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 |
vueARafraichir.rafraichir(publicationAPersonne); |
} else if (responseValue.isArray() != null) { |
final JSONArray reponse = responseValue.isArray(); |
PublicationAPersonneListe publicationsAPersonneListe = new PublicationAPersonneListe(reponse); |
vueARafraichir.rafraichir(publicationsAPersonneListe); |
} 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 |
PublicationAPersonneListe publicationAPersonneListe = new PublicationAPersonneListe(0); |
vueARafraichir.rafraichir(publicationAPersonneListe); |
} |
} |
}); |
} |
public void ajouterAuteur(String utilisateurid, String idAuteurs, |
String role, String idPublication) { |
44,6 → 83,26 |
}) ; |
} |
public void modifierAuteur(String utilisateurid, String idAuteurs, |
String idPublication) { |
final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl()+SERVICE_NOM+"/" |
+idPublication+"/" |
+idAuteurs+"/" |
+"2360"; |
// auteur 2360 |
JsonRestRequestBuilder rb = new JsonRestRequestBuilder(RequestBuilder.POST, url); |
String postDonneesEncodees = "cpuap_id_publication="+URL.encode(idPublication) |
+"&cmhl_ce_modifier_par="+utilisateurid; |
rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue reponseValeur) { |
traiterReponse(reponseValeur, "auteur_valide"); |
} |
}) ; |
} |
private void traiterReponse(JSONValue reponseValeur, String type) { |
Information info = new Information(type); |
// Si la requête est un succès, reception d'une chaine |
57,5 → 116,4 |
vueARafraichir.rafraichir(info); |
} |
} |
/trunk/src/org/tela_botanica/client/modeles/PersonneAsyncDao.java |
---|
17,6 → 17,7 |
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONParser; |
import com.google.gwt.json.client.JSONValue; |
import com.google.gwt.user.client.Window; |
public class PersonneAsyncDao { |
85,7 → 86,7 |
// et on met à jour le demandeur des données |
vueARafraichir.rafraichir(info); |
} else { |
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un talbeau JSON et vaut : "+responseValue.toString(), null); |
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un tableau JSON et vaut : "+responseValue.toString(), null); |
} |
} else { |
if (response.getText().length() == 0) { |
/trunk/src/org/tela_botanica/client/modeles/PublicationAPersonneListe.java |
---|
New file |
0,0 → 1,29 |
package org.tela_botanica.client.modeles; |
import java.util.LinkedHashMap; |
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONObject; |
public class PublicationAPersonneListe extends LinkedHashMap<String, PublicationAPersonne> { |
private static final long serialVersionUID = -5950583940829919577L; |
public PublicationAPersonneListe(JSONArray auteurs) { |
super(auteurs.size()) ; |
final int taillemax = auteurs.size(); |
for (int i = 0; i < taillemax; i++) { |
JSONObject publicationAPersonneCourante = auteurs.get(i).isObject() ; |
if (publicationAPersonneCourante != null) { |
PublicationAPersonne publicationAPersonne = new PublicationAPersonne(publicationAPersonneCourante); |
this.put(publicationAPersonne.getIdAuteur(), publicationAPersonne); |
} |
} |
} |
public PublicationAPersonneListe(int i) { |
super(i); |
} |
} |
/trunk/src/org/tela_botanica/client/Mediateur.java |
---|
670,6 → 670,14 |
} |
public void rechargerListePublication() { |
if (!(panneauCentre.getContenu() instanceof PublicationVue)) { |
panneauCentre.removeAll(); |
PublicationVue publicationVue = new PublicationVue(this) ; |
panneauCentre.setId(ComposantId.PANNEAU_PUBLICATION_LISTE); |
panneauCentre.add(publicationVue); |
panneauCentre.layout(true); |
} |
masquerPopinChargement(); |
modele.selectionnerPublication(panneauCentre.getContenu(),null,null,null); |
} |
773,10 → 781,15 |
((PopupChargement) Registry.get(RegistreId.POPUP_CHARGEMENT)).hide(); |
} |
public void ajouterAuteurPublication(PublicationForm publicationForm, |
String idAuteurs, String string, String idPublication) { |
// TODO Auto-generated method stub |
public void ajouterAuteurPublication(Rafraichissable vueArafraichir, |
String idAuteurs, String role, String idPublication) { |
modele.ajouterAuteurPublication(vueArafraichir, getUtilisateurId(), idAuteurs, role, idPublication); |
} |
public void modifierAuteurPublication(Rafraichissable vueArafraichir, |
String idAuteurs, String idPublication) { |
modele.modifierAuteurPublication(vueArafraichir, getUtilisateurId(), idAuteurs, idPublication); |
} |
} |
/trunk/src/org/tela_botanica/client/vues/PublicationForm.java |
---|
186,7 → 186,7 |
pagesPub.setFieldLabel("Pages"); |
fieldSetEdition.add(comboListeEditeurs, new FormData(500, 20)); |
fieldSetEdition.add(datePub, new FormData(35, 20)); |
fieldSetEdition.add(datePub, new FormData(40, 20)); |
fieldSetEdition.add(tomPub, new FormData(75, 20)); |
fieldSetEdition.add(fasciculePub, new FormData(75, 20)); |
fieldSetEdition.add(pagesPub, new FormData(100, 20)); |
273,7 → 273,14 |
if (nouvellesInfos.getType().equals("publication_valide")) { |
validationPublication = true; |
idPublication = ""+nouvellesInfos.getDonnee(0); |
mediateur.ajouterAuteurPublication(this,idAuteurs,"2360",idPublication); |
if(mode.equals("AJOUT")) { |
mediateur.ajouterAuteurPublication(this,idAuteurs,"2360",idPublication); |
} |
if(mode.equals("MODIF")) { |
mediateur.modifierAuteurPublication(this,idAuteurs,idPublication); |
} |
} |
if (nouvellesInfos.getType().equals("auteur_valide")) { |
376,6 → 383,8 |
private void genererChampsAuteur(String auteursStr, boolean ajouter) { |
String[] auteurs = auteursStr.split("|"); |
Window.alert("les auteurs sont : "+auteursStr); |
conteneurChamps = new LayoutContainer(); |
if (auteurs.length != 0) { |