1 |
<?php |
2 |
/** |
3 |
* Ce fichier permet de déclarer la classe consultations, ressource exposée à |
4 |
* travers l'interface REST qui hérite de la classe de base Services. |
5 |
* |
6 |
* @package openfoncier |
7 |
* @version SVN : $Id$ |
8 |
*/ |
9 |
|
10 |
// Inclusion de la classe de base Services |
11 |
include_once('./REST/services.php'); |
12 |
|
13 |
// Inclusion de la classe consultationManager qui effectue le traitement métier |
14 |
include_once('./metier/consultationmanager.php'); |
15 |
|
16 |
/** |
17 |
* Cette classe définie la ressource 'consultations' qui permet d'exposer : la |
18 |
* saisie d'un retour d'avis sur une consultation par un service interne à la |
19 |
* mairie qui souhaite interfacer cette action dans son propre logiciel (ERP). |
20 |
*/ |
21 |
class consultations extends Services { |
22 |
|
23 |
/** |
24 |
* Constructeur |
25 |
*/ |
26 |
public function __construct() { |
27 |
|
28 |
// Appel du constructeur parent |
29 |
parent::__construct(); |
30 |
|
31 |
// Initialisation de l'attribut contents avec les clés qui doivent être |
32 |
// récupérées dans les données JSON reçues |
33 |
$this->contents['date_retour'] = ''; |
34 |
$this->contents['avis'] = ''; |
35 |
|
36 |
} |
37 |
|
38 |
/** |
39 |
* Destructeur |
40 |
*/ |
41 |
public function __destruct() { |
42 |
|
43 |
// Appel du destructeur parent |
44 |
parent::__destruct(); |
45 |
|
46 |
} |
47 |
|
48 |
/** |
49 |
* Cette méthode permet de définir le traitement du PUT sur une requête |
50 |
* REST. Elle vérifie la validité du format des données reçues, effectue le |
51 |
* traitement et retourne le résultat. |
52 |
* |
53 |
* @param mixed $request_data Les données JSON reçues (voir @uses) |
54 |
* @param string $id L'identifiant de la ressource |
55 |
*/ |
56 |
public function put($request_data, $id) { |
57 |
|
58 |
// Vérification de l'existence de l'ID de la requête REST |
59 |
// Si l'id d'est pas présent, on retourne un code 400 |
60 |
if (!$id || empty($id)) { |
61 |
return $this->sendHttpCode(400, "Aucun id fourni pour la ressource."); |
62 |
} |
63 |
|
64 |
// Vérification de la validité du format des données de la requête REST |
65 |
// Si le format n'est pas correct, on retourne un code 400 |
66 |
$optional = array('motivation', 'nom_fichier', 'fichier_base64'); |
67 |
if (!$this->requestValid($request_data, $optional)) { |
68 |
return $this->sendHttpCode(400, "Le format des données reçues n'est pas correct."); |
69 |
} |
70 |
|
71 |
// Instanciation de la classe qui s'occupe du traitement métier |
72 |
$this->metier_manager = new ConsultationManager(); |
73 |
|
74 |
// Exécution du traitement |
75 |
$ret = $this->metier_manager->consultationDecision($request_data, $id); |
76 |
|
77 |
// Gestion du retour en fonction du résultat |
78 |
return $this->sendReply($ret, $this->metier_manager->getMessage()); |
79 |
|
80 |
} |
81 |
|
82 |
} |
83 |
|
84 |
?> |