Correction accès => enseignant ne peut pas visualiser les contrôles auquels il n'est pas correcteur
This commit is contained in:
parent
0cc2d1a013
commit
9613b75337
|
@ -539,7 +539,7 @@ 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( ! ($controlObj=controleRepo::info($controle, $enseignant)) ) return 'unknown_controle';
|
||||
|
||||
// on ajoute la moyenne au contrôle
|
||||
$controlObj['moyenne'] = noteRepo::moyenneForControle($controlObj['id']);
|
||||
|
|
|
@ -94,7 +94,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$answer->userlist = $userlist;
|
||||
$answer->request = 'success';
|
||||
}else // si on a pas récupéré de liste, alors c'est que $userlist est un message d'erreur
|
||||
$answer->request = $userlist;
|
||||
$answer->request = $userlist;
|
||||
|
||||
}else
|
||||
$answer->request = 'param_error';
|
||||
|
|
|
@ -14,24 +14,56 @@ class controleRepo extends DBAccess{
|
|||
*
|
||||
* @controleUID<int> l'UID du controle duquel on veut les infos
|
||||
*
|
||||
* @enseignant<String> ***OPTIONNEL*** l'UID de l'ensseignant
|
||||
*
|
||||
*
|
||||
* @return controle<Array> tableau associatif contenant tout les champs de la BDD pour ce controle
|
||||
*
|
||||
*/
|
||||
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
|
||||
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 mcc_ue.id_mcc_ue = mcc_m.id_mcc_ue
|
||||
AND mcc_ue.id_semestre = s.id_semestre
|
||||
public static function info($controleUID, $enseignant=null){
|
||||
if( $enseignant == null ){
|
||||
|
||||
AND ctrl.id_controle = :controleUID
|
||||
/* [1] On cherche juste le contrôle avec l'id spécifié
|
||||
============================================================*/
|
||||
|
||||
GROUP BY ctrl.id_controle");
|
||||
$getControleInfo->execute(array(
|
||||
':controleUID' => $controleUID
|
||||
));
|
||||
$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 mcc_ue.id_mcc_ue = mcc_m.id_mcc_ue
|
||||
AND mcc_ue.id_semestre = s.id_semestre
|
||||
|
||||
AND ctrl.id_controle = :controleUID
|
||||
|
||||
GROUP BY ctrl.id_controle");
|
||||
$getControleInfo->execute(array(
|
||||
':controleUID' => $controleUID
|
||||
));
|
||||
|
||||
}else{ // cas où on cherche un contrôle qu'un enseignant corrige
|
||||
|
||||
/* [2] On cherche le contrôle avec l'id spécifié qu'enseignant l'@enseignant
|
||||
==============================================================================*/
|
||||
$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, enseignement as ens
|
||||
WHERE ctrl.id_mcc_module = mcc_m.id_mcc_module
|
||||
AND mcc_m.id_module = m.id_module
|
||||
AND mcc_ue.id_mcc_ue = mcc_m.id_mcc_ue
|
||||
AND mcc_ue.id_semestre = s.id_semestre
|
||||
AND ens.id_mcc_module = mcc_m.id_mcc_module
|
||||
AND ens.correcteur = 1
|
||||
AND ens.id_enseignant = :enseignant
|
||||
|
||||
AND ctrl.id_controle = :controleUID
|
||||
|
||||
GROUP BY ctrl.id_controle");
|
||||
$getControleInfo->execute(array(
|
||||
':enseignant' => $enseignant,
|
||||
':controleUID' => $controleUID
|
||||
));
|
||||
|
||||
|
||||
}
|
||||
|
||||
// on retourne le résultat en supprimant les doublons à indices numériques
|
||||
return $getControleInfo->fetch();
|
||||
|
|
|
@ -129,7 +129,7 @@
|
|||
* @return toutOK<Boolean> VRAI si variables bonnes / FAUX sinon
|
||||
*
|
||||
*/
|
||||
function checkParam($variable, $type){
|
||||
function checkParam($variable, $type=null){
|
||||
$checker = isset($variable);
|
||||
|
||||
// traitement en fonction du type
|
||||
|
@ -154,7 +154,7 @@
|
|||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
return $checker;
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -449,7 +449,9 @@ elseif( permission('teacher') ){ // si enseignant et qu'un contrôle est spécif
|
|||
|
||||
echo '</tbody></table>';
|
||||
|
||||
}
|
||||
}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>";
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue