Gestion des authorisations 'admin' + 'warehouse' complétée
This commit is contained in:
parent
4a412db81a
commit
e807879d09
|
@ -144,7 +144,7 @@
|
|||
|
||||
"getById": {
|
||||
"description": "Retourne un utilisateur spécifique.",
|
||||
"permissions": ["warehouse"],
|
||||
"permissions": ["warehouse", "admin"],
|
||||
"parameters": {
|
||||
"id_user": { "description": "UID de l'utilisateur.", "type": "id" }
|
||||
},
|
||||
|
|
|
@ -57,6 +57,20 @@
|
|||
"getByName",
|
||||
"getByToken",
|
||||
|
||||
"updateToken"
|
||||
],
|
||||
|
||||
"admin": [
|
||||
"create",
|
||||
"edit",
|
||||
"delete",
|
||||
|
||||
"getAll",
|
||||
"getById",
|
||||
"getByUsername",
|
||||
"getByMail",
|
||||
"getByToken",
|
||||
|
||||
"updateToken"
|
||||
]
|
||||
|
||||
|
|
|
@ -142,7 +142,6 @@
|
|||
if( !in_array($permission, $_SESSION['PERM']) )
|
||||
return false;
|
||||
|
||||
var_dump('warehouse: ok');
|
||||
|
||||
/* [3] Si on a toutes les permissions requises
|
||||
=========================================================*/
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
/* [1] Creation de la machine
|
||||
=========================================================*/
|
||||
$create_machine = new Repo('machine/create', [$code, $name];
|
||||
$create_machine = new Repo('machine/create', [$code, $name]);
|
||||
$id_machine = $create_machine->answer();
|
||||
|
||||
// Si une erreur est retournee, on retourne une erreur
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
$check_unique = count(self::getByUsername($username)) == 0;
|
||||
$check_unique = $check_unique && count(self::getByMail($mail)) == 0;
|
||||
|
||||
|
||||
// Si un administrateur a deja cet identifiant ou mail, on renvoie une erreur
|
||||
if( !$check_unique )
|
||||
return false;
|
||||
|
@ -40,12 +41,13 @@
|
|||
':token' => sessionManager::secure_sha1( uniqid() )
|
||||
]);
|
||||
|
||||
|
||||
/* [3] On retourne l'id_admin ou FALSE si erreur
|
||||
=========================================================*/
|
||||
$check_admin = self::getByUsername($username);
|
||||
|
||||
// Si n'existe pas on retourne FALSE
|
||||
if( !isset($check_admin[0]) || !is_array($check_admin[0]) )
|
||||
if( count($check_admin) == 0 )
|
||||
return false;
|
||||
|
||||
// Sinon, on retourne son id
|
||||
|
@ -116,26 +118,29 @@
|
|||
public static function edit($id_admin=null, $username=null, $mail=null, $password=null){
|
||||
/* [1] Verification de l'unicite du nom (name) (si different)
|
||||
=========================================================*/
|
||||
// On recupere les administrateurs ayant le meme nom (si existent)
|
||||
// pour éviter les collisions (car le nom doit être unique)
|
||||
$getbyuname = self::getByUsername($username);
|
||||
// On recupere les administrateurs ayant le meme identifant ou mail (si existent)
|
||||
// pour éviter les collisions (car l'identifiant et le mail doivent être uniques)
|
||||
$getbyuname = self::getByUsername($username);
|
||||
$getbymail = self::getByMail($mail);
|
||||
|
||||
$check_unique = is_array($getbyuname) && $getbyuname['id_user'] == $id_user || !is_array($getbyuname);
|
||||
$check_unique = count($getbyuname) > 0 && $getbyuname['id_user'] == $id_user || !is_array($getbyuname);
|
||||
$check_unique = $check_unique && count($getbymail) > 0 && $getbymail['id_user'] == $id_user || !is_array($getbymail);
|
||||
|
||||
// Si un utilisateur a deja ce code ou cet username (sauf lui), on renvoie une erreur
|
||||
// Si un administrateur a deja cet identifiant ou ce mail (excepté lui-même), on renvoie une erreur
|
||||
if( !$check_unique )
|
||||
return false;
|
||||
|
||||
/* [2] Modification de l'utilisateur
|
||||
=========================================================*/
|
||||
$edit_admin = Database::getPDO()->prepare("UPDATE admin
|
||||
SET name = :name,
|
||||
password = :password
|
||||
SET username = :username,
|
||||
mail = :mail,
|
||||
password = :password
|
||||
WHERE id_admin = :id_admin");
|
||||
$edit_admin->execute([
|
||||
':name' => $name,
|
||||
':password' => $password,
|
||||
':username' => $username,
|
||||
':mail' => $mail,
|
||||
':password' => $password,
|
||||
':id_admin' => $id_admin
|
||||
]);
|
||||
|
||||
|
|
|
@ -313,11 +313,15 @@
|
|||
|
||||
function createWarehouse(){
|
||||
|
||||
$insert = new Repo('warehouse/create', array( 'FifthWarehouse', 'MyPassword' ) );
|
||||
$insert = new Repo('admin/create', [
|
||||
'FirstAdmin',
|
||||
'adminmail@gmail.com',
|
||||
'AdminPassword'
|
||||
]);
|
||||
var_dump( $insert->answer() );
|
||||
|
||||
|
||||
$getAll = new Repo('warehouse/getAll');
|
||||
$getAll = new Repo('admin/getAll');
|
||||
}createWarehouse();
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue