[x] Déployer et remodeler: enseignement de groupe & mcc_module
+ définir les requêtes à modifier + définir les actions qui auront de conséquences + modifier les requêtes + modifier l'interface + modifier le déploiement
This commit is contained in:
parent
7b98cb3299
commit
e89e992894
|
@ -534,7 +534,7 @@ class DataBase{
|
|||
|
||||
// on cherche si cet enseignant enseigne un semestre courant de cette année
|
||||
if( !($enseignantUID=userRepo::UID($enseignant, null, $semestre_pair, $annee)) ) return 'unknown_teacher';
|
||||
|
||||
|
||||
|
||||
// on récupère la liste des groupes
|
||||
$grouplist = DataBase::delNumeric( groupRepo::forTeacher($enseignantUID, $semestre_pair, $annee) );
|
||||
|
@ -844,7 +844,7 @@ class DataBase{
|
|||
public function getControlesEnseignant($enseignant, $semestre_pair, $annee){
|
||||
// on vérifie que le semestre existe et que l'enseignant y enseigne
|
||||
if( !($enseignantUID=userRepo::UID($enseignant, null, $semestre_pair, $annee)) ) return 'unknown_teacher';
|
||||
debug();
|
||||
|
||||
// on récupère les semestres de cette année
|
||||
$semestreList = semestreRepo::forTeacher($enseignantUID, $semestre_pair, $annee);
|
||||
|
||||
|
@ -917,7 +917,7 @@ class DataBase{
|
|||
public function getNotesForControleEnseignant($enseignant, $annee, $controle, $groupe=null){ // [OPTIONNEL] $groupe
|
||||
|
||||
// on récupère les informations du contrôle
|
||||
if( ! ($controlObj=controleRepo::info($controle, $enseignant)) ) return 'unknown_controle';
|
||||
if( !($controlObj=controleRepo::info($controle, $enseignant, $groupe)) ) return 'unknown_controle';
|
||||
|
||||
// on ajoute la moyenne au contrôle
|
||||
$controlObj['moyenne'] = noteRepo::moyenneForControle($controlObj['id']);
|
||||
|
@ -938,14 +938,12 @@ class DataBase{
|
|||
/* [2] si on veut par groupe
|
||||
=======================================*/
|
||||
}else{
|
||||
$controlObj['grouplist'] = groupRepo::forControle($controle);
|
||||
$controlObj['grouplist'] = groupRepo::forControle($controle, $enseignant);
|
||||
|
||||
foreach($controlObj['grouplist'] as $iter=>$grpe)
|
||||
if( $controleNotes = noteRepo::forGroupe($controle, $grpe['id_groupe']) ) // si le groupe a des notes, on les ajoutes
|
||||
$controlObj['grouplist'][$iter] = array_merge($controlObj['grouplist'][$iter], $controleNotes);
|
||||
|
||||
// var_dump( $controlObj );
|
||||
debug();
|
||||
}
|
||||
|
||||
return $controlObj;
|
||||
|
@ -960,6 +958,9 @@ class DataBase{
|
|||
/*******************************************/
|
||||
public function getNotesForControle($annee, $controle, $groupe=null){ // [OPTIONNEL] $groupe
|
||||
|
||||
// on vérifie que le semestre existe et que l'enseignant y enseigne
|
||||
if( !($enseignantUID=userRepo::UID($enseignant)) ) return 'unknown_teacher';
|
||||
|
||||
// on récupère les informations du contrôle
|
||||
if( ! ($controlObj=controleRepo::info($controle)) ) return 'unknown_controle';
|
||||
|
||||
|
@ -983,6 +984,7 @@ class DataBase{
|
|||
=======================================*/
|
||||
}else{
|
||||
$controlObj['grouplist'] = groupRepo::forControle($controle);
|
||||
var_dump( $controlObj['grouplist'] );
|
||||
|
||||
foreach($controlObj['grouplist'] as $iter=>$grpe)
|
||||
if( $controleNotes = noteRepo::forGroupe($controle, $grpe['id_groupe']) ) // si le groupe a des notes, on les ajoutes
|
||||
|
|
|
@ -20,7 +20,7 @@ class controleRepo extends DBAccess{
|
|||
* @return controle<Array> tableau associatif contenant tout les champs de la BDD pour ce controle
|
||||
*
|
||||
*/
|
||||
public static function info($controleUID, $enseignant=null){
|
||||
public static function info($controleUID, $enseignant=null, $groupe=null){
|
||||
if( $enseignant == null ){
|
||||
|
||||
/* [1] On cherche juste le contrôle avec l'id spécifié
|
||||
|
@ -41,6 +41,7 @@ class controleRepo extends DBAccess{
|
|||
));
|
||||
|
||||
}else{ // cas où on cherche un contrôle qu'un enseignant corrige
|
||||
$groupeUID = (is_numeric($groupe)) ? $groupe : '%';
|
||||
|
||||
/* [2] On cherche le contrôle avec l'id spécifié qu'enseignant l'@enseignant
|
||||
==============================================================================*/
|
||||
|
@ -53,6 +54,7 @@ class controleRepo extends DBAccess{
|
|||
AND ens.id_mcc_module = mcc_m.id_mcc_module
|
||||
AND ens.correcteur = 1
|
||||
AND ens.id_enseignant = :enseignant
|
||||
AND ens.id_groupe LIKE '$groupeUID'
|
||||
|
||||
AND ctrl.id_controle = :controleUID
|
||||
|
||||
|
|
|
@ -269,19 +269,28 @@ class groupRepo extends DBAccess{
|
|||
*
|
||||
* @controle<int> l'UID du contrôle en question
|
||||
*
|
||||
* @enseignant<int> ***OPTIONNEL*** l'UID de l'enseignant en question
|
||||
*
|
||||
*
|
||||
* @return groupes<Array> retourne un tableau contenant les groupes inscrits à ce contrôle
|
||||
* @return FALSE<Boolean> retourne FALSE si aucun groupe n'y est inscrit
|
||||
*
|
||||
*/
|
||||
public static function forControle($controle){
|
||||
$getGroupeList = DataBase::getPDO()->prepare("SELECT DISTINCT g.id_groupe, g.nom
|
||||
FROM groupe as g, appartenance as app, mcc_ue, mcc_module as mcc_m, controle as ctrl
|
||||
WHERE app.id_groupe = g.id_groupe
|
||||
AND ctrl.id_mcc_module = mcc_m.id_mcc_module
|
||||
AND mcc_m.id_mcc_ue = mcc_ue.id_mcc_ue
|
||||
AND app.id_semestre = mcc_ue.id_semestre
|
||||
public static function forControle($controle, $enseignant=null){
|
||||
$enseignantUID = (is_string($enseignant)) ? $enseignant : '%';
|
||||
|
||||
$getGroupeList = DataBase::getPDO()->prepare("SELECT DISTINCT g.id_groupe, g.nom
|
||||
FROM groupe as g, mcc_module as mcc_m, controle as ctrl, enseignement as ens
|
||||
-- WHERE app.id_groupe = g.id_groupe
|
||||
-- AND ens.id_groupe = g.id_groupe
|
||||
-- AND ens.id_mcc_module = mcc_m.id_mcc_module
|
||||
-- AND ctrl.id_mcc_module = mcc_m.id_mcc_module
|
||||
-- AND mcc_m.id_mcc_ue = mcc_ue.id_mcc_ue
|
||||
-- AND app.id_semestre = mcc_ue.id_semestre
|
||||
WHERE ctrl.id_mcc_module = ens.id_mcc_module
|
||||
AND ens.id_groupe = g.id_groupe
|
||||
|
||||
AND ens.id_enseignant LIKE '$enseignantUID'
|
||||
AND ctrl.id_controle = :controle
|
||||
ORDER BY g.nom ASC");
|
||||
$getGroupeList->execute(array( ':controle' => $controle ));
|
||||
|
|
|
@ -331,9 +331,9 @@ elseif( permission('teacher') ){ // si enseignant et qu'un contrôle est spécif
|
|||
|
||||
$request = new stdClass(); $answer = new stdClass();
|
||||
|
||||
$request->level_1 = 'getNotesEnseignant';
|
||||
$request->level_1 = 'getNotesEnseignant';
|
||||
$request->enseignant = $_SESSION['identifiant'];
|
||||
$request->controle = $controleOpt;
|
||||
$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);
|
||||
|
|
|
@ -204,7 +204,7 @@ if( permission('teacher') ){ // si l'utilisateur est connecté et que c'est un
|
|||
|
||||
groups_switch_level_1($request, $answer);
|
||||
|
||||
var_dump( $answer );
|
||||
// var_dump( $answer );
|
||||
|
||||
if( $answer->request == 'success' && $answer->request == 'success' && count($answer->grouplist) > 0 ){ // si on a bien récupéré les membres du groupe
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
Loading…
Reference in New Issue