Implémentation et intégration du rôle master

This commit is contained in:
xdrm-brackets 2015-11-26 16:40:04 +01:00
parent 6130bb8dd2
commit fcb2361ac2
5 changed files with 110 additions and 103 deletions

View File

@ -189,7 +189,7 @@ require_once __ROOT__.'/manager/database.php';
/********************************************************************/
/* retourne les utilisateurs de tous les groupes d'une année donnée */
/********************************************************************/
case 'grouplistForYear': if( permission('teacher') || permission('admin') ){
case 'grouplistForYear': if( permission('master') || permission('teacher') || permission('admin') ){
$areSetParam = isset($request->annee); // les arguments existent
$typeOkParam = $areSetParam && is_numeric($request->annee); // si c'est des strings
@ -216,7 +216,7 @@ require_once __ROOT__.'/manager/database.php';
/****************************************************************/
/* retourne la liste des semestres/années présentes dans la BDD */
/****************************************************************/
case 'getSemestres': if( permission('admin') ){
case 'getSemestres': if( permission('master') || permission('admin') ){
$answer->yearList = DataBase::getInstance()->getListeSemestres();
$answer->request = 'success';
@ -249,7 +249,7 @@ require_once __ROOT__.'/manager/database.php';
/******************************************/
/* la liste de TOUS les groupes de la BDD */
/******************************************/
case 'exhaustiveList': if( permission('admin') ){
case 'exhaustiveList': if( permission('master') || permission('admin') ){
$answer->grouplist = DataBase::getInstance()->getExhaustiveGroupList();
$answer->request = 'success';

View File

@ -104,7 +104,7 @@ require_once __ROOT__.'/manager/database.php';
/******************************************/
/* liste des modules d'une ANNEE (par UE) */
/******************************************/
case 'getByYear': if( permission('admin') ){
case 'getByYear': if( permission('master') || permission('admin') ){
$areSetParam = isset($request->annee); // les arguments existent
$typeOkParam = $areSetParam && is_string($request->annee); // si c'est des strings

View File

@ -360,7 +360,7 @@ if( permission('teacher') ){ // si l'utilisateur est connecté et que c'est un
/****************************/
/*** DEPLACEMENT D'ELEVES ***/
/****************************/
if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un admin
if( permission('admin') || permission('master') ){ // si l'utilisateur est connecté et que c'est un admin/référent
$requestAllGroups = new stdClass(); $answerAllGroups = new stdClass();
@ -471,7 +471,10 @@ if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un adm
if( count($group['userlist']) > 0 ){ // s'il y a des utilisateurs
echo "<table class='basic col5'>";
if( permission('admin') )
echo "<table class='basic col5'>";
else
echo "<table class='basic col4'>";
echo '<thead>';
echo '<tr>';
@ -495,6 +498,8 @@ if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un adm
echo '<td>'.$group['nom'].'</td>';
echo '<td>';
// l'admin uniquement peut déplacer les étudiants
/**/ if( permission('admin') ){
/* CHANGEMENT DE GROUPE */
echo "<select data-stre='".$group['id_semestre']."' class='deplacement_groupe'>";
// on affiche le groupe courant
@ -506,6 +511,7 @@ if( permission('admin') ){ // si l'utilisateur est connecté et que c'est un adm
echo '</select>';
echo "<div class='confirm'>déplacer</div>";
}
echo '</td>';
echo '</tr>';
@ -537,9 +543,8 @@ function anneeScolaire($year){ return $year.' - '.($year+1); }
/*********************************/
/*** IMPORTATION FICHIER EXCEL ***/
/*********************************/
if( permission('admin') ){
echo "<section name='importuserlist' data-title='import / export'>";
if( permission('master') || permission('admin') ){
echo "<section name='importuserlist' data-title='excel'>";
/* [1] Exportation
==========================================*/
@ -636,49 +641,47 @@ if( permission('admin') ){
// l'admin uniquement peut importer
if( permission('admin') ){
/* [2] Importation
==========================================*/
// si annéeOpt n'est pas définie, on le fait
if( $anneeOpt == null || $anneeOpt < $_SESSION['annee'] ) $anneeOpt = $_SESSION['annee'];
/* [2] Importation
==========================================*/
/* ON RÉCUPÈRE LA LISTE DES SEMESTRES EN FONCTION DE L'ANNEE */
$request = new stdClass(); $answer = new stdClass();
// $request->level_1 = 'getSemestres';
// groups_switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
// si annéeOpt n'est pas définie, on le fait
if( $anneeOpt == null || $anneeOpt < $_SESSION['annee'] ) $anneeOpt = $_SESSION['annee'];
// if( $answer->request == 'success' ){ // si pas d'erreur
echo "<div class='p center'>";
/* ON RÉCUPÈRE LA LISTE DES SEMESTRES EN FONCTION DE L'ANNEE */
$request = new stdClass(); $answer = new stdClass();
// $request->level_1 = 'getSemestres';
// groups_switch_level_1($request, $answer); // on fait la requête pour les groupes en fonction des filtres si définis
$anneesListe = array();
// if( $answer->request == 'success' ){ // si pas d'erreur
echo "<div class='p center'>";
/**********************/
/* AFFINAGE PAR ANNEE */
/**********************/
echo "Importation des listes d'étudiants<br>";
echo "<span style='font-size:.8em;'>(Fichier .xlsx suivant le modèle : <a href='".__ROOT__."/src/import_etudiants.xlsx'>modèle de fichier</a>)</span><br>";
$anneesListe = array();
/* AFFINAGE POUR LES 5 ANNEES SUIVANTES */
echo "<select name='annee'>";
for($i = 0 ; $i < 5 ; $i++){
if( $anneeOpt == $_SESSION['annee']+$i ) // on préselectionne l'année selectionnée
echo "<option value='".($annee['annee']+$i)."' selected>".anneeScolaire($annee['annee']+$i)."</option>";
else
echo "<option value='".($annee['annee']+$i)."'>".anneeScolaire($annee['annee']+$i)."</option>";
}
echo "</select><br>";
echo "<input type='number' class='import_rangs' min=0 max=6 step=1 placeholder='rang du semestre'><br>";
/**********************/
/* AFFINAGE PAR ANNEE */
/**********************/
echo "Importation des listes d'étudiants<br>";
echo "<span style='font-size:.8em;'>(Fichier .xlsx suivant le modèle : <a href='".__ROOT__."/src/import_etudiants.xlsx'>modèle de fichier</a>)</span><br>";
// echo "<div data-year='".$anneeOpt."' class='confirm active center'>Importer une liste</div>";
echo "<div data-year='".$anneeOpt."' class='confirm active center'>Importer une liste<input type='file' id='import_inscrits'></div>";
/* AFFINAGE POUR LES 5 ANNEES SUIVANTES */
echo "<select name='annee'>";
for($i = 0 ; $i < 5 ; $i++){
if( $anneeOpt == $_SESSION['annee']+$i ) // on préselectionne l'année selectionnée
echo "<option value='".($annee['annee']+$i)."' selected>".anneeScolaire($annee['annee']+$i)."</option>";
else
echo "<option value='".($annee['annee']+$i)."'>".anneeScolaire($annee['annee']+$i)."</option>";
}
echo "</select><br>";
echo "<input type='number' class='import_rangs' min=0 max=6 step=1 placeholder='rang du semestre'><br>";
// echo "<div data-year='".$anneeOpt."' class='confirm active center'>Importer une liste</div>";
echo "<div data-year='".$anneeOpt."' class='confirm active center'>Importer une liste<input type='file' id='import_inscrits'></div>";
echo "</div>";
// }else
// echo "<p>Erreur interne</p>";
echo "</div>";
}
echo "<section>";

View File

@ -314,7 +314,7 @@ if( permission('teacher') ){ // si l'utilisateur est un prof
/****************************************/
/*** TOUT LES MODULES (version admin) ***/
/****************************************/
if( permission('admin') ){ // si l'utilisateur est un admin
if( permission('master') || permission('admin') ){ // si l'utilisateur est un admin
$request = new stdClass(); $answer = new stdClass();
@ -500,9 +500,9 @@ function anneeScolaire($year){ return $year.' - '.($year+1); }
if( permission('admin') ){
if( permission('master') || permission('admin') ){
echo "<section name='importmcc' data-title='import / export'>";
echo "<section name='importmcc' data-title='excel'>";
/* [1] Exportation
==========================================*/
@ -606,83 +606,83 @@ if( permission('admin') ){
// l'admin peut importer un MCC
if( permission('admin') ){
/* [2] Importation
==========================================*/
// si annéeOpt n'est pas définie, on le fait
if( $anneeOpt == null || $anneeOpt < $_SESSION['annee'] || $anneeOpt > $_SESSION['annee']+5 ) $anneeOpt = $_SESSION['annee'];
$anneeOpt = intval($anneeOpt); // on met l'année en (int)
/* [2] Importation
==========================================*/
// si annéeOpt n'est pas définie, on le fait
if( $anneeOpt == null || $anneeOpt < $_SESSION['annee'] || $anneeOpt > $_SESSION['annee']+5 ) $anneeOpt = $_SESSION['annee'];
$anneeOpt = intval($anneeOpt); // on met l'année en (int)
echo "<div class='p center'>";
echo "Importation des MCC d'un semestre<br>";
echo "<span style='font-size:.8em;'>(Fichier .xlsx suivant le modèle : <a href='/src/import_mcc.xlsx'>modèle de fichier</a>)</span><br>";
echo "<div class='p center'>";
echo "Importation des MCC d'un semestre<br>";
echo "<span style='font-size:.8em;'>(Fichier .xlsx suivant le modèle : <a href='/src/import_mcc.xlsx'>modèle de fichier</a>)</span><br>";
/**********************/
/* AFFINAGE PAR ANNEE */
/**********************/
/* AFFINAGE POUR LES 5 ANNEES SUIVANTES */
echo "<select name='annee'>";
for($i = 0 ; $i < 5 ; $i++){
if( $anneeOpt == $_SESSION['annee']+$i ) // on préselectionne l'année selectionnée
echo "<option value='".($_SESSION['annee']+$i)."' selected>".anneeScolaire($_SESSION['annee']+$i)."</option>";
else
echo "<option value='".($_SESSION['annee']+$i)."'>".anneeScolaire($_SESSION['annee']+$i)."</option>";
}
echo "</select><br>";
/**********************/
/* AFFINAGE PAR ANNEE */
/**********************/
/* AFFINAGE POUR LES 5 ANNEES SUIVANTES */
echo "<select name='annee'>";
for($i = 0 ; $i < 5 ; $i++){
if( $anneeOpt == $_SESSION['annee']+$i ) // on préselectionne l'année selectionnée
echo "<option value='".($_SESSION['annee']+$i)."' selected>".anneeScolaire($_SESSION['annee']+$i)."</option>";
else
echo "<option value='".($_SESSION['annee']+$i)."'>".anneeScolaire($_SESSION['annee']+$i)."</option>";
}
echo "</select><br>";
/*************************/
/* AFFINAGE PAR SEMESTRE */
/*************************/
/* On récupère la liste des SEMESTRES en accord avec l'ANNEE sélectionnée */
$semestresListe = array();
foreach($answer->yearList as $annee){ if( $annee['annee'] == $anneeOpt ){ // on récupère la liste des ids
foreach($annee['semestres'] as $semestre){ if( !in_array($semestre['id'], $semestresListe) ){
array_push($semestresListe, $semestre['id']);
/*************************/
/* AFFINAGE PAR SEMESTRE */
/*************************/
/* On récupère la liste des SEMESTRES en accord avec l'ANNEE sélectionnée */
$semestresListe = array();
foreach($answer->yearList as $annee){ if( $annee['annee'] == $anneeOpt ){ // on récupère la liste des ids
foreach($annee['semestres'] as $semestre){ if( !in_array($semestre['id'], $semestresListe) ){
array_push($semestresListe, $semestre['id']);
}}
}}
}}
// si semestreOpt n'est pas cohérent (pas pour cette année)
if( !in_array($semestreOpt, $semestresListe) ) $semestreOpt = null;
if( $semestreOpt == null && count($semestresListe) > 0 ) $semestreOpt = $semestresListe[0];
// si semestreOpt n'est pas cohérent (pas pour cette année)
if( !in_array($semestreOpt, $semestresListe) ) $semestreOpt = null;
if( $semestreOpt == null && count($semestresListe) > 0 ) $semestreOpt = $semestresListe[0];
$count = 0;
$count = 0;
foreach($answer->yearList as $annee){ if( $anneeOpt == $annee['annee'] ){
$count++;
foreach($answer->yearList as $annee){ if( $anneeOpt == $annee['annee'] ){
$count++;
echo "<div class='partlist' name='semestre'>";
foreach($annee['semestres'] as $semestre){ if( in_array($semestre['id'], $semestresListe) ){
echo "<div class='partlist' name='semestre'>";
foreach($annee['semestres'] as $semestre){ if( in_array($semestre['id'], $semestresListe) ){
if( $semestre['id'] == $semestreOpt ) // si c'est le semestre séléctionné
echo "<span data-frm='".$semestre['id_formation']."' data-stre='".$semestre['id']."' class='active'>".$semestre['formation']." - ".$semestre['nom'].'</span>';
else // sinon on affiche normalement
echo "<span data-frm='".$semestre['id_formation']."' data-stre='".$semestre['id']."'>".$semestre['formation']." - ".$semestre['nom'].'</span>';
if( $semestre['id'] == $semestreOpt ) // si c'est le semestre séléctionné
echo "<span data-frm='".$semestre['id_formation']."' data-stre='".$semestre['id']."' class='active'>".$semestre['formation']." - ".$semestre['nom'].'</span>';
else // sinon on affiche normalement
echo "<span data-frm='".$semestre['id_formation']."' data-stre='".$semestre['id']."'>".$semestre['formation']." - ".$semestre['nom'].'</span>';
}}
echo "</div><br><br>";
}}
echo "</div><br><br>";
}}
if( $count == 0 )
echo "<span class='link' id='link_semestre'>Créer un semestre</span><br><br>";
if( $count == 0 )
echo "<span class='link' id='link_semestre'>Créer un semestre</span><br><br>";
if( $semestreOpt != null )
echo "<div data-stre='".$semestreOpt."' class='confirm active center'>Importer les MCC<input type='file' id='import_mcc'></div>";
echo "</div>";
if( $semestreOpt != null )
echo "<div data-stre='".$semestreOpt."' class='confirm active center'>Importer les MCC<input type='file' id='import_mcc'></div>";
echo "</div>";
}else
echo "<div class='p center>Erreur interne...</div>";
}else
echo "<div class='p center>Erreur interne...</div>";
}
echo "</section>";

View File

@ -20,6 +20,10 @@
"password" : "0c443b41ddfc6327efa3cfff9337c6dcdb6bf0dc"
},
"ref": {
"password" : "0c443b41ddfc6327efa3cfff9337c6dcdb6bf0dc"
},
"ono1984a": {
"password" : "password"
}