From 87739b67c858918cc3c0e8d4aaabe9ed4527872b Mon Sep 17 00:00:00 2001 From: Armand Bahi <armand.bahi@veremes.com> Date: Wed, 12 Dec 2018 11:35:59 +0100 Subject: [PATCH] Fix public user mixed modes --- vas/rest/ws/vitis/Modes.class.inc | 36 +++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/vas/rest/ws/vitis/Modes.class.inc b/vas/rest/ws/vitis/Modes.class.inc index c838ebe1..4aaac574 100644 --- a/vas/rest/ws/vitis/Modes.class.inc +++ b/vas/rest/ws/vitis/Modes.class.inc @@ -9,7 +9,7 @@ * \brief This file contains the Modes php class * * This class defines Rest Api to Vitis modes - * + * */ require_once 'Vitis.class.inc'; require_once __DIR__ . '/../../class/vitis_lib/Connection.class.inc'; @@ -132,8 +132,8 @@ class Modes extends Vitis { function GET() { if ($this->oConnection->oError == null) { if (!empty($this->aProperties["public_token"]) && $this->aProperties["allow_public_connection"] === true){ - if($this->aProperties["public_token"] === $this->aValues['token']){ - $this->aValues["filter"] = '{"relation": "AND","operators":[{"column": "mode_id","compare_operator": "<>","value": "user"}]}'; + if($this->aProperties["public_token"] === $this->aValues['token']) { + $this->aValues["filter"] = $this->getPublicUserFilter(); } } if (isset($this->aValues['action']) && !empty($this->aValues['action'])) { @@ -170,6 +170,34 @@ class Modes extends Vitis { return $sMessage; } + /** + * Get the public user JSON filter + * + * @return {type} string + */ + function getPublicUserFilter(){ + + $aFilter = array( + 'relation' => 'AND', + 'operators' => array() + ); + + // Filtre passé dans l'URL + if (!empty($this->aValues["filter"])) { + $aRequestFilter = json_decode($this->aValues["filter"]); + array_push($aFilter['operators'], $aRequestFilter); + } + + // Filtre public_user + array_push($aFilter['operators'], array( + 'column' => 'mode_id', + 'compare_operator' => '<>', + 'value' => 'user' + )); + + return json_encode($aFilter); + } + /** * @SWG\Put(path="/modes/sorting", * tags={"Modes"}, @@ -235,4 +263,4 @@ class Modes extends Vitis { } -?> \ No newline at end of file +?> -- GitLab