diff --git a/manager/career.php b/manager/career.php index eb62ef7..de0e21e 100755 --- a/manager/career.php +++ b/manager/career.php @@ -345,6 +345,42 @@ class careerManager{ + + + /****************************************/ + /* Passage de semestre pour un étudiant */ + /****************************************/ + /* + * Cherche si un semestre de même formation + * et de rang supérieur existe pour cette même année A + * ou l'année suivante A+1 avec rang+1 + * + */ + case 'passageSemestre': if( permission('admin') ){ + + $areSetParam = isset($request->etudiant) && isset($request->semestre); // les arguments existent + $etudiantCheck = $areSetParam && checkParam($request->etudiant, 'utilisateur.identifiant'); // l'identifiant de l'étudiant est au bon format + $semestreCheck = $$etudiantCheck && checkParam($request->semestre, 'auto_increment_id'); // l'id du semestre est au bon format + + + if( $semestreCheck ){ // si tout les paramètres sont bons + $passageStatus = DataBase::getInstance()->passageSemestre($request->etudiant, $request->semestre); + if( $creationOk ) + $answer->request = 'success'; + else + $answer->request = 'error'; + + }else + $answer->request = 'param_error'; + + }else + $answer->request = 'permission_error'; + break; + + + + + /***********/ /* DEFAULT */ /***********/ diff --git a/manager/database.php b/manager/database.php index 4968a83..404bfd2 100755 --- a/manager/database.php +++ b/manager/database.php @@ -310,7 +310,9 @@ class DataBase{ /* retourne le semestre en cours d'un étudiant * - * @etudiant l'identifiant (UID) de l'étudiant à ajouter au groupe + * @etudiant L'identifiant (UID) de l'étudiant en question + * @semestre_pair VRAI si le rang semestre est pair, sinon FAUX + * @annee L'année scolaire en cours * * @return semestreUID l'UID du semestre courant * diff --git a/manager/excel.php b/manager/excel.php index 117fa2b..9f36979 100755 --- a/manager/excel.php +++ b/manager/excel.php @@ -458,7 +458,7 @@ class excelManager{ $sheet->setCellValue('A'.$index, $student->identifiant); $sheet->setCellValue('B'.$index, $group->formation); $sheet->setCellValue('C'.$index, $group->nom); - $sheet->setCellValue('D'.$index, 'À compléter'); + $sheet->setCellValue('D'.$index, '[À compléter]'); $index++; } } diff --git a/manager/repo/module.php b/manager/repo/module.php index 50a4564..61857ac 100755 --- a/manager/repo/module.php +++ b/manager/repo/module.php @@ -41,7 +41,7 @@ class moduleRepo{ $getModuleInfo->execute(array( ':moduleUID' => $moduleUID )); // on retourne le résultat en supprimant les doublons à indices numériques - return $getModuleInfo->fetch(); + return DataBase::delNumeric( $getModuleInfo->fetch(), true ); } diff --git a/manager/repo/note.php b/manager/repo/note.php index 1eecf8e..fc9720d 100755 --- a/manager/repo/note.php +++ b/manager/repo/note.php @@ -51,7 +51,7 @@ class noteRepo{ )); // on retourne le résultat en supprimant les doublons à indices numériques - return $getUtilisateurInfo->fetch(); + return DataBase::delNumeric( $getUtilisateurInfo->fetch(), true ); } @@ -191,7 +191,7 @@ class noteRepo{ ORDER BY g.nom ASC"); $getNoteList->execute(array( ':controle' => $controle, ':groupe' => $groupe )); - return $getNoteList->fetch(); + return DataBase::delNumeric( $getNoteList->fetch(), true ); } @@ -215,7 +215,7 @@ class noteRepo{ $getMoyenne->execute(array( ':controle' => $controle )); if( $fetchObj = $getMoyenne->fetch() ) - return $fetchObj['moyenne']; + return DataBase::delNumeric( $fetchObj['moyenne'], true ); else return null; } @@ -247,7 +247,7 @@ class noteRepo{ GROUP BY mcc_m.id_mcc_module"); $getMoyenneModule->execute(array( ':etudiant' => $etudiant, ':module' => $module, ':semestre' => $semestre )); - return $getMoyenneModule->fetch(); + return DataBase::delNumeric( $getMoyenneModule->fetch(), true ); } diff --git a/manager/repo/semestre.php b/manager/repo/semestre.php index 801e895..8d4b6e0 100755 --- a/manager/repo/semestre.php +++ b/manager/repo/semestre.php @@ -117,7 +117,7 @@ class semestreRepo{ AND nom = :nom"); $getFormationUID->execute(array( ':code' => $code, ':nom' => $nom )); - return $formationUID = $getFormationUID->fetch()['id']; + return $getFormationUID->fetch()['id']; } @@ -189,7 +189,7 @@ class semestreRepo{ $getSemestreInfo->execute(array( ':semestreUID' => $semestreUID )); // on retourne le résultat en supprimant les doublons à indices numériques - return $getSemestreInfo->fetch(); + return DataBase::delNumeric( $getSemestreInfo->fetch(), true ); } @@ -245,7 +245,7 @@ class semestreRepo{ )); // on retourne les infos du semestre courant - return $getSemestreInfos->fetch(); + return DataBase::delNumeric( $getSemestreInfos->fetch(), true ); } @@ -441,7 +441,7 @@ class semestreRepo{ FROM semestre as s, mcc_ue GROUP BY s.annee"); - return $getLastMccYear->fetch(); + return DataBase::delNumeric( $getLastMccYear->fetch(), true ); } } \ No newline at end of file diff --git a/manager/repo/ue.php b/manager/repo/ue.php index fd3b2dd..7fc8a1d 100755 --- a/manager/repo/ue.php +++ b/manager/repo/ue.php @@ -41,7 +41,7 @@ class ueRepo extends DBAccess{ $getUEInfo->execute(array( ':UEUID' => $UEUID )); // on retourne le résultat en supprimant les doublons à indices numériques - return $getUEInfo->fetch(); + return DataBase::delNumeric( $getUEInfo->fetch(), true ); } diff --git a/src/files/admin2_export_jury.xlsx b/src/files/admin2_export_jury.xlsx index aa912f5..2cd880a 100644 Binary files a/src/files/admin2_export_jury.xlsx and b/src/files/admin2_export_jury.xlsx differ diff --git a/test.php b/test.php index dfa5039..79cd70e 100755 --- a/test.php +++ b/test.php @@ -45,13 +45,22 @@ require_once __ROOT__.'/manager/security.php'; debug(); -var_dump( semestreRepo::getLastMCCYear() ); - -// [1] On récupère tous les UE d'un étudiant -// $uelist = DataBase::getInstance()->getUEsEtudiant('mrd1609a', 16, 2015); -// var_dump( $uelist ); +/* [1] On récupère le semestre d'un étudiant */ +$semestre = DataBase::studentSemestre('Etud100', false, 2015); +var_dump($semestre); +/* [2] On cherche le semestre suivant */ +$req = DataBase::getPDO()->prepare("SELECT s.* + FROM semestre as s + WHERE s.id_formation = :id_formation + AND s.rang > :last_rang + AND + "); +$req->execute(array( + ':id_formation' => $semestre['id_formation'], + ':last_rang' => $semestre['rang'] +));