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 */ /* 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 $areSetParam = isset($request->annee); // les arguments existent
$typeOkParam = $areSetParam && is_numeric($request->annee); // si c'est des strings $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 */ /* 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->yearList = DataBase::getInstance()->getListeSemestres();
$answer->request = 'success'; $answer->request = 'success';
@ -249,7 +249,7 @@ require_once __ROOT__.'/manager/database.php';
/******************************************/ /******************************************/
/* la liste de TOUS les groupes de la BDD */ /* 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->grouplist = DataBase::getInstance()->getExhaustiveGroupList();
$answer->request = 'success'; $answer->request = 'success';

View File

@ -104,7 +104,7 @@ require_once __ROOT__.'/manager/database.php';
/******************************************/ /******************************************/
/* liste des modules d'une ANNEE (par UE) */ /* 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 $areSetParam = isset($request->annee); // les arguments existent
$typeOkParam = $areSetParam && is_string($request->annee); // si c'est des strings $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 ***/ /*** 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(); $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 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 '<thead>';
echo '<tr>'; 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>'.$group['nom'].'</td>';
echo '<td>'; echo '<td>';
// l'admin uniquement peut déplacer les étudiants
/**/ if( permission('admin') ){
/* CHANGEMENT DE GROUPE */ /* CHANGEMENT DE GROUPE */
echo "<select data-stre='".$group['id_semestre']."' class='deplacement_groupe'>"; echo "<select data-stre='".$group['id_semestre']."' class='deplacement_groupe'>";
// on affiche le groupe courant // 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 '</select>';
echo "<div class='confirm'>déplacer</div>"; echo "<div class='confirm'>déplacer</div>";
}
echo '</td>'; echo '</td>';
echo '</tr>'; echo '</tr>';
@ -537,9 +543,8 @@ function anneeScolaire($year){ return $year.' - '.($year+1); }
/*********************************/ /*********************************/
/*** IMPORTATION FICHIER EXCEL ***/ /*** IMPORTATION FICHIER EXCEL ***/
/*********************************/ /*********************************/
if( permission('admin') ){ if( permission('master') || permission('admin') ){
echo "<section name='importuserlist' data-title='import / export'>"; echo "<section name='importuserlist' data-title='excel'>";
/* [1] Exportation /* [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( $answer->request == 'success' ){ // si pas d'erreur
if( $anneeOpt == null || $anneeOpt < $_SESSION['annee'] ) $anneeOpt = $_SESSION['annee']; echo "<div class='p center'>";
/* ON RÉCUPÈRE LA LISTE DES SEMESTRES EN FONCTION DE L'ANNEE */ $anneesListe = array();
$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
// 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>";
/**********************/ // echo "<div data-year='".$anneeOpt."' class='confirm active center'>Importer une liste</div>";
/* AFFINAGE PAR ANNEE */ echo "<div data-year='".$anneeOpt."' class='confirm active center'>Importer une liste<input type='file' id='import_inscrits'></div>";
/**********************/
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>";
/* AFFINAGE POUR LES 5 ANNEES SUIVANTES */ echo "</div>";
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 "<section>"; echo "<section>";

View File

@ -314,7 +314,7 @@ if( permission('teacher') ){ // si l'utilisateur est un prof
/****************************************/ /****************************************/
/*** TOUT LES MODULES (version admin) ***/ /*** 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(); $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 /* [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 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>";
// 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>"; /* AFFINAGE PAR ANNEE */
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 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 PAR SEMESTRE */
/**********************/ /*************************/
/* On récupère la liste des SEMESTRES en accord avec l'ANNEE sélectionnée */
/* AFFINAGE POUR LES 5 ANNEES SUIVANTES */ $semestresListe = array();
echo "<select name='annee'>"; foreach($answer->yearList as $annee){ if( $annee['annee'] == $anneeOpt ){ // on récupère la liste des ids
for($i = 0 ; $i < 5 ; $i++){ foreach($annee['semestres'] as $semestre){ if( !in_array($semestre['id'], $semestresListe) ){
if( $anneeOpt == $_SESSION['annee']+$i ) // on préselectionne l'année selectionnée array_push($semestresListe, $semestre['id']);
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']);
}} }}
}}
// si semestreOpt n'est pas cohérent (pas pour cette année) // si semestreOpt n'est pas cohérent (pas pour cette année)
if( !in_array($semestreOpt, $semestresListe) ) $semestreOpt = null; if( !in_array($semestreOpt, $semestresListe) ) $semestreOpt = null;
if( $semestreOpt == null && count($semestresListe) > 0 ) $semestreOpt = $semestresListe[0]; if( $semestreOpt == null && count($semestresListe) > 0 ) $semestreOpt = $semestresListe[0];
$count = 0; $count = 0;
foreach($answer->yearList as $annee){ if( $anneeOpt == $annee['annee'] ){ foreach($answer->yearList as $annee){ if( $anneeOpt == $annee['annee'] ){
$count++; $count++;
echo "<div class='partlist' name='semestre'>"; echo "<div class='partlist' name='semestre'>";
foreach($annee['semestres'] as $semestre){ if( in_array($semestre['id'], $semestresListe) ){ foreach($annee['semestres'] as $semestre){ if( in_array($semestre['id'], $semestresListe) ){
if( $semestre['id'] == $semestreOpt ) // si c'est le semestre séléctionné 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>'; echo "<span data-frm='".$semestre['id_formation']."' data-stre='".$semestre['id']."' class='active'>".$semestre['formation']." - ".$semestre['nom'].'</span>';
else // sinon on affiche normalement else // sinon on affiche normalement
echo "<span data-frm='".$semestre['id_formation']."' data-stre='".$semestre['id']."'>".$semestre['formation']." - ".$semestre['nom'].'</span>'; 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 ) if( $count == 0 )
echo "<span class='link' id='link_semestre'>Créer un semestre</span><br><br>"; echo "<span class='link' id='link_semestre'>Créer un semestre</span><br><br>";
if( $semestreOpt != null ) if( $semestreOpt != null )
echo "<div data-stre='".$semestreOpt."' class='confirm active center'>Importer les MCC<input type='file' id='import_mcc'></div>"; echo "<div data-stre='".$semestreOpt."' class='confirm active center'>Importer les MCC<input type='file' id='import_mcc'></div>";
echo "</div>"; echo "</div>";
}else }else
echo "<div class='p center>Erreur interne...</div>"; echo "<div class='p center>Erreur interne...</div>";
}
echo "</section>"; echo "</section>";

View File

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