Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 740 → Rev 741

/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) {
/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);
}
 
}