Affichage de tous les contrôles pour "admin" / "master" reste à empêcher la saisie par master
This commit is contained in:
parent
feac2ae846
commit
c89c8ddfa4
|
@ -63,9 +63,9 @@ require_once __ROOT__.'/manager/database.php';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***************************/
|
/***************************************/
|
||||||
/* liste des conetroles */
|
/* liste des contrôles d'un enseignant */
|
||||||
/***************************/
|
/***************************************/
|
||||||
case 'getControlesEnseignant': if( permission('teacher') ){
|
case 'getControlesEnseignant': if( permission('teacher') ){
|
||||||
|
|
||||||
$areSetParam = isset($request->enseignant) && isset($request->annee); // les arguments existent
|
$areSetParam = isset($request->enseignant) && isset($request->annee); // les arguments existent
|
||||||
|
@ -90,9 +90,37 @@ require_once __ROOT__.'/manager/database.php';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
/************************************/
|
|
||||||
/* liste des notes pour un contrôle */
|
|
||||||
/************************************/
|
/**********************************/
|
||||||
|
/* liste des contrôles de l'année */
|
||||||
|
/**********************************/
|
||||||
|
case 'getControlesForYear': if( permission('master') || permission('admin') ){
|
||||||
|
|
||||||
|
$areSetParam = isset($request->annee); // les arguments existent
|
||||||
|
$typeOkParam = $areSetParam && is_string($request->annee); // si c'est des strings
|
||||||
|
$nEmptyParam = $typeOkParam && is_numeric($request->annee); // des bon types
|
||||||
|
$anneeCheck = $nEmptyParam && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
||||||
|
|
||||||
|
if( $anneeCheck ){ // si tout les paramètres sont bons
|
||||||
|
$semestreList = DataBase::getInstance()->getControlesForYear($request->annee);
|
||||||
|
|
||||||
|
if( is_array($semestreList) ){ // si on a bien un tableau
|
||||||
|
$answer->semestres = $semestreList; // on renvoie dans answer->semestreList
|
||||||
|
$answer->request = 'success'; // et on renvoie success
|
||||||
|
}else // sinon si c'est pas un tableau
|
||||||
|
$answer->request = $semestreList; // on retourne l'erreur
|
||||||
|
}else
|
||||||
|
$answer->request = 'param_error';
|
||||||
|
|
||||||
|
}else
|
||||||
|
$answer->request = 'permission_error';
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
/****************************************************/
|
||||||
|
/* liste des notes pour un contrôle d'un enseignant */
|
||||||
|
/****************************************************/
|
||||||
case 'getNotesEnseignant': if( permission('teacher') ){
|
case 'getNotesEnseignant': if( permission('teacher') ){
|
||||||
|
|
||||||
$areSetParam = isset($request->enseignant) && isset($request->controle); // les arguments existent
|
$areSetParam = isset($request->enseignant) && isset($request->controle); // les arguments existent
|
||||||
|
@ -123,6 +151,39 @@ require_once __ROOT__.'/manager/database.php';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/************************************/
|
||||||
|
/* liste des notes pour un contrôle */
|
||||||
|
/************************************/
|
||||||
|
case 'getNotesForYear': if( permission('master') || permission('admin') ){
|
||||||
|
|
||||||
|
$areSetParam = isset($request->controle); // les arguments existent
|
||||||
|
$nEmptyParam = $areSetParam && is_numeric($request->controle); // des bon types
|
||||||
|
|
||||||
|
// paramètre optionnel
|
||||||
|
$optionalGroupe = isset($request->groupe) && is_string($request->groupe) && strlen($request->groupe) > 1 && preg_match('/^[a-z0-9 -]{1,10}$/i', $request->groupe);
|
||||||
|
|
||||||
|
// définition (ou pas) du paramètre optionnel
|
||||||
|
if( $optionalGroupe ) $groupe = $request->groupe;
|
||||||
|
else $groupe = null;
|
||||||
|
|
||||||
|
if( $nEmptyParam ){ // si tout les paramètres sont bons
|
||||||
|
$controle = DataBase::getInstance()->getNotesForYear($_SESSION['annee'], $request->controle, $groupe);
|
||||||
|
|
||||||
|
if( is_array($controle) ){ // si on a bien un tableau
|
||||||
|
$answer->controle = $controle; // on renvoie dans answer->controle
|
||||||
|
$answer->request = 'success'; // et on renvoie success
|
||||||
|
}else // sinon si c'est pas un tableau
|
||||||
|
$answer->request = $controle; // on retourne l'erreur
|
||||||
|
}else
|
||||||
|
$answer->request = 'param_error';
|
||||||
|
|
||||||
|
}else
|
||||||
|
$answer->request = 'permission_error';
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
/**********************************************/
|
/**********************************************/
|
||||||
/* informations relatives au dossier étudiant */
|
/* informations relatives au dossier étudiant */
|
||||||
/**********************************************/
|
/**********************************************/
|
||||||
|
|
|
@ -761,7 +761,41 @@ class DataBase{
|
||||||
$semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'] = controleRepo::forTeacher($enseignantUID, $semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['id'], $semestreList[$iter_s]['id']);
|
$semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'] = controleRepo::forTeacher($enseignantUID, $semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['id'], $semestreList[$iter_s]['id']);
|
||||||
|
|
||||||
foreach($semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'] as $iter_ct=>$c){
|
foreach($semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'] as $iter_ct=>$c){
|
||||||
$semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'][$iter_ct]['grouplist'] = noteRepo::forTeacher($semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'][$iter_ct]['id']);
|
$semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'][$iter_ct]['grouplist'] = noteRepo::forControle($semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'][$iter_ct]['id']);
|
||||||
|
|
||||||
|
$semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'][$iter_ct]['moyenne'] = noteRepo::moyenneForControle($semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'][$iter_ct]['id']);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return $semestreList;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/***************************************/
|
||||||
|
/*** retourne les notes d'une année ***/
|
||||||
|
/***************************************/
|
||||||
|
public function getControlesForYear($annee){
|
||||||
|
// on récupère les semestres de cette année
|
||||||
|
$semestreList = semestreRepo::forYear($annee);
|
||||||
|
|
||||||
|
foreach($semestreList as $iter_s=>$a){
|
||||||
|
$semestreList[$iter_s]['UElist'] = ueRepo::forYear($semestreList[$iter_s]['id']);
|
||||||
|
|
||||||
|
foreach($semestreList[$iter_s]['UElist'] as $iter_u=>$b){
|
||||||
|
$semestreList[$iter_s]['UElist'][$iter_u]['modules'] = moduleRepo::forYear($semestreList[$iter_s]['UElist'][$iter_u]['id'], $semestreList[$iter_s]['id']);
|
||||||
|
|
||||||
|
foreach($semestreList[$iter_s]['UElist'][$iter_u]['modules'] as $iter_m=>$c){
|
||||||
|
$semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'] = controleRepo::forYear($semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['id'], $semestreList[$iter_s]['id']);
|
||||||
|
|
||||||
|
foreach($semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'] as $iter_ct=>$c){
|
||||||
|
$semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'][$iter_ct]['grouplist'] = noteRepo::forControle($semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'][$iter_ct]['id']);
|
||||||
|
|
||||||
$semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'][$iter_ct]['moyenne'] = noteRepo::moyenneForControle($semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'][$iter_ct]['id']);
|
$semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'][$iter_ct]['moyenne'] = noteRepo::moyenneForControle($semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['controles'][$iter_ct]['id']);
|
||||||
|
|
||||||
|
|
|
@ -134,6 +134,36 @@ class controleRepo extends DBAccess{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* RENVOIE LES CONTROLES POUR UN MODULE ET SEMESTRE PARTICULIER
|
||||||
|
*
|
||||||
|
* @module<int> l'UID du module concerné
|
||||||
|
* @semestre<int> l'UID du semestre concerné
|
||||||
|
*
|
||||||
|
* @return controles<Array> retourne les controles pour un module d'un semestre
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public static function forYear($module, $semestre){
|
||||||
|
$getControleList = DataBase::getPDO()->prepare("SELECT DISTINCT ctrl.id_controle as id, ctrl.nom, ctrl.id_mcc_module, ctrl.libelle, ctrl.base, ctrl.coefficient, ctrl.date_publication
|
||||||
|
FROM module as m, mcc_module as mcc_m, mcc_ue, controle as ctrl
|
||||||
|
WHERE 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 mcc_m.id_module = :module
|
||||||
|
AND mcc_ue.id_semestre = :semestre
|
||||||
|
|
||||||
|
GROUP BY ctrl.id_controle");
|
||||||
|
$getControleList->execute(array( ':module' => $module, ':semestre' => $semestre ));
|
||||||
|
|
||||||
|
return DataBase::delNumeric( $getControleList->fetchAll() );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* retourne l'UID d'un contrôle s'il existe sinon créé tout ce qui a besoin et on retourne l'UID
|
/* retourne l'UID d'un contrôle s'il existe sinon créé tout ce qui a besoin et on retourne l'UID
|
||||||
|
|
|
@ -104,7 +104,7 @@ class noteRepo extends DBAccess{
|
||||||
* [2] retourne les notes des étudiants du groupe spécifié pour ce contrôle
|
* [2] retourne les notes des étudiants du groupe spécifié pour ce contrôle
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function forTeacher($controle, $groupe=null){
|
public static function forControle($controle, $groupe=null){
|
||||||
/* [1] Statistiques des groupes
|
/* [1] Statistiques des groupes
|
||||||
============================================================*/
|
============================================================*/
|
||||||
if( !is_int($groupe) ){
|
if( !is_int($groupe) ){
|
||||||
|
|
349
page/career.php
349
page/career.php
|
@ -163,6 +163,7 @@ if( permission('teacher') && $controleOpt == null ){ // si c'est un enseignant e
|
||||||
|
|
||||||
$request = new stdClass(); $answer = new stdClass();
|
$request = new stdClass(); $answer = new stdClass();
|
||||||
|
|
||||||
|
|
||||||
$request->level_1 = 'getControlesEnseignant';
|
$request->level_1 = 'getControlesEnseignant';
|
||||||
$request->enseignant = $_SESSION['identifiant'];
|
$request->enseignant = $_SESSION['identifiant'];
|
||||||
$request->annee = $_SESSION['annee'];
|
$request->annee = $_SESSION['annee'];
|
||||||
|
@ -171,7 +172,7 @@ if( permission('teacher') && $controleOpt == null ){ // si c'est un enseignant e
|
||||||
|
|
||||||
if( $answer->request == 'success' ){ // si on a bien récupéré les UE/notes
|
if( $answer->request == 'success' ){ // si on a bien récupéré les UE/notes
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
echo "<section name='controlesenseignants' data-title='Contrôles' class='basic'>";
|
echo "<section name='controlesenseignants' data-title='Mes contrôles' class='basic'>";
|
||||||
|
|
||||||
|
|
||||||
/* ON RECUPERE UNE LISTE UNIQUE DES SEMESTRES */
|
/* ON RECUPERE UNE LISTE UNIQUE DES SEMESTRES */
|
||||||
|
@ -318,7 +319,7 @@ if( permission('teacher') && $controleOpt == null ){ // si c'est un enseignant e
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
echo '</section>';
|
echo '</section>';
|
||||||
}else
|
}else
|
||||||
echo "<section name='controlesenseignants' data-title='Contrôles' class='basic'><table class=basic><tbody><tr><td>Aucun contrôle trouvé</td></tr></tbody></table></section>";
|
echo "<section name='controlesenseignants' data-title='Mes contrôles' class='basic'><table class=basic><tbody><tr><td>Aucun contrôle trouvé</td></tr></tbody></table></section>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -339,7 +340,7 @@ elseif( permission('teacher') ){ // si enseignant et qu'un contrôle est spécif
|
||||||
career_switch_level_1($request, $answer);
|
career_switch_level_1($request, $answer);
|
||||||
|
|
||||||
if( $answer->request == 'success' ){
|
if( $answer->request == 'success' ){
|
||||||
echo "<section name='controlesenseignants' data-title='Contrôles' class='basic'>";
|
echo "<section name='controlesenseignants' data-title='Mes contrôles' class='basic'>";
|
||||||
|
|
||||||
|
|
||||||
// bouton retour
|
// bouton retour
|
||||||
|
@ -451,7 +452,347 @@ elseif( permission('teacher') ){ // si enseignant et qu'un contrôle est spécif
|
||||||
echo '</tbody></table>';
|
echo '</tbody></table>';
|
||||||
|
|
||||||
}else
|
}else
|
||||||
echo "<section name='controlesenseignants' data-title='Contrôles' class='basic'><table class=basic><tbody><tr><td>Aucun contrôle trouvé</td></tr></tbody></table></section>";
|
echo "<section name='controlesenseignants' data-title='Mes contrôles' class='basic'><table class=basic><tbody><tr><td>Aucun contrôle trouvé</td></tr></tbody></table></section>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/********************************************/
|
||||||
|
/*** LES CONTRÔLES (version admin/master) ***/
|
||||||
|
/********************************************/
|
||||||
|
/*
|
||||||
|
*
|
||||||
|
* [1] Tous les contrôles
|
||||||
|
* [2] Un contrôle particulier( avec ou sans groupe particulier )
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/* [1] Tous les contrôles
|
||||||
|
==================================================================*/
|
||||||
|
if( (permission('master') || permission('admin')) && $controleOpt == null ){ // si c'est un enseignant et qu'aucun contrôle n'est spécifié
|
||||||
|
|
||||||
|
|
||||||
|
$request = new stdClass(); $answer = new stdClass();
|
||||||
|
|
||||||
|
|
||||||
|
$request->level_1 = 'getControlesForYear';
|
||||||
|
$request->annee = $_SESSION['annee'];
|
||||||
|
|
||||||
|
career_switch_level_1($request, $answer);
|
||||||
|
|
||||||
|
if( $answer->request == 'success' ){ // si on a bien récupéré les UE/notes
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
echo "<section name='allcontroles' data-title='Tous les contrôles' class='basic'>";
|
||||||
|
|
||||||
|
|
||||||
|
/* ON RECUPERE UNE LISTE UNIQUE DES SEMESTRES */
|
||||||
|
$ListeUIDFormations = array();
|
||||||
|
$ListeUIDSemestres = array();
|
||||||
|
$ListeUIDUE = array();
|
||||||
|
|
||||||
|
// Vérification de la formation si elle est définie
|
||||||
|
$verificationUIDFormations = array();
|
||||||
|
foreach($answer->semestres as $semestre) // on récupère la liste des UID de FORMATIONS
|
||||||
|
if( !in_array($semestre['id_formation'], $verificationUIDFormations) )
|
||||||
|
array_push($verificationUIDFormations, $semestre['id_formation']);
|
||||||
|
|
||||||
|
// si la formation optionnelle n'est pas définie ou incohérente, on le fait (première valeur trouvée)
|
||||||
|
if( $formationOpt == null || !in_array($formationOpt, $verificationUIDFormations) )
|
||||||
|
$formationOpt = $verificationUIDFormations[0];
|
||||||
|
|
||||||
|
|
||||||
|
/**************************/
|
||||||
|
/* AFFINAGE PAR FORMATION */
|
||||||
|
/**************************/
|
||||||
|
echo "<table class='partlist' name='formation'><tbody><tr>";
|
||||||
|
foreach($answer->semestres as $semestre){ if( !in_array($semestre['id_formation'], $ListeUIDFormations) ){
|
||||||
|
|
||||||
|
|
||||||
|
if( $semestre['id_formation'] == $formationOpt ) // si c'est la formation séléctionnée
|
||||||
|
echo "<td data-value='".$semestre['id_formation']."' class='active'>".$semestre['formation'].'</td>';
|
||||||
|
else // sinon on affiche normalement
|
||||||
|
echo "<td data-value='".$semestre['id_formation']."'>".$semestre['formation'].'</td>';
|
||||||
|
|
||||||
|
// on ajoute la formation à la liste pour ne pas la répéter
|
||||||
|
array_push($ListeUIDFormations, $semestre['id_formation']);
|
||||||
|
|
||||||
|
}}
|
||||||
|
echo "</tr></tbody></table>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*************************/
|
||||||
|
/* AFFINAGE PAR SEMESTRE */
|
||||||
|
/*************************/
|
||||||
|
echo "<table class='partlist' name='semestre'><tbody><tr>";
|
||||||
|
if( $semestreOpt == null ) echo "<td data-value='*' class='active'>Tous</td>";
|
||||||
|
else echo "<td data-value='*'>Tous</td>";
|
||||||
|
|
||||||
|
/* On récupère la liste des SEMESTRES en accord avec la FORMATION sélectionnée */
|
||||||
|
foreach($answer->semestres as $semestre){ if( $semestre['id_formation'] == $formationOpt && !in_array($semestre['id'], $ListeUIDSemestres) ){
|
||||||
|
|
||||||
|
if( $semestre['id'] == $semestreOpt ) // si c'est le semestre séléctionné
|
||||||
|
echo "<td data-value='".$semestre['id']."' class='active'>".$semestre['nom'].'</td>';
|
||||||
|
else // sinon on affiche normalement
|
||||||
|
echo "<td data-value='".$semestre['id']."'>".$semestre['nom'].'</td>';
|
||||||
|
|
||||||
|
|
||||||
|
// on ajoute le semestre à la liste pour ne pas le répéter
|
||||||
|
array_push($ListeUIDSemestres, $semestre['id']);
|
||||||
|
|
||||||
|
}}
|
||||||
|
echo "</tr></tbody></table>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*******************/
|
||||||
|
/* AFFINAGE PAR UE */
|
||||||
|
/*******************/
|
||||||
|
echo "<table class='partlist' name='UE'><tbody><tr>";
|
||||||
|
if( $ueOpt == null ) echo "<td data-value='*' class='active'>Tous</td>";
|
||||||
|
else echo "<td data-value='*'>Tous</td>";
|
||||||
|
|
||||||
|
/* On récupère la liste des UEs en accord avec la FORMATION et le SEMESTRE sélectionnés */
|
||||||
|
foreach($answer->semestres as $semestre){ if( $semestre['id_formation'] == $formationOpt && in_array($semestre['id'], $ListeUIDSemestres) ){
|
||||||
|
foreach($semestre['UElist'] as $UE){ if( !in_array($UE['id'], $ListeUIDUE) ){
|
||||||
|
if( $UE['id'] == $ueOpt ) // si c'est l'UE séléctionnée
|
||||||
|
echo "<td data-value='".$UE['id']."' class='active'>".$UE['nom'].'</td>';
|
||||||
|
else // sinon on affiche normalement
|
||||||
|
echo "<td data-value='".$UE['id']."'>".$UE['nom'].'</td>';
|
||||||
|
|
||||||
|
// on ajoute l'UE à la liste pour ne pas le répéter
|
||||||
|
array_push($ListeUIDUE, $UE['id']);
|
||||||
|
}}
|
||||||
|
}}
|
||||||
|
echo "</tr></tbody></table>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if( count($answer->semestres) > 0 ){ // si au moins un UE
|
||||||
|
|
||||||
|
foreach($answer->semestres as $semestre){
|
||||||
|
|
||||||
|
if( ($semestreOpt == null || $semestre['id'] == $semestreOpt) && ($formationOpt == null || $semestre['id_formation'] == $formationOpt) ){ // on affiche les semestres en fonction de l'affinage
|
||||||
|
|
||||||
|
foreach($semestre['UElist'] as $UE){ // pour chaque UE
|
||||||
|
|
||||||
|
if( $ueOpt == null || $UE['id'] == $ueOpt ){ // on affiche l'UE en fonction du paramètre passé par l'URL
|
||||||
|
|
||||||
|
if( count($UE['modules']) > 0 ){ // s'il y a au moins un module
|
||||||
|
|
||||||
|
foreach($UE['modules'] as $module){ // pour chaque module
|
||||||
|
echo "<table class='basic col5'><thead>";
|
||||||
|
echo '<tr><th colspan=4><strong>'.$semestre['nom_formation'].' - '.$semestre['nom'].'</th></tr></thead><tbody>';
|
||||||
|
|
||||||
|
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 '<tr>';
|
||||||
|
echo "<td><span class='link ctrl' data-ctrl='".$controle['id']."'>".$controle['libelle']."</span></td>";
|
||||||
|
|
||||||
|
echo "<td>".$module['nom']." - ".$module['libelle']."</td>";
|
||||||
|
echo "<td>".$UE['nom']." - ".$UE['libelle']."</td>";
|
||||||
|
|
||||||
|
if( $controle['moyenne'] == null ) // si il y a au moins une note pour ce contrôle
|
||||||
|
echo '<td><span class=unstressed>Pas noté</span></td>';
|
||||||
|
else
|
||||||
|
echo '<td><span class=unstressed>Moyenne de</span> '.number_format($controle['moyenne'], 2).' <span class=unstressed>/</span> '.$controle['base'].'</td>';
|
||||||
|
// echo '<td>'.number_format($controle['moyenne'], 2).'</td>';
|
||||||
|
|
||||||
|
echo '<td><span class=unstressed>Coefficient</span> '.number_format($controle['coefficient'], 2).'</td>';
|
||||||
|
echo '</tr>';
|
||||||
|
|
||||||
|
// echo "<tr class='noborder transparentbg'><td></td><td colspan=3><table class='basic col4'><tbody>";
|
||||||
|
// echo '</tbody></table></td></tr>';
|
||||||
|
}
|
||||||
|
|
||||||
|
}else // si aucun contrôle pour ce module
|
||||||
|
echo "<tr><td colspan=5>Aucun contrôle trouvé</td></tr>";
|
||||||
|
|
||||||
|
echo '</tbody>';
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
echo '</table>';
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
echo '</section>';
|
||||||
|
}else
|
||||||
|
echo "<section name='allcontroles' data-title='Tous les contrôles' class='basic'><table class=basic><tbody><tr><td>Aucun contrôle trouvé</td></tr></tbody></table></section>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* [2] Un contrôle particulier( avec ou sans groupe particulier )
|
||||||
|
==================================================================*/
|
||||||
|
elseif( permission('master') || permission('admin') ){ // si enseignant et qu'un contrôle est spécifié
|
||||||
|
|
||||||
|
|
||||||
|
$request = new stdClass(); $answer = new stdClass();
|
||||||
|
|
||||||
|
$request->level_1 = 'getNotesForYear';
|
||||||
|
$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' ){
|
||||||
|
echo "<section name='allcontroles' data-title='Tous les contrôles' class='basic'>";
|
||||||
|
|
||||||
|
|
||||||
|
// bouton retour
|
||||||
|
// echo "<table class='basic'><thead><tr><th><span class='link'>Retour</span></th></tr></thead></table>";
|
||||||
|
// echo "<table class='basic'><thead><tr><th></th></tr></thead></table>";
|
||||||
|
|
||||||
|
|
||||||
|
echo "<table class='basic col4'><thead>";
|
||||||
|
echo "<th colspan=5 style='font-size:1.5em; text-align:center;'>".$answer->controle['nom'].' - '.$answer->controle['libelle'].'</th>';
|
||||||
|
|
||||||
|
echo '<tr>';
|
||||||
|
echo "<th><span class='link ctrl' data-ctrl='".$answer->controle['id']."'>".$answer->controle['libelle']."</span></th>";
|
||||||
|
|
||||||
|
echo "<th>".$answer->controle['module']." - ".$answer->controle['modulelib']."</th>";
|
||||||
|
|
||||||
|
|
||||||
|
/* [1] Affichage par groupes
|
||||||
|
====================================================================================*/
|
||||||
|
if( $groupeOpt == null ){
|
||||||
|
|
||||||
|
if( $answer->controle['moyenne'] == null ) // si il y a au moins une note pour ce contrôle
|
||||||
|
echo '<th><span class=unstressed>Pas noté</span></th>';
|
||||||
|
else
|
||||||
|
echo '<th><span class=unstressed>Moyenne de</span> '.number_format($answer->controle['moyenne'], 2).' <span class=unstressed>/</span> '.$answer->controle['base'].'</th>';
|
||||||
|
|
||||||
|
/* [2] Affichage par élèves
|
||||||
|
====================================================================================*/
|
||||||
|
}else{
|
||||||
|
|
||||||
|
if( count($answer->controle['userlist']) == 0 ) // si il y a au moins une note pour ce contrôle
|
||||||
|
echo '<th><span class=unstressed>Pas noté</span></th>';
|
||||||
|
else
|
||||||
|
echo '<th><span class=unstressed>Moyenne de</span> '.number_format($answer->controle['moyenne'], 2).' <span class=unstressed>/</span> '.$answer->controle['base'].'</th>';
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
echo '<th><span class=unstressed>Coefficient</span> '.number_format($answer->controle['coefficient'], 2).'</th>';
|
||||||
|
|
||||||
|
echo '</tr></thead>';
|
||||||
|
|
||||||
|
echo "<tbody>";
|
||||||
|
|
||||||
|
|
||||||
|
/* [1] Affichage par groupes
|
||||||
|
====================================================================================*/
|
||||||
|
if( $groupeOpt == null ){
|
||||||
|
|
||||||
|
foreach($answer->controle['grouplist'] as $groupe){ // on affiche la liste des groupes avec leurs stats
|
||||||
|
echo "<tr>";
|
||||||
|
|
||||||
|
echo "<td><span class='link grp ctrl' data-grp='".$groupe['nom']."' data-ctrl='".$answer->controle['id']."'>".$groupe['nom']."</span></td>";
|
||||||
|
|
||||||
|
if( isset($groupe['nb_notes']) ){ // si ce groupe a des notes
|
||||||
|
|
||||||
|
if( $groupe['nb_notes'] == 1 ) echo "<td>".$groupe['nb_notes']." <span class=unstressed>note</span></td>";
|
||||||
|
else echo "<td>".$groupe['nb_notes']." <span class=unstressed>notes</span></td>";
|
||||||
|
|
||||||
|
echo "<td><span class=unstressed>Allant de</span> ".number_format($groupe['min'], 2)." <span class=unstressed>à</span> ".number_format($groupe['max'], 2)."</td>";
|
||||||
|
echo "<td><span class=unstressed>Moyenne de </span>".number_format($groupe['moyenne'], 2)." <span class=unstressed>/</span> ".$answer->controle['base']."</td>";
|
||||||
|
|
||||||
|
}else{ // si le groupe n'a aucune note
|
||||||
|
|
||||||
|
echo "<td><span class=unstressed>Pas de note</span></td>";
|
||||||
|
echo "<td></td>";
|
||||||
|
echo "<td></td>";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "</tr>";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* [2] Affichage par élèves
|
||||||
|
====================================================================================*/
|
||||||
|
}else{
|
||||||
|
|
||||||
|
foreach($answer->controle['userlist'] as $user){ // on affiche la liste des élèves avec leurs notes
|
||||||
|
echo "<tr>";
|
||||||
|
|
||||||
|
echo "<td><span class='link etu' data-etu='".$user['identifiant']."' data-ctrl='".$answer->controle['id']."' data-info='".$user['prenom'].' '.$user['nom']."'>".$user['identifiant']."</span></td>";
|
||||||
|
echo "<td><span class='link grp' data-grp='".$user['groupe']."'>".$user['groupe']."</span></td>";
|
||||||
|
|
||||||
|
if( $user['note'] != null ) // si on a une note
|
||||||
|
echo "<td>".number_format($user['note'], 2)." <span class=unstressed>/</span> ".$answer->controle['base']."</td>";
|
||||||
|
else // si noté
|
||||||
|
echo "<td><span class=unstressed>Pas noté</span></td>";
|
||||||
|
|
||||||
|
echo "<td>";
|
||||||
|
if( $user['note'] != null ) // s'il a déjà une note, on la met par défaut
|
||||||
|
echo "<input class='saisie_note' data-ctrl='".$answer->controle['id']."' type='number' step='.25' min='0' max='".$answer->controle['base']."' placeholder='Note' value='".$user['note']."'>";
|
||||||
|
else // sinon on laisse le champ vide
|
||||||
|
echo "<input class='saisie_note' data-ctrl='".$answer->controle['id']."' type='number' step='.25' min='0' max='".$answer->controle['base']."' placeholder='Note'>";
|
||||||
|
|
||||||
|
echo "<div class='confirm'>enregistrer</div>";
|
||||||
|
echo "</td>";
|
||||||
|
|
||||||
|
echo "</tr>";
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "<tr>";
|
||||||
|
echo "<td></td>";
|
||||||
|
echo "<td></td>";
|
||||||
|
echo "<td></td>";
|
||||||
|
echo "<td><div class='confirm all'>tout enregistrer</div></td>";
|
||||||
|
echo "</tr>";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '</tbody></table>';
|
||||||
|
|
||||||
|
}else
|
||||||
|
echo "<section name='allcontroles' data-title='Tous les contrôles' class='basic'><table class=basic><tbody><tr><td>Aucun contrôle trouvé</td></tr></tbody></table></section>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue