Gestion des modules en BDD avec vérification des modules autorisés pour un entrepot
This commit is contained in:
parent
6458f831aa
commit
02e30d3293
|
@ -40,6 +40,22 @@
|
|||
}
|
||||
},
|
||||
|
||||
"download": {
|
||||
|
||||
"multiple": {
|
||||
"description": "Download des données relatives aux sujets donnés.",
|
||||
"permissions": ["admin"],
|
||||
"options": { "download": true },
|
||||
"parameters": {
|
||||
"subjects": { "description": "Identifiants des sujets d'enquêtes à intégrer.", "type": "array<id>", "optional": true },
|
||||
"phone": { "description": "Si vaut TRUE, renvoie les sujets cellulaires.", "type": "boolean", "optional": true },
|
||||
"facebook": { "description": "Si vaut TRUE, renvoie les sujet facebook.", "type": "boolean", "optional": true },
|
||||
"survey": { "description": "Si vaut TRUE, renvoie les sujets ResTIC.", "type": "boolean", "optional": true },
|
||||
"all": { "description": "Si vaut TRUE, renvoie tous les sujets enregistrés.", "type": "boolean", "optional": true }
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"authentificationDefault": {
|
||||
"warehouse": {
|
||||
"description": "Connexion de premier niveau : entrepot.",
|
||||
|
@ -62,22 +78,6 @@
|
|||
}
|
||||
},
|
||||
|
||||
"download": {
|
||||
|
||||
"multiple": {
|
||||
"description": "Download des données relatives aux sujets donnés.",
|
||||
"permissions": ["admin"],
|
||||
"options": { "download": true },
|
||||
"parameters": {
|
||||
"subjects": { "description": "Identifiants des sujets d'enquêtes à intégrer.", "type": "array<id>", "optional": true },
|
||||
"phone": { "description": "Si vaut TRUE, renvoie les sujets cellulaires.", "type": "boolean", "optional": true },
|
||||
"facebook": { "description": "Si vaut TRUE, renvoie les sujet facebook.", "type": "boolean", "optional": true },
|
||||
"survey": { "description": "Si vaut TRUE, renvoie les sujets ResTIC.", "type": "boolean", "optional": true },
|
||||
"all": { "description": "Si vaut TRUE, renvoie tous les sujets enregistrés.", "type": "boolean", "optional": true }
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
||||
"userDefault": {
|
||||
|
|
|
@ -57,6 +57,8 @@
|
|||
"getByName",
|
||||
"getByToken",
|
||||
|
||||
"getModules",
|
||||
|
||||
"updateToken"
|
||||
],
|
||||
|
||||
|
|
|
@ -78,16 +78,20 @@
|
|||
if( self::auth() >= 1 ){
|
||||
$checkRoot = new Repo('warehouse/getByToken', [ $_SESSION['AUTH'][0] ]);
|
||||
|
||||
// Si le token n'existe pas
|
||||
/* (1) Si le token n'existe pas, on retourne une erreur */
|
||||
if( count($checkRoot->answer()) < 1 )
|
||||
return false;
|
||||
|
||||
// On met à jour les informations
|
||||
/* (2) On met à jour les informations de l'entrepot */
|
||||
$_SESSION['WAREHOUSE'] = [
|
||||
'id' => (int) $checkRoot->answer()[0]['id_warehouse'],
|
||||
'name' => $checkRoot->answer()[0]['name'],
|
||||
'modules' => ['upload', 'method']
|
||||
'name' => $checkRoot->answer()[0]['name']
|
||||
];
|
||||
|
||||
/* (3) On récupère les modules de l'entrepot */
|
||||
$getModules = new Repo('warehouse/getModules', [ $_SESSION['WAREHOUSE']['id'] ]);
|
||||
|
||||
$_SESSION['WAREHOUSE']['modules'] = $getModules->answer();
|
||||
}
|
||||
|
||||
/* [3] Si authentification double
|
||||
|
@ -95,15 +99,15 @@
|
|||
if( self::auth() >= 2 ){
|
||||
$checkBranch = new Repo('admin/getByToken', [ $_SESSION['AUTH'][1] ]);
|
||||
|
||||
// Si le token n'existe pas
|
||||
/* (1) Si le token n'existe pas, on retourne une erreur */
|
||||
if( count($checkBranch->answer()) < 1 )
|
||||
return false;
|
||||
|
||||
// Si pas administrateur de l'entrepot
|
||||
/* (2) Si pas administrateur de l'entrepot, on retourne une erreur */
|
||||
if( $checkBranch->answer()[0]['id_warehouse'] != $_SESSION['WAREHOUSE']['id'] )
|
||||
return false;
|
||||
|
||||
// On met à jour les informations
|
||||
/* (3) On met à jour les informations de l'administrateur */
|
||||
$_SESSION['ADMIN'] = [
|
||||
'id' => (int) $checkBranch->answer()[0]['id_admin'],
|
||||
'username' => $checkBranch->answer()[0]['username'],
|
||||
|
|
|
@ -100,6 +100,44 @@
|
|||
|
||||
|
||||
|
||||
/* RETOURNE LA LISTE DES MODULE D'UN ENTREPOT
|
||||
*
|
||||
* @return modules<Array> Liste des modules autorisés pour l'entrepot
|
||||
*
|
||||
*/
|
||||
public static function getModules($id_warehouse){
|
||||
/* [1] On récupère les modules
|
||||
=========================================================*/
|
||||
$getModules = Database::getPDO()->prepare("SELECT m.name
|
||||
FROM warehouse_module as wm, module as m
|
||||
WHERE wm.id_module = m.id_module
|
||||
AND wm.id_warehouse = :id_warehouse
|
||||
ORDER BY m.name ASC");
|
||||
|
||||
$getModules->execute([
|
||||
':id_warehouse' => $id_warehouse
|
||||
]);
|
||||
|
||||
$modules = $getModules->fetchAll();
|
||||
|
||||
/* [2] On formatte les données pour avoir 1 niveau de tableau
|
||||
=========================================================*/
|
||||
foreach($modules as $m=>$module)
|
||||
$modules[$m] = $module['name'];
|
||||
|
||||
|
||||
/* [3] On retourne la liste
|
||||
=========================================================*/
|
||||
return Database::delNumeric( $modules );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* MODIFICATION D'UN ENTREPOT
|
||||
*
|
||||
* @id_warehouse<int> UID de l'entrepot
|
||||
|
|
Loading…
Reference in New Issue