From 17b118f885f8f5af684a4012affdf31d96a7601d Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Mon, 23 Nov 2015 16:21:03 +0100 Subject: [PATCH] =?UTF-8?q?Pour=20la=20visu/modification=20des=20r=C3=B4le?= =?UTF-8?q?s,=20on=20r=C3=A9cup=C3=A8re=20les=20modules/par=20ue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manager/database.php | 21 +++++++++++++++------ manager/repo/semestre.php | 8 ++++++-- manager/repo/user.php | 10 +++++++--- manager/user.php | 10 +++++----- page/settings.php | 2 +- 5 files changed, 34 insertions(+), 17 deletions(-) diff --git a/manager/database.php b/manager/database.php index 9c58767..9afa77d 100755 --- a/manager/database.php +++ b/manager/database.php @@ -127,7 +127,7 @@ class DataBase{ * @mcc contient toutes les données du MCC * */ - public static function setMCC($semestre, $mcc){ + public function setMCC($semestre, $mcc){ foreach($mcc as $ue){ $mcc_ue = ueRepo::forMCC($semestre, $ue->nom, $ue->libelle, $ue->coefficient); @@ -161,7 +161,7 @@ class DataBase{ * @return cree retourne VRAI si les éléments existaient ou ont bien été créés * */ - public static function creerSemestre($codeFormation, $nomFormation, $nomSemestre, $rangSemestre, $annee){ + public function creerSemestre($codeFormation, $nomFormation, $nomSemestre, $rangSemestre, $annee){ // si on a tout créé ou que tout existe "creer" retourne l'UID du semestre, // si on a un boolean c'est FALSE => erreur @@ -215,7 +215,7 @@ class DataBase{ * @return semestreUID l'UID du semestre courant * */ - public static function studentSemestre($etudiant, $semestre_pair, $annee){ + public function studentSemestre($etudiant, $semestre_pair, $annee){ if( $semestre = semestreRepo::forStudent($etudiant, $semestre_pair, $annee) ) // si on a un résultat return $semestre; else @@ -231,8 +231,17 @@ class DataBase{ * @return enseignants retourne la liste des enseignants de la bdd * */ - public static function listeUtilisateursRole(){ - return userRepo::getRoleUsers(); + public function listeUtilisateursRole($annee){ + $roleUsers = userRepo::getRoleUsers(); + + foreach($roleUsers as $iter=>$user){ + $uelist = $this->getModulesByUEByEnseignant($user['id'], null, $annee); + if( is_array($uelist) ) + $roleUsers[$iter]['uelist'] = $uelist; + } + + var_dump( $roleUsers ); + return $roleUsers; } @@ -242,7 +251,7 @@ class DataBase{ * @return annees retourne la liste des années contenant chacunes leurs semestres * */ - public static function getListeSemestres(){ + public function getListeSemestres(){ $listeAnnees = semestreRepo::getAnnees(); foreach($listeAnnees as $iter_a=>$annee){ diff --git a/manager/repo/semestre.php b/manager/repo/semestre.php index 110c316..7544ace 100755 --- a/manager/repo/semestre.php +++ b/manager/repo/semestre.php @@ -159,6 +159,10 @@ class semestreRepo extends DBAccess{ * */ public static function forTeacher($enseignant, $semestre_pair, $annee){ + + $semestrePair0 = '0'; $semestrePair1 = '1'; + if( is_bool($semestre_pair) ){ $semestrePair0 = ($semestre_pair)?'0':'1'; $semestrePair1 = ($semestre_pair)?'0':'1'; } + $getSemestreList = DataBase::getPDO()->prepare("SELECT DISTINCT s.id_semestre as id, f.id_formation, f.code as formation, f.nom as nom_formation, s.nom, s.rang, s.annee FROM semestre as s, formation as f, enseignement as ens, mcc_module as mcc_m, mcc_ue WHERE s.id_semestre = mcc_ue.id_semestre @@ -167,10 +171,10 @@ class semestreRepo extends DBAccess{ AND mcc_m.id_mcc_module = ens.id_mcc_module AND ens.id_enseignant = :enseignant - AND s.rang % 2 = :semestre_pair + AND (s.rang % 2 = :semestre_pair0 OR s.rang % 2 = :semestre_pair1) AND s.annee = :annee ORDER BY s.rang ASC"); - $getSemestreList->execute(array( ':enseignant' => $enseignant, ':semestre_pair' => ($semestre_pair) ? '0' : '1', ':annee' => $annee )); + $getSemestreList->execute(array( ':enseignant' => $enseignant, ':semestre_pair0' => $semestrePair0, ':semestre_pair1' => $semestrePair1, ':annee' => $annee )); return DataBase::delNumeric( $getSemestreList->fetchAll() ); } diff --git a/manager/repo/user.php b/manager/repo/user.php index 360b9ce..7a95d92 100755 --- a/manager/repo/user.php +++ b/manager/repo/user.php @@ -43,7 +43,11 @@ class userRepo extends DBAccess{ AND app.id_semestre = :semestre"); $getUtilisateurUID->execute(array( ':identifiant' => $identifiant, ':semestre' => $semestre )); - }elseif( is_bool($semestre_pair) && $annee != null ){ + }elseif( $annee != null ){ + + $semestrePair0 = '0'; $semestrePair1 = '1'; + if( is_bool($semestre_pair) ){ $semestrePair0 = ($semestre_pair)?'0':'1'; $semestrePair1 = ($semestre_pair)?'0':'1'; } + /* [2] Cas où on cherche si un enseignant enseigne l'année donnée ==============================================================*/ @@ -55,9 +59,9 @@ class userRepo extends DBAccess{ AND mcc_ue.id_semestre = s.id_semestre AND u.identifiant = :identifiant - AND s.rang % 2 = :semestre_pair + AND (s.rang % 2 = :semestre_pair0 OR s.rang % 2 = :semestre_pair1) AND s.annee = :annee"); - $getUtilisateurUID->execute(array( ':identifiant' => $identifiant, ':semestre_pair' => ($semestre_pair) ? '0' : '1', ':annee' => $annee )); + $getUtilisateurUID->execute(array( ':identifiant' => $identifiant, ':semestre_pair0' => $semestrePair0, ':semestre_pair1' => $semestrePair1, ':annee' => $annee )); }else // si les paramètres sont pas bons return false; diff --git a/manager/user.php b/manager/user.php index 6e206d1..3ccd3ad 100755 --- a/manager/user.php +++ b/manager/user.php @@ -95,11 +95,11 @@ require_once __ROOT__.'/manager/database.php'; $answer->request = 'permission_error'; break; - /*************************/ - /* liste des enseignants */ - /*************************/ - case 'getListeEnseignants': if( permission('admin') ){ - $answer->userlist = DataBase::getInstance()->listeUtilisateursRole(); + /******************************************/ + /* liste des enseignants avec leurs rôles */ + /******************************************/ + case 'getListeEnseignantsModules': if( permission('admin') ){ + $answer->userlist = DataBase::getInstance()->listeUtilisateursRole($_SESSION['annee']); $answer->request = 'success'; }else $answer->request = 'permission_error'; diff --git a/page/settings.php b/page/settings.php index 79f9539..a43b29a 100755 --- a/page/settings.php +++ b/page/settings.php @@ -24,7 +24,7 @@ if( permission('admin') ){ // création de la requête $request = new stdClass(); $answer = new stdClass(); - $request->level_1 = 'getListeEnseignants'; + $request->level_1 = 'getListeEnseignantsModules'; // gestion de la requête user_switch_level_1($request, $answer);