Line 34... |
Line 34... |
34 |
|
34 |
|
35 |
public function modifier($ressources, $parametres) {
|
35 |
public function modifier($ressources, $parametres) {
|
36 |
$this->verifierParametres($ressources, $parametres);
|
36 |
$this->verifierParametres($ressources, $parametres);
|
Line 37... |
Line 37... |
37 |
$id_proposition = $ressources[1];
|
37 |
$id_proposition = $ressources[1];
|
38 |
|
- |
|
39 |
$retour = $this->modifierObservationParDetermination($id_proposition, $parametres);
|
- |
|
40 |
|
38 |
|
41 |
if ($retour == false) {
|
39 |
if(!$this->modifierObservationParDetermination($id_proposition, $parametres))
|
42 |
throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);
|
40 |
throw new Exception($e, RestServeur::HTTP_CODE_ERREUR);
|
43 |
} else {
|
41 |
|
44 |
RestServeur::envoyerEnteteStatutHttp(RestServeur::HTTP_CODE_OK);
|
- |
|
Line 45... |
Line 42... |
45 |
}
|
42 |
RestServeur::envoyerEnteteStatutHttp(RestServeur::HTTP_CODE_OK);
|
46 |
}
|
43 |
}
|
47 |
|
44 |
|
48 |
public function verifierParametres($ressources, $parametres) {
|
45 |
public function verifierParametres($ressources, $parametres) {
|
Line 64... |
Line 61... |
64 |
}
|
61 |
}
|
Line 65... |
Line 62... |
65 |
|
62 |
|
66 |
|
63 |
|
- |
|
64 |
private function modifierObservationParDetermination($id_proposition, $parametres) {
|
- |
|
65 |
$informations_proposition = self::obtenirInformationDetermination($this->bdd, $id_proposition, $parametres['auteur.id']);
|
- |
|
66 |
if(! $informations_proposition) {
|
- |
|
67 |
throw new Exception("Cette proposition est invalide.", RestServeur::HTTP_CODE_ERREUR);
|
67 |
private function modifierObservationParDetermination($id_proposition, $parametres) {
|
68 |
}
|
68 |
$informations_proposition = self::obtenirInformationDetermination($this->bdd, $id_proposition, $parametres['auteur.id']);
|
69 |
|
69 |
$id_observation = $informations_proposition['ce_observation'];
|
70 |
$id_observation = $informations_proposition['ce_observation'];
|
70 |
// obtenirInformationsObservation()
|
71 |
// obtenirInformationsObservation()
|
71 |
$informations_observation = $this->bdd->recuperer(sprintf('SELECT * FROM del_observation WHERE id_observation = %d',
|
72 |
$informations_observation = $this->bdd->recuperer(sprintf('SELECT * FROM del_observation WHERE id_observation = %d',
|
72 |
intval($id_observation)));
|
73 |
intval($id_observation)));
|
73 |
$est_autorise = $this->comparerAuteurObservationUtilisateurIdentifie($informations_observation['ce_utilisateur']);
|
74 |
$est_autorise = $this->comparerAuteurObservationUtilisateurIdentifie($informations_observation['ce_utilisateur']);
|
74 |
if(! $est_autorise) {
|
75 |
if(! $est_autorise) {
|
75 |
throw new Exception("Seul l'utilisateur ayant saisi l'observation peut la valider : veuillez vous identifier.\n",
|
- |
|
76 |
RestServeur::HTTP_CODE_ERREUR);
|
76 |
throw new Exception("Seul l'utilisateur ayant saisi l'observation peut la valider : veuillez vous identifier.\n",
|
Line 77... |
Line 77... |
77 |
return;
|
77 |
RestServeur::HTTP_CODE_ERREUR);
|
- |
|
78 |
}
|
78 |
}
|
79 |
|
- |
|
80 |
$informations_proposition['ce_utilisateur'] = $informations_observation['ce_utilisateur'];
|
- |
|
81 |
|
- |
|
82 |
$ret = $this->envoyerRequeteModificationObservation($id_observation, $informations_proposition);
|
- |
|
83 |
// cf cel/jrest/services/CelValidationObservation.php::updateElement()
|
- |
|
84 |
// TODO: check sur HTTP code == 200, plutôt que sur texte
|
- |
|
85 |
if($ret == 'ok' || $ret == 'OK') {
|
- |
|
86 |
// remet à 0 le status "proposition_retenue" pour toutes les propositions faites sur cette
|
- |
|
87 |
// observation à l'exception de celle désormais validée
|
- |
|
88 |
$this->bdd->requeter(sprintf('UPDATE del_commentaire SET proposition_retenue = IF(id_commentaire = %d, 1, 0)' .
|
- |
|
89 |
' WHERE ce_observation = %d -- %s',
|
79 |
|
90 |
$informations_proposition['id_commentaire'], $id_observation, __FILE__ . ':' . __LINE__));
|
Line 80... |
Line 91... |
80 |
$informations_proposition['ce_utilisateur'] = $informations_observation['ce_utilisateur'];
|
91 |
}
|
81 |
return $this->envoyerRequeteModificationObservation($id_observation, $informations_proposition);
|
92 |
return $ret;
|
82 |
}
|
93 |
}
|