From 2174ecfaa9857c9e6a068ce6702cb5cf206cb86d Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Fri, 8 Jan 2016 16:17:16 +0100 Subject: [PATCH] [x] Gestion de l'ajout/suppression du statut "teacher" + si aucun module, plus enseignant + si au moins 1 module, enseignant --- manager/database.php | 13 +++++++------ manager/repo/user.php | 12 +++++++++++- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/manager/database.php b/manager/database.php index 156ebcb..56c21fb 100755 --- a/manager/database.php +++ b/manager/database.php @@ -460,13 +460,11 @@ class DataBase{ // si on ajoute pour un groupe donné, on le fait - if( $groupe != null ) + if( $groupe != null ){ $success = userRepo::addModule($utilisateurUID, $mccmodule, $groupeUID); - - // si aucun groupe n'est donné - else{ + }else{ $inscrits = groupRepo::inscritsMccModule($mccmodule); $success = true; @@ -475,7 +473,9 @@ class DataBase{ } - return $success; + + // définit l'utilisateur comme enseignant et retourne le statut + return $success && userRepo::setTeacher($utilisateurUID); } @@ -517,7 +517,8 @@ class DataBase{ } - return $success; + // définit l'utilisateur comme enseignant et retourne le statut + return $success && userRepo::setTeacher($utilisateurUID); } diff --git a/manager/repo/user.php b/manager/repo/user.php index 518c31b..36bf8df 100755 --- a/manager/repo/user.php +++ b/manager/repo/user.php @@ -240,7 +240,7 @@ class userRepo{ * @return updated VRAI si la modification a été faite * */ - public static function setTeacher($utilisateur, $teacher){ + public static function setTeacher($utilisateur){ /* [1] On récupère les droits actuels de l'utilisateur =========================================================*/ if( !($utilisateurInfo=userRepo::info($utilisateur)) ) return false; @@ -251,6 +251,16 @@ class userRepo{ if( strlen($droit) == 0 ) unset($droitsArray[$i]); + + // on récupère le nombre d'enseignements de l'utilisateur + $getNumEnseignements = DataBase::getPDO()->prepare("SELECT count(distinct id_enseignement) as nb_ens + FROM enseignement + WHERE id_enseignant = :utilisateurUID"); + $getNumEnseignements->execute(array( ':utilisateurUID' => $utilisateur )); + + // VRAI si enseigne au moins un module + $teacher = $getNumEnseignements->fetch()['nb_ens'] > 0; + /* [2] On modifie les droits en fonction des paramètres =========================================================*/ if( $teacher && !in_array('teacher', $droitsArray) ) // si on doit ajouter le droit et qu'il n'y est pas encore