Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1443 → Rev 1444

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