From e10c3ad9895ed67aef66f8da9e30dd0217787657 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Mon, 16 Nov 2015 00:01:05 +0100 Subject: [PATCH] =?UTF-8?q?Affichage=20des=20contr=C3=B4les=20m=C3=AAme=20?= =?UTF-8?q?si=20aucune=20note=20n'est=20encore=20saisie?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manager/database.php | 6 +++++- manager/repo/controle.php | 5 ++--- manager/repo/note.php | 25 +++++++++++++++++++++++++ page/career.php | 4 +--- 4 files changed, 33 insertions(+), 7 deletions(-) diff --git a/manager/database.php b/manager/database.php index cfd5f53..cfe84e1 100755 --- a/manager/database.php +++ b/manager/database.php @@ -641,8 +641,12 @@ class DataBase{ foreach($UEList[$iter_ue]['modules'] as $iter_mod=>$b){ $UEList[$iter_ue]['modules'][$iter_mod]['controles'] = controleRepo::forTeacher($enseignantUID, $UEList[$iter_ue]['modules'][$iter_mod]['id'], $UEList[$iter_ue]['id_semestre']); - foreach($UEList[$iter_ue]['modules'][$iter_mod]['controles'] as $iter_ct=>$c) + foreach($UEList[$iter_ue]['modules'][$iter_mod]['controles'] as $iter_ct=>$c){ $UEList[$iter_ue]['modules'][$iter_mod]['controles'][$iter_ct]['grouplist'] = noteRepo::forTeacher($UEList[$iter_ue]['modules'][$iter_mod]['controles'][$iter_ct]['id']); + + $UEList[$iter_ue]['modules'][$iter_mod]['controles'][$iter_ct]['moyenne'] = noteRepo::moyenneForControle($UEList[$iter_ue]['modules'][$iter_mod]['controles'][$iter_ct]['id']); + } + } } diff --git a/manager/repo/controle.php b/manager/repo/controle.php index b68a009..4b9ae29 100755 --- a/manager/repo/controle.php +++ b/manager/repo/controle.php @@ -80,13 +80,12 @@ class controleRepo extends DBAccess{ * */ public static function forTeacher($enseignant, $module, $semestre){ - $getControleList = DataBase::getPDO()->prepare("SELECT DISTINCT ctrl.id_controle as id, ctrl.id_mcc_module, ctrl.intitule, ctrl.base, ctrl.coefficient, ctrl.date_publication, AVG(n.valeur) as moyenne ". - "FROM enseignement as ens, module as m, mcc_module as mcc_m, mcc_ue, controle as ctrl, note as n ". + $getControleList = DataBase::getPDO()->prepare("SELECT DISTINCT ctrl.id_controle as id, ctrl.id_mcc_module, ctrl.intitule, ctrl.base, ctrl.coefficient, ctrl.date_publication ". + "FROM enseignement as ens, module as m, mcc_module as mcc_m, mcc_ue, controle as ctrl ". "WHERE ens.id_mcc_module = mcc_m.id_mcc_module ". "AND mcc_m.id_mcc_module = ctrl.id_mcc_module ". "AND mcc_m.id_module = m.id_module ". "AND mcc_ue.id_mcc_ue = mcc_m.id_mcc_ue ". - "AND n.id_controle = ctrl.id_controle ". "AND ens.id_enseignant = :enseignant ". "AND mcc_m.id_module = :module ". diff --git a/manager/repo/note.php b/manager/repo/note.php index 4ac6ef9..e5d317f 100755 --- a/manager/repo/note.php +++ b/manager/repo/note.php @@ -188,6 +188,31 @@ class noteRepo extends DBAccess{ } + /* RETOURNE LA MOYENNE D'UN CONTRÔLE PARTICULIER + * + * @controle l'UID du contrôle en question + * + * + * @return moyenne retourne la moyenne d'un contrôle + * @return FALSE retourne FALSE s'il y a aucune note à ce contrôle + * + */ + public static function moyenneForControle($controle){ + $getMoyenne = DataBase::getPDO()->prepare("SELECT AVG(n.valeur) as moyenne ". + "FROM controle as ctrl, note as n ". + "WHERE ctrl.id_controle = n.id_controle ". + "AND ctrl.id_controle = :controle ". + + "GROUP BY ctrl.id_controle"); + $getMoyenne->execute(array( ':controle' => $controle )); + + if( $fetchObj = $getMoyenne->fetch() ) + return $fetchObj['moyenne']; + else + return false; + } + + /* CRÉATION/MODIFICATION D'UNE NOTE POUR UN ETUDIANT À UN CONTRÔLE * diff --git a/page/career.php b/page/career.php index a0507f5..32755c3 100755 --- a/page/career.php +++ b/page/career.php @@ -178,8 +178,6 @@ if( permission('teacher') && $controleOpt == null ){ // si c'est un enseignant e echo "".$UE['nom'].''; echo ""; - - if( count($answer->UEs) > 0 ){ // si au moins un UE foreach($answer->UEs as $UE){ // pour chaque UE @@ -195,6 +193,7 @@ if( permission('teacher') && $controleOpt == null ){ // si c'est un enseignant e if( count($module['controles']) > 0 ){ // s'il y a au moins un contrôle pour ce module foreach($module['controles'] as $controle){ // pour chaque contrôle + echo ''; echo "".$controle['intitule'].""; @@ -247,7 +246,6 @@ elseif( permission('teacher') ){ // si enseignant et qu'un contrôle est spécif $request->controle = $controleOpt; if( $groupeOpt != null ) $request->groupe = $groupeOpt; // on définit le groupe s'il est spécifié - career_switch_level_1($request, $answer); if( $answer->request == 'success' ){