1,40 → 1,41 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* PHP Version 5.2 |
* |
* @category PHP |
* @package jrest |
* @author Raphaël Droz <raphael@tela-botanica.org> |
* @author Aurelien Peronnet <aurelien@tela-botanica.org> |
* @copyright 2010, 2013 Tela-Botanica |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt> |
* @link /doc/jrest/ |
* |
* InventoryObservationList.php |
* Cas d'utilisation : |
* 1: Service recherche d'observations a partir de divers critères |
* GET : Service recherche d'observations a partir de divers critères |
* a: Le service recherche les observations correspondant aux critères demandés |
* b: Le service renvoie la liste des observations correspondantes |
* |
* 2: Service modification en masse d'observations |
* POST : Service modification en masse d'observations |
* a: Le service recherche les observations correspondant aux identifiants donnés |
* b: Le service modifie les observations correspondantes avec les infos données en paramètres |
* |
* 3: Service de suppression d'observations en masse |
* DELETE : Service de suppression d'observations en masse |
* a: Le service recherche les observations correspondant aux critères demandés |
* b: Le service supprime la liste des observations correspondantes |
* |
* @internal Mininum PHP version : 5.2 |
* @category CEL |
* @package Services |
* @subpackage Mots-clés |
* @version 0.1 |
* @author Mathias CHOUET <mathias@tela-botanica.org> |
* @author Raphaël Droz <raphael@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @author Aurelien PERONNET <aurelien@tela-botanica.org> |
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt> |
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt> |
* @copyright 1999-2014 Tela Botanica <accueil@tela-botanica.org> |
*/ |
class InventoryObservationList extends Cel { |
|
/** |
* renvoie les observations correspondant au critères de filtrage |
* Renvoie les observations correspondant au critères de filtrage |
* |
* uid[0] : utilisateur obligatoire |
* uid[1] : criteres de filtrage de la forme critere1=valeur1&critere2=valeur2 |
*/ |
function getElement($uid) |
{ |
public function getElement($uid) { |
// Controle detournement utilisateur |
$this->controleUtilisateur($uid[0]); |
|
68,8 → 69,7 |
* uid[1] : ordres des observations à modifier séparés par des virgules |
* pairs : données à mettre à jour sous la forme de clés => valeurs |
*/ |
function updateElement($uid,$pairs) { |
|
public function updateElement($uid,$pairs) { |
// Controle detournement utilisateur |
$this->controleUtilisateur($uid[0]); |
|
90,20 → 90,16 |
|
// cas de mise à jour de multiples observations: |
$ret = GestionObservation::modifierMultiplesObservation($uid[0], $obs, $pairs); |
if($ret === FALSE) return FALSE; // JRest::badRequest(); |
if ($ret === false) { |
return false; // JRest::badRequest(); |
} |
if($ret === 0) { |
header('HTTP/1.0 304 Not Modified'); |
die; |
} |
|
} else { |
header('HTTP/1.0 200 OK'); // et non pas une 201 ! |
// die(); // non, car incompatible avec PHPUnit |
// throw(new Exception()); // non, lance une 400 (cf JRest::updateElement()) |
// return TRUE; // non, lance une 201 |
// return FALSE; // non, lance une 400 |
|
die; // tant pis |
} |
die(); |
} |
|
/** |
* Supprime une liste d'observations |
111,8 → 107,7 |
* uid[0] : utilisateur obligatoire |
* uid[1] : ordres des observations à supprimer séparés par des virgules |
*/ |
function deleteElement($uid) |
{ |
public function deleteElement($uid) { |
// Controle detournement utilisateur |
$this->controleUtilisateur($uid[0]); |
|
120,25 → 115,22 |
//TODO: envoyer un message d'erreur |
return; |
} |
|
$uid[1] = rtrim($uid[1],','); |
|
$gestionnaire_observation = new GestionObservation($this->config); |
$gestionnaireObs = new GestionObservation($this->config); |
$tableau_ordres = explode(',', $uid[1]); |
foreach($tableau_ordres as $ordre) { |
$ids_obs[] = $gestionnaire_observation->renvoyerIdPourOrdre($uid[0], $ordre); |
$ids_obs[] = $gestionnaireObs->renvoyerIdPourOrdre($uid[0], $ordre); |
} |
|
$suppression_observations = $gestionnaire_observation->supprimerObservation($uid[0],$uid[1]); |
$suppression_observations = $gestionnaireObs->supprimerObservation($uid[0], $uid[1]); |
|
$gestion_champs_etendus = new GestionChampsEtendus($this->config, 'obs'); |
$champs_supp = $gestion_champs_etendus->viderParLots($ids_obs); |
$gestionnaireChampsEtendus = new GestionChampsEtendus($this->config, 'obs'); |
$gestionnaireChampsEtendus->viderParLots($ids_obs); |
|
if ($suppression_observations) { |
echo "OK"; |
echo 'OK'; |
} |
|
exit() ; |
} |
} |
?> |
} |