Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1443 → Rev 1444

/trunk/services/modules/0.1/observations/ListeObservations2.php
481,6 → 481,10
'(vdi.mots_cles_texte IS NULL OR vdi.mots_cles_texte NOT LIKE "%aDeterminer%"',
)) . ')';
}
if(array_key_exists('validees', $val)) {
//On récupère toutes les observations ayant un commentaire doté de proposition_retenue = 1
$req['join'][] = 'INNER JOIN del_commentaire AS dc ON vdi.id_observation = dc.ce_observation AND dc.proposition_retenue = 1';
}
 
// solution n°1: impraticable
if(false && array_key_exists('endiscussion', $val)) {
704,10 → 708,10
$p['masque.tag'] = implode('|', array_filter($x));
}
 
// masque.type: ['adeterminer', 'aconfirmer', 'endiscussion']
// masque.type: ['adeterminer', 'aconfirmer', 'endiscussion', 'validees']
if(isset($params['masque.type'])) {
$p['masque.type'] = array_flip(array_intersect(array_filter(explode(';', $params['masque.type'])),
array('adeterminer', 'aconfirmer', 'endiscussion')));
array('adeterminer', 'aconfirmer', 'endiscussion', 'validees')));
}
 
 
/trunk/services/modules/0.1/determinations/ValiderDetermination.php
36,13 → 36,10
$this->verifierParametres($ressources, $parametres);
$id_proposition = $ressources[1];
$retour = $this->modifierObservationParDetermination($id_proposition, $parametres);
if ($retour == false) {
if(!$this->modifierObservationParDetermination($id_proposition, $parametres))
throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);
} else {
RestServeur::envoyerEnteteStatutHttp(RestServeur::HTTP_CODE_OK);
}
 
RestServeur::envoyerEnteteStatutHttp(RestServeur::HTTP_CODE_OK);
}
public function verifierParametres($ressources, $parametres) {
66,6 → 63,10
private function modifierObservationParDetermination($id_proposition, $parametres) {
$informations_proposition = self::obtenirInformationDetermination($this->bdd, $id_proposition, $parametres['auteur.id']);
if(! $informations_proposition) {
throw new Exception("Cette proposition est invalide.", RestServeur::HTTP_CODE_ERREUR);
}
 
$id_observation = $informations_proposition['ce_observation'];
// obtenirInformationsObservation()
$informations_observation = $this->bdd->recuperer(sprintf('SELECT * FROM del_observation WHERE id_observation = %d',
74,11 → 75,21
if(! $est_autorise) {
throw new Exception("Seul l'utilisateur ayant saisi l'observation peut la valider : veuillez vous identifier.\n",
RestServeur::HTTP_CODE_ERREUR);
return;
}
 
$informations_proposition['ce_utilisateur'] = $informations_observation['ce_utilisateur'];
return $this->envoyerRequeteModificationObservation($id_observation, $informations_proposition);
 
$ret = $this->envoyerRequeteModificationObservation($id_observation, $informations_proposition);
// cf cel/jrest/services/CelValidationObservation.php::updateElement()
// TODO: check sur HTTP code == 200, plutôt que sur texte
if($ret == 'ok' || $ret == 'OK') {
// remet à 0 le status "proposition_retenue" pour toutes les propositions faites sur cette
// observation à l'exception de celle désormais validée
$this->bdd->requeter(sprintf('UPDATE del_commentaire SET proposition_retenue = IF(id_commentaire = %d, 1, 0)' .
' WHERE ce_observation = %d -- %s',
$informations_proposition['id_commentaire'], $id_observation, __FILE__ . ':' . __LINE__));
}
return $ret;
}
private function comparerAuteurObservationUtilisateurIdentifie($ce_utilisateur) {