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
|
public function getNotesEnseignant($enseignant, $semestre_pair, $annee, $controle, $groupe=null){ // [OPTIONNEL] $groupe
|
||||||
|
|
||||||
// on récupère les informations du contrôle
|
// 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
|
// on ajoute la moyenne au contrôle
|
||||||
$controlObj['moyenne'] = noteRepo::moyenneForControle($controlObj['id']);
|
$controlObj['moyenne'] = noteRepo::moyenneForControle($controlObj['id']);
|
||||||
|
|
|
@ -14,24 +14,56 @@ class controleRepo extends DBAccess{
|
||||||
*
|
*
|
||||||
* @controleUID<int> l'UID du controle duquel on veut les infos
|
* @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
|
* @return controle<Array> tableau associatif contenant tout les champs de la BDD pour ce controle
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function info($controleUID){
|
public static function info($controleUID, $enseignant=null){
|
||||||
// on considère que le semestre existe
|
if( $enseignant == null ){
|
||||||
$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
|
/* [1] On cherche juste le contrôle avec l'id spécifié
|
||||||
|
============================================================*/
|
||||||
|
|
||||||
GROUP BY ctrl.id_controle");
|
$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
|
||||||
$getControleInfo->execute(array(
|
FROM controle as ctrl, mcc_module as mcc_m, mcc_ue, semestre as s, module as m
|
||||||
':controleUID' => $controleUID
|
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
|
// on retourne le résultat en supprimant les doublons à indices numériques
|
||||||
return $getControleInfo->fetch();
|
return $getControleInfo->fetch();
|
||||||
|
|
|
@ -129,7 +129,7 @@
|
||||||
* @return toutOK<Boolean> VRAI si variables bonnes / FAUX sinon
|
* @return toutOK<Boolean> VRAI si variables bonnes / FAUX sinon
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
function checkParam($variable, $type){
|
function checkParam($variable, $type=null){
|
||||||
$checker = isset($variable);
|
$checker = isset($variable);
|
||||||
|
|
||||||
// traitement en fonction du type
|
// traitement en fonction du type
|
||||||
|
@ -154,7 +154,7 @@
|
||||||
break;
|
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>';
|
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