Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 2216 → Rev 2217

/trunk/services/modules/0.1/tepik/ObservationDetails.php
30,10 → 30,10
$this->bdd = $this->conteneur->getBdd();
$this->sql = $this->conteneur->getSql();
 
$this->mappings['observations'] = $this->conteneur->getParametreTableau('observations.mapping');
$this->mappings['observations'] = $this->conteneur->getParametreTableau('observations.tepik');
$this->mappings['images'] = $this->conteneur->getParametreTableau('images.mapping');
$this->mappings['votes'] = $this->conteneur->getParametreTableau('votes.mapping');
$this->mappings['commentaires'] = $this->conteneur->getParametreTableau('commentaires.mapping');
$this->mappings['votes'] = $this->conteneur->getParametreTableau('votes.tepik');
$this->mappings['commentaires'] = $this->conteneur->getParametreTableau('commentaires.tepik');
// les deux alias suivants sont particuliers afin d'éviter un conflit d'alias lors des jointures avec del_commentaire_vote
$this->mappings['commentaires']['ce_utilisateur'] = '__auteur_com';
$this->mappings['commentaires']['date'] = '__date_com';
173,37 → 173,5
}
}
 
/**
* Modifie une observation directement dans le CEL en faisant un appel à un web service du CEL.
* Utilisé uniquement par les admins.
* Permet de dépublier une observation.
*
* @param array $ressources tableau des informations contenues dans l'url après le nom du service
* @param array $parametres contenu du post
* @return mixed Chaine "OK" (en majuscule) en cas de succès, booléen "false" en cas d'échec
*/
public function modifier($ressources, $parametres) {
$gestionUtilisateurs = $this->conteneur->getUtilisateur();
$gestionUtilisateurs->etreUtilisateurAvecDroitAdmin();
 
$retour = false;
if (isset($parametres['transmission'])) {
$idObs = $ressources[0];
$clientRest = $this->conteneur->getRestClient();
$urlTpl = $this->conteneur->getParametre('urlServiceCelObs');
$url = $urlTpl.$idObs;
$retourCel = $clientRest->modifier($url, $parametres);
$retour = preg_match('/^OK$/i', $retourCel) ? 'OK' : false;
if ($retour === false) {
$message = "Erreur du web service CEL : ".$retourCel;
$code = RestServeur::HTTP_CODE_MAUVAISE_REQUETE;
throw new Exception($message, $code);
}
} else {
$message = "Ce web service doit contenir un paramètre 'transmission'.";
$code = RestServeur::HTTP_CODE_MAUVAISE_REQUETE;
throw new Exception($message, $code);
}
return $retour;
}
}
/trunk/services/modules/0.1/tepik/ListeObservations.php
45,8 → 45,8
$this->sql = $this->conteneur->getSql();
$this->navigation = $this->conteneur->getNavigation();
 
$this->mappings['votes'] = $this->conteneur->getParametreTableau('votes.mapping');
$this->mappings['commentaires'] = $this->conteneur->getParametreTableau('commentaires.mapping');
$this->mappings['votes'] = $this->conteneur->getParametreTableau('votes.tepik');
$this->mappings['commentaires'] = $this->conteneur->getParametreTableau('commentaires.tepik');
}
 
public function consulter($ressources, $parametres) {
/trunk/services/modules/0.1/Tepik.php
40,7 → 40,7
* @copyright 1999-2014 Tela Botanica <accueil@tela-botanica.org>
*/
 
class Observations extends RestService {
class Tepik extends RestService {
 
private $parametres = array();
private $ressources = array();
64,17 → 64,7
return $this->executerService();
}
 
public function ajouter($ressources, $requeteDonnees) {
$this->methode = 'ajouter';
$this->initialiserRessourcesEtParametres($ressources, $requeteDonnees);
return $this->executerService();
}
 
public function modifier($ressources, $requeteDonnees) {
$this->methode = 'modifier';
$this->initialiserRessourcesEtParametres($ressources, $requeteDonnees);
return $this->executerService();
}
 
private function executerService() {
$reponseHttp = new ReponseHttp();
104,9 → 94,7
private function analyserRessources() {
if ($this->methode == 'consulter') {
$this->analyserRessoucesConsultation();
} else if ($this->methode == 'modifier' || $this->methode == 'ajouter') {
$this->analyserRessoucesModification();
}
}
}
 
private function analyserRessoucesConsultation() {
186,10 → 174,6
$service = new $classe($this->conteneur);
if ($this->methode == 'consulter') {
$retour = $service->consulter($this->ressources, $this->parametres);
} elseif ($this->methode == 'ajouter') {
$retour = $service->ajouter($this->ressources, $this->parametres);
} elseif ($this->methode == 'modifier') {
$retour = $service->modifier($this->ressources, $this->parametres);
} else {
$message = "Le sous-service '{$this->sousServiceNom}' du service '{$this->serviceNom}' ".
"ne possède pas de méthode '{$this->methode}' !";
/trunk/services/configurations/config.defaut.ini
160,7 → 160,23
nom_referentiel = nom_referentiel,
proposition_initiale = proposition_initiale,
proposition_retenue = proposition_retenue"
 
; Mapping champs JSON / champs base de données pour Tepik:
tepik = "
id_commentaire = id_commentaire,
ce_observation = observation,
ce_proposition = proposition,
ce_commentaire_parent = id_parent,
ce_utilisateur = auteur.id,
texte = texte,
utilisateur_nom = auteur.nom,
utilisateur_prenom = auteur.prenom,
date = date,
nom_sel = nom_sel,
nom_sel_nn = nom_sel_nn,
nom_ret_nn = nom_ret_nn,
nom_referentiel = nom_referentiel,
proposition_initiale = proposition_initiale,
proposition_retenue = proposition_retenue"
[communes]
; Masque de filtrage possible pour la consultation :
masques_possibles = "masque.nom"
276,6 → 292,27
nom_utilisateur = auteur.nom,
prenom_utilisateur = auteur.prenom,
courriel_utilisateur = auteur.courriel"
; Mapping champs JSON / champs base de données pour Tepik :
tepik = "
id_observation = id_observation,
date_observation = date_observation,
date_transmission = date_transmission,
famille = determination.famille,
nom_sel = determination.ns,
nom_sel_nn = determination.nn,
nt = determination.nt,
nom_referentiel = determination.referentiel,
pays = pays,
ce_zone_geo = id_zone_geo,
zone_geo = zone_geo,
lieudit = lieudit,
station = station,
milieu = milieu,
mots_cles_texte = mots_cles_texte,
commentaire = commentaire,
ce_utilisateur = auteur.id,
nom_utilisateur = auteur.nom,
prenom_utilisateur = auteur.prenom"
; Texte du tag "à déterminer"
tag_adeterminer = aDeterminer
; Permet d'indiquer le nombre de commentaire nécessaire pour que l'observation apparaisse dans l'onglet "En discussion" d'IdentiPlante.
325,6 → 362,22
descriptif = protocole.descriptif,
tag = protocole.tag,
mots_cles = protocole.mots_cles"
; Mapping champs JSON / champs base de données pour Tepik :
tepik = "
id_vote = vote.id,
valeur = vote,
ce_protocole = protocole.id,
ce_proposition = proposition.id,
ce_image = image.id,
ce_utilisateur = auteur.id,
nom = auteur.nom,
prenom = auteur.prenom,
date = date,
id_protocole = protocole.id,
intitule = protocole.intitule,
descriptif = protocole.descriptif,
tag = protocole.tag,
mots_cles = protocole.mots_cles"
 
[protocoles]
; Mapping champs JSON / champs base de données :