diff --git a/manager/database.php b/manager/database.php index cfe84e1..1fbbf44 100755 --- a/manager/database.php +++ b/manager/database.php @@ -662,10 +662,14 @@ class DataBase{ /********************************************/ public function getNotesEnseignant($enseignant, $semestre_pair, $annee, $controle, $groupe=null){ // [OPTIONNEL] $groupe - // on récupère les informations du contrôle if( ! ($controlObj=controleRepo::info($controle)) ) return 'unknown_controle'; + if( $moyenneObj = noteRepo::moyenneForControle($controle) ) + $controlObj['moyenne'] = $moyenneObj['moyenne']; + else + $controlObj['moyenne'] = null; + /* [1] si le groupe est donné =======================================*/ if( $groupe != null ){ @@ -682,9 +686,6 @@ class DataBase{ /* [2] si on veut par groupe =======================================*/ }else{ - // on ajoute au controle['notes'] la liste des notes des groupes - // $controlObj['grouplist'] = noteRepo::forTeacher($controle, null); - $controlObj['grouplist'] = groupRepo::forControle($controle); foreach($controlObj['grouplist'] as $iter=>$grpe) diff --git a/manager/repo/controle.php b/manager/repo/controle.php index 4b9ae29..8186406 100755 --- a/manager/repo/controle.php +++ b/manager/repo/controle.php @@ -19,11 +19,10 @@ class controleRepo extends DBAccess{ */ public static function info($controleUID){ // on considère que le semestre existe - $getControleInfo = DataBase::getPDO()->prepare("SELECT ctrl.id_controle as id, ctrl.id_mcc_module, m.nom as module, m.libelle as modulelib, s.id_semestre, ctrl.intitule, ctrl.base, ctrl.coefficient, ctrl.date_publication, AVG(n.valeur) as moyenne ". - "FROM controle as ctrl, mcc_module as mcc_m, mcc_ue, semestre as s, module as m, note as n ". + $getControleInfo = DataBase::getPDO()->prepare("SELECT ctrl.id_controle as id, ctrl.id_mcc_module, m.nom as module, m.libelle as modulelib, s.id_semestre, ctrl.intitule, ctrl.base, ctrl.coefficient, ctrl.date_publication ". + "FROM controle as ctrl, mcc_module as mcc_m, mcc_ue, semestre as s, module as m ". "WHERE ctrl.id_mcc_module = mcc_m.id_mcc_module ". "AND mcc_m.id_module = m.id_module ". - "AND n.id_controle = ctrl.id_controle ". "AND mcc_ue.id_mcc_ue = mcc_m.id_mcc_ue ". "AND mcc_ue.id_semestre = s.id_semestre ". diff --git a/manager/repo/note.php b/manager/repo/note.php index e5d317f..861aa69 100755 --- a/manager/repo/note.php +++ b/manager/repo/note.php @@ -194,7 +194,7 @@ class noteRepo extends DBAccess{ * * * @return moyenne retourne la moyenne d'un contrôle - * @return FALSE retourne FALSE s'il y a aucune note à ce contrôle + * @return NULL retourne NULL s'il y a aucune note à ce contrôle * */ public static function moyenneForControle($controle){ @@ -209,7 +209,7 @@ class noteRepo extends DBAccess{ if( $fetchObj = $getMoyenne->fetch() ) return $fetchObj['moyenne']; else - return false; + return null; } diff --git a/page/career.php b/page/career.php index 32755c3..2ba187e 100755 --- a/page/career.php +++ b/page/career.php @@ -199,7 +199,7 @@ if( permission('teacher') && $controleOpt == null ){ // si c'est un enseignant e echo "".$module['nom']." - ".$module['libelle'].""; - if( count($controle['grouplist']) == 0 ) // si il y a au moins une note pour ce contrôle + if( $controle['moyenne'] == null ) // si il y a au moins une note pour ce contrôle echo 'Pas noté'; else echo 'Moyenne de '.number_format($controle['moyenne'], 2).' / '.$controle['base'].''; @@ -270,7 +270,7 @@ elseif( permission('teacher') ){ // si enseignant et qu'un contrôle est spécif ====================================================================================*/ if( $groupeOpt == null ){ - if( count($answer->controle['grouplist']) == 0 ) // si il y a au moins une note pour ce contrôle + if( $answer->controle['moyenne'] == null ) // si il y a au moins une note pour ce contrôle echo 'Pas noté'; else echo 'Moyenne de '.number_format($answer->controle['moyenne'], 2).' / '.$answer->controle['base'].'';