From 5e3dd057a7ec0b77bb20d1ce735e4dbcbb94fc68 Mon Sep 17 00:00:00 2001
From: Armand Bahi <armand.bahi@veremes.com>
Date: Wed, 5 Dec 2018 12:16:19 +0100
Subject: [PATCH] Resolve "[API] Erreurs sur vitis/privileges sans droits
 d'admin"

---
 src/vitis/vas/rest/ws/vitis/Privileges.class.inc | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/vitis/vas/rest/ws/vitis/Privileges.class.inc b/src/vitis/vas/rest/ws/vitis/Privileges.class.inc
index 2c408ff4..9d185656 100755
--- a/src/vitis/vas/rest/ws/vitis/Privileges.class.inc
+++ b/src/vitis/vas/rest/ws/vitis/Privileges.class.inc
@@ -9,7 +9,7 @@
  * 	\brief This file contains the Modes php class
  *
  * This class defines Rest Api to Vitis Privileges
- * 
+ *
  */
 require_once 'Vitis.class.inc';
 require_once __DIR__ . '/../../class/vitis_lib/Connection.class.inc';
@@ -121,6 +121,13 @@ class Privileges extends Vitis {
      * @return  Privileges
      */
     function GET() {
+        // Privilège "vitis_admin" requis.
+        if (!in_array('vitis_admin', $this->oConnection->aPrivileges)) {
+            $oError = new VitisError(1, "Rights problem : you don't have right list privileges");
+            $aXmlRacineAttribute['status'] = 0;
+            $sMessage = $oError->asDocument('', 'vitis', $this->aValues['sEncoding'], True, $aXmlRacineAttribute, $this->aValues['sSourceEncoding'], $this->aValues['output']);
+            return $sMessage;
+        }
         $aReturn = $this->genericGet($this->aProperties['schema_framework'], "privileges", "rolname");
         return $aReturn['sMessage'];
     }
@@ -277,4 +284,4 @@ class Privileges extends Vitis {
 
 }
 
-?>
\ No newline at end of file
+?>
-- 
GitLab