From fa9943be7095ba528ea3dd5be7f957174abcca51 Mon Sep 17 00:00:00 2001 From: wouldsmina Date: Mon, 28 Oct 2019 21:30:38 +0100 Subject: [PATCH] =?UTF-8?q?patch=20bug=20affichage=20employ=C3=A9=20par=20?= =?UTF-8?q?le=20grand=20responsable=20(#857)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App/ProtoControllers/Responsable.php | 14 ++++++++++++++ responsable/Fonctions.php | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/App/ProtoControllers/Responsable.php b/App/ProtoControllers/Responsable.php index 98b8f5a72..e1bb8e34e 100644 --- a/App/ProtoControllers/Responsable.php +++ b/App/ProtoControllers/Responsable.php @@ -135,6 +135,20 @@ public static function isRespDeUtilisateur($resp, $user) && \App\ProtoControllers\Groupe::isResponsableGroupe($resp, \App\ProtoControllers\Utilisateur::getGroupesId($user), \includes\SQL::singleton()); } + /** + * Vérifie si un utilisateur est bien le grand responsable d'un employé + * + * @param string $resp + * @param string $user + * + * @return bool + */ + public static function isGrandRespDeUtilisateur($resp, $user) + { + return $resp != $user + && \App\ProtoControllers\Groupe::isGrandResponsableGroupe($resp, \App\ProtoControllers\Utilisateur::getGroupesId($user), \includes\SQL::singleton()); + } + /** * Vérifie si un utilisateur est responsable par délégation d'un employé * diff --git a/responsable/Fonctions.php b/responsable/Fonctions.php index 0d68a9329..23fc00b29 100644 --- a/responsable/Fonctions.php +++ b/responsable/Fonctions.php @@ -888,7 +888,8 @@ public static function traiteUserModule() }; $userLogin = $entities(getpost_variable('user_login')); - if (!\App\ProtoControllers\Responsable::isRespDeUtilisateur($_SESSION['userlogin'], $userLogin)) { + if (!(\App\ProtoControllers\Responsable::isRespDeUtilisateur($_SESSION['userlogin'], $userLogin) + || \App\ProtoControllers\Responsable::isGrandRespDeUtilisateur($_SESSION['userlogin']))) { redirect(ROOT_PATH . 'deconnexion'); exit; }