Déploiement de l'intégration/modification des enseignements + déploiement à l'interface de modification des rôles, reste affiche à déployer et modifier.
[x] Modifier modèle: prof corrige un GROUPE pour un module + modifier BDD + afficher les groupes pour le changement de rôles + intégrer la modification au changement de rôles
This commit is contained in:
parent
75265c8987
commit
83fd11cf15
2
API.js
2
API.js
|
@ -51,7 +51,7 @@ APIClass.prototype = {
|
|||
if( ptrAPI.xhr[i].readyState == 4 ){ // si la requête est terminée
|
||||
|
||||
/* DEBUG : affiche la réponse BRUTE de API.php */
|
||||
// console.log('API.php => '+ptrAPI.xhr[i].responseText);
|
||||
console.log('API.php => '+ptrAPI.xhr[i].responseText);
|
||||
console.log( JSON.parse(ptrAPI.xhr[i].responseText) );
|
||||
|
||||
/* si success de requête */
|
||||
|
|
|
@ -34,6 +34,9 @@ div.p.center input{
|
|||
}
|
||||
|
||||
|
||||
.nomargin{ margin: 0 !important; }
|
||||
.nopadding{ padding: 0 !important; }
|
||||
|
||||
input{ font-family: inherit; } /* même police pour les input */
|
||||
|
||||
/*************************/
|
||||
|
@ -265,6 +268,31 @@ div.p.center select{
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.del{
|
||||
color: #f55b55;
|
||||
cursor: pointer;
|
||||
|
||||
/* animation */
|
||||
transition: all .2s ease-in-out;
|
||||
-moz-transition: all .2s ease-in-out;
|
||||
-webkit-transition: all .2s ease-in-out;
|
||||
-ms-transition: all .2s ease-in-out;
|
||||
-o-transition: all .2s ease-in-out;
|
||||
}
|
||||
|
||||
/* hover */
|
||||
.del:hover{ font-weight: bold; }
|
||||
|
||||
|
||||
|
||||
|
||||
.confirm{
|
||||
/* position */
|
||||
/*display: inline-block;*/ display: none;
|
||||
|
@ -295,6 +323,7 @@ div.p.center select{
|
|||
}
|
||||
|
||||
|
||||
|
||||
.confirm [type=file]{
|
||||
/* position */
|
||||
display: block;
|
||||
|
|
|
@ -217,7 +217,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
/****************************************************/
|
||||
/* saisie d'une note pour un étudiant à un contrôle */
|
||||
/****************************************************/
|
||||
case 'saisieNote': if( permission('teacher') || permission('admin') && $_SESSION['annee'] < getCurrentYear() ){
|
||||
case 'saisieNote': if( (permission('teacher') || permission('admin')) && $_SESSION['annee'] >= getCurrentYear() ){
|
||||
|
||||
$areSetParam = isset($request->etudiant) && isset($request->controle) && isset($request->note); // les arguments existent
|
||||
$typeOkParam = $areSetParam && is_string($request->etudiant); // si c'est des strings
|
||||
|
@ -237,7 +237,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
/****************************************************/
|
||||
/* saisie d'une note pour un groupe à un contrôle */
|
||||
/****************************************************/
|
||||
case 'saisieNoteMultiple': if( permission('teacher') || permission('admin') && $_SESSION['annee'] == getCurrentYear() ){
|
||||
case 'saisieNoteMultiple': if( (permission('teacher') || permission('admin')) && $_SESSION['annee'] >= getCurrentYear() ){
|
||||
|
||||
$areSetParam = isset($request->notes) && isset($request->controle); // les arguments existent
|
||||
$typeOkParam = $areSetParam && is_array($request->notes) && is_numeric($request->controle); // si c'est des strings
|
||||
|
|
|
@ -345,15 +345,39 @@ class DataBase{
|
|||
* @utilisateur<String> l'UID de l'utilisateur en question
|
||||
* @mccmodule<int> l'UID du mcc_module à ajouter
|
||||
*
|
||||
* @groupe<int> ***OPTIONNEL*** l'UID du groupe à ajouter
|
||||
*
|
||||
*
|
||||
* @return added<Boolean> VRAI si module ajouté, sinon FALSE
|
||||
*
|
||||
*/
|
||||
public function correcteurAjouterModule($utilisateur, $mccmodule){
|
||||
// on vérifie l'existence de l'utilisateur
|
||||
public function correcteurAjouterModule($utilisateur, $mccmodule, $groupe=null){
|
||||
// on vérifie l'existence de l'utilisateur et du groupe
|
||||
if( !($utilisateurUID=userRepo::UID($utilisateur)) ) return 'unknown_user';
|
||||
|
||||
return userRepo::addModule($utilisateurUID, $mccmodule);
|
||||
if( $groupe != null ) // si un groupe est donné, on le cherche
|
||||
if( !($groupeUID=groupRepo::info($groupe)['id']) ) return 'unknown_group';
|
||||
|
||||
|
||||
|
||||
|
||||
// si on ajoute pour un groupe donné, on le fait
|
||||
if( $groupe != null )
|
||||
$success = userRepo::addModule($utilisateurUID, $mccmodule, $groupeUID);
|
||||
|
||||
|
||||
|
||||
// si aucun groupe n'est donné
|
||||
else{
|
||||
|
||||
$inscrits = groupRepo::inscritsMccModule($mccmodule);
|
||||
$success = true;
|
||||
foreach($inscrits as $groupe)
|
||||
$success = $success && userRepo::addModule($utilisateurUID, $mccmodule, $groupe['id']);
|
||||
|
||||
}
|
||||
|
||||
return $success;
|
||||
|
||||
}
|
||||
|
||||
|
@ -363,15 +387,39 @@ class DataBase{
|
|||
* @utilisateur<String> l'UID de l'utilisateur en question
|
||||
* @mccmodule<int> l'UID du mcc_module à supprimer
|
||||
*
|
||||
* @groupe<int> ***OPTIONNEL*** l'UID du groupe à supprimer
|
||||
*
|
||||
*
|
||||
* @return removed<Boolean> VRAI si module supprimé, sinon FALSE
|
||||
*
|
||||
*/
|
||||
public function correcteurSupprimerModule($utilisateur, $mccmodule){
|
||||
public function correcteurSupprimerModule($utilisateur, $mccmodule, $groupe=null){
|
||||
// on vérifie l'existence de l'utilisateur
|
||||
if( !($utilisateurUID=userRepo::UID($utilisateur)) ) return 'unknown_user';
|
||||
|
||||
return userRepo::delModule($utilisateurUID, $mccmodule);
|
||||
if( $groupe != null ) // si un groupe est donné, on le cherche
|
||||
if( !($groupeUID=groupRepo::info($groupe)['id']) ) return 'unknown_group';
|
||||
|
||||
|
||||
|
||||
|
||||
// si on ajoute pour un groupe donné, on le fait
|
||||
if( $groupe != null )
|
||||
$success = userRepo::delModule($utilisateurUID, $mccmodule, $groupeUID);
|
||||
|
||||
|
||||
|
||||
// si aucun groupe n'est donné
|
||||
else{
|
||||
|
||||
$inscrits = groupRepo::inscritsMccModule($mccmodule);
|
||||
$success = true;
|
||||
foreach($inscrits as $groupe)
|
||||
$success = $success && userRepo::delModule($utilisateurUID, $mccmodule, $groupe['id']);
|
||||
|
||||
}
|
||||
|
||||
return $success;
|
||||
|
||||
}
|
||||
|
||||
|
@ -626,9 +674,24 @@ class DataBase{
|
|||
foreach($semestreList as $iter_s=>$a){
|
||||
$semestreList[$iter_s]['UElist'] = ueRepo::forTeacher($enseignantUID, $semestreList[$iter_s]['id']);
|
||||
|
||||
foreach($semestreList[$iter_s]['UElist'] as $iter_u=>$b)
|
||||
foreach($semestreList[$iter_s]['UElist'] as $iter_u=>$b){
|
||||
$semestreList[$iter_s]['UElist'][$iter_u]['modules'] = moduleRepo::forTeacher($enseignantUID, $semestreList[$iter_s]['UElist'][$iter_u]['id'], $semestreList[$iter_s]['id']);
|
||||
|
||||
|
||||
foreach($semestreList[$iter_s]['UElist'][$iter_u]['modules'] as $iter_m=>$MOD){
|
||||
// on enregistre la liste des groupes inscrits
|
||||
$semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['groupes'] = groupRepo::inscritsMccModule($MOD['id_mcc_module']);
|
||||
|
||||
foreach($semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['groupes'] as $iter_g=>$GROUPE){
|
||||
// on enregistre "true" si l'enseignant les enseigne, sinon "false"
|
||||
$semestreList[$iter_s]['UElist'][$iter_u]['modules'][$iter_m]['groupes'][$iter_g]['enseigne'] = userRepo::enseigne($enseignantUID, $MOD['id_mcc_module'], $GROUPE['id']);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $semestreList;
|
||||
|
@ -646,15 +709,14 @@ class DataBase{
|
|||
// on récupère les semestres de cette année
|
||||
$semestreList = semestreRepo::forYear($annee);
|
||||
|
||||
foreach($semestreList as $iter_s=>$a){
|
||||
$semestreList[$iter_s]['UElist'] = ueRepo::forYear($semestreList[$iter_s]['id']);
|
||||
foreach($semestreList as $iter_s=>$SEMESTRE){
|
||||
$semestreList[$iter_s]['UElist'] = ueRepo::forYear($SEMESTRE['id']);
|
||||
|
||||
foreach($semestreList[$iter_s]['UElist'] as $iter_u=>$b){
|
||||
$semestreList[$iter_s]['UElist'][$iter_u]['modules'] = moduleRepo::forYear($semestreList[$iter_s]['UElist'][$iter_u]['id'], $semestreList[$iter_s]['id']);
|
||||
foreach($semestreList[$iter_s]['UElist'] as $iter_u=>$UE)
|
||||
$semestreList[$iter_s]['UElist'][$iter_u]['modules'] = moduleRepo::forYear($UE['id'], $SEMESTRE['id']);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $semestreList;
|
||||
}
|
||||
|
|
|
@ -228,7 +228,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
/************************************************/
|
||||
/* déplace un étudiant de son groupe à un autre */
|
||||
/************************************************/
|
||||
case 'move': if( permission('admin') && $_SESSION['annee'] < getCurrentYear() ){
|
||||
case 'move': if( permission('admin') && $_SESSION['annee'] >= getCurrentYear() ){
|
||||
|
||||
$areSetParam = isset($request->etudiant) && isset($request->groupe) && isset($request->semestre); // les arguments existent
|
||||
$typeOkParam = $areSetParam && is_string($request->etudiant) && is_numeric($request->groupe); // si c'est des strings
|
||||
|
|
|
@ -112,7 +112,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$anneeCheck = $nEmptyParam && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
||||
|
||||
if( $anneeCheck ){ // si tout les paramètres sont bons
|
||||
$semestreList = DataBase::getInstance()->getModulesByUEByYear(null, $request->annee);
|
||||
$semestreList = DataBase::getInstance()->getModulesByUEByYear(null, $request->annee); // true = on veut les groupes inscrits à chaque module
|
||||
|
||||
// STRUCTURE
|
||||
// tableau d'UES contenant un tableau de MODULES
|
||||
|
|
|
@ -327,7 +327,7 @@ class groupRepo extends DBAccess{
|
|||
*
|
||||
*/
|
||||
public static function getAllGroups(){
|
||||
$getGroupList = DataBase::getPDO()->query("SELECT id_groupe as id, nom FROM groupe ORDER BY nom ASC");
|
||||
$getGroupList = DataBase::getPDO()->query("SELECT DISTINCT id_groupe as id, nom FROM groupe ORDER BY nom ASC");
|
||||
// $getGroupList = DataBase::getPDO()->query("SELECT id_groupe as id, nom FROM groupe WHERE length(nom) <= 6 ORDER BY nom ASC");
|
||||
|
||||
return DataBase::delNumeric( $getGroupList->fetchAll() );
|
||||
|
@ -335,6 +335,28 @@ class groupRepo extends DBAccess{
|
|||
|
||||
|
||||
|
||||
/* retourne les groupes inscrits à un mcc_module
|
||||
*
|
||||
* @mcc_module<int> l'UID du mcc_module en question
|
||||
*
|
||||
*
|
||||
* @return groupes<Array> retourne la liste des groupes inscrits à ce mcc_module
|
||||
*
|
||||
*/
|
||||
public static function inscritsMccModule($mcc_module){
|
||||
$getGroupeList = DataBase::getPDO()->prepare("SELECT DISTINCT g.id_groupe as id, g.nom
|
||||
FROM groupe as g, appartenance as app, mcc_ue, mcc_module as mcc_m
|
||||
WHERE mcc_m.id_mcc_ue = mcc_ue.id_mcc_ue
|
||||
AND mcc_ue.id_semestre = app.id_semestre
|
||||
AND app.id_groupe = g.id_groupe
|
||||
|
||||
AND mcc_m.id_mcc_module = :mcc_module
|
||||
ORDER BY nom ASC");
|
||||
$getGroupeList->execute(array( ':mcc_module' => $mcc_module ));
|
||||
|
||||
return DataBase::delNumeric( $getGroupeList->fetchAll() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -91,6 +91,28 @@ class userRepo extends DBAccess{
|
|||
|
||||
|
||||
|
||||
/* retourne si un enseignant enseigne un mcc_module à un groupe
|
||||
*
|
||||
* @enseignant<String> l'UID de l'enseignant en question
|
||||
* @mcc_module<int> l'UID du mcc_module en question
|
||||
* @groupe<int> l'UID du groupe en question
|
||||
*
|
||||
*
|
||||
* @return enseigne<Boolean> retourne TRUE si l'enseignant enseigne le mcc_module pour ce groupe, FALSE sinon
|
||||
*
|
||||
*/
|
||||
public static function enseigne($enseignant, $mcc_module, $groupe){
|
||||
$getEnseignementsListe = DataBase::getPDO()->prepare("SELECT id_enseignement as id
|
||||
FROM enseignement
|
||||
WHERE id_enseignant = :enseignant
|
||||
AND id_mcc_module = :mcc_module
|
||||
AND id_groupe = :groupe");
|
||||
$getEnseignementsListe->execute(array( ':enseignant' => $enseignant, ':mcc_module' => $mcc_module, ':groupe' => $groupe ));
|
||||
|
||||
return $getEnseignementsListe->fetch() !== false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* retourne la liste des enseignants de la BDD
|
||||
*
|
||||
|
@ -258,36 +280,37 @@ class userRepo extends DBAccess{
|
|||
|
||||
|
||||
|
||||
/* ajoute un module qu'un utilisateur peut corriger
|
||||
/* ajoute un module qu'un utilisateur peut corriger (pour un groupe)
|
||||
*
|
||||
* @utilisateur<String> l'UID de l'utilisateur en question
|
||||
* @mccmodule<int> l'UID du mcc_module à ajouter
|
||||
* @groupe<int> l'UID du groupe en question
|
||||
*
|
||||
*
|
||||
* @return added<Boolean> VRAI si module ajouté, sinon FALSE
|
||||
*
|
||||
*/
|
||||
public static function addModule($utilisateur, $mccmodule){
|
||||
public static function addModule($utilisateur, $mccmodule, $groupe){
|
||||
/* [1] On vérifie s'il n'enseigne pas déjà pour ce module
|
||||
==============================================================*/
|
||||
$enseignementExiste = DataBase::getPDO()->prepare("SELECT id_enseignement as id
|
||||
FROM enseignement
|
||||
WHERE id_enseignant = :utilisateur
|
||||
AND id_mcc_module = :mccmodule");
|
||||
$enseignementExiste->execute(array( ':utilisateur' => $utilisateur, ':mccmodule' => $mccmodule ));
|
||||
AND id_mcc_module = :mccmodule
|
||||
AND id_groupe = :groupe");
|
||||
$enseignementExiste->execute(array( ':utilisateur' => $utilisateur, ':mccmodule' => $mccmodule, ':groupe' => $groupe ));
|
||||
|
||||
|
||||
/* [2] Si l'enseignement existe, on retourne "TRUE"
|
||||
/* [2] Si l'enseignement existe, on retourne TRUE
|
||||
==============================================================*/
|
||||
if( $enseignementExiste->fetch() ) return true;
|
||||
|
||||
|
||||
|
||||
/* [3] Si l'enseignement n'existe, on le créé
|
||||
==============================================================*/
|
||||
$creerEnseignement = DataBase::getPDO()->prepare("INSERT INTO enseignement(id_enseignement, id_enseignant, id_mcc_module, correcteur)
|
||||
VALUES(DEFAULT, :utilisateur, :mccmodule, 1)");
|
||||
$creerEnseignement->execute(array( ':utilisateur' => $utilisateur, ':mccmodule' => $mccmodule ));
|
||||
$creerEnseignement = DataBase::getPDO()->prepare("INSERT INTO enseignement(id_enseignement, id_enseignant, id_mcc_module, id_groupe, correcteur)
|
||||
VALUES(DEFAULT, :utilisateur, :mccmodule, :groupe, 1)");
|
||||
$creerEnseignement->execute(array( ':utilisateur' => $utilisateur, ':mccmodule' => $mccmodule, ':groupe' => $groupe ));
|
||||
|
||||
|
||||
|
||||
|
@ -296,8 +319,9 @@ class userRepo extends DBAccess{
|
|||
$enseignementExiste = DataBase::getPDO()->prepare("SELECT id_enseignement as id
|
||||
FROM enseignement
|
||||
WHERE id_enseignant = :utilisateur
|
||||
AND id_mcc_module = :mccmodule");
|
||||
$enseignementExiste->execute(array( ':utilisateur' => $utilisateur, ':mccmodule' => $mccmodule ));
|
||||
AND id_mcc_module = :mccmodule
|
||||
AND id_groupe = :groupe");
|
||||
$enseignementExiste->execute(array( ':utilisateur' => $utilisateur, ':mccmodule' => $mccmodule, ':groupe' => $groupe ));
|
||||
|
||||
|
||||
return is_array($enseignementExiste->fetch());
|
||||
|
@ -309,19 +333,21 @@ class userRepo extends DBAccess{
|
|||
*
|
||||
* @utilisateur<String> l'UID de l'utilisateur en question
|
||||
* @mccmodule<int> l'UID du mcc_module à supprimer
|
||||
* @groupe<int> l'UID du groupe en question
|
||||
*
|
||||
*
|
||||
* @return removed<Boolean> VRAI si module supprimé, sinon FALSE
|
||||
*
|
||||
*/
|
||||
public static function delModule($utilisateur, $mccmodule){
|
||||
public static function delModule($utilisateur, $mccmodule, $groupe){
|
||||
/* [1] On vérifie s'il n'enseigne pas déjà pour ce module
|
||||
==============================================================*/
|
||||
$enseignementExiste = DataBase::getPDO()->prepare("SELECT id_enseignement as id
|
||||
FROM enseignement
|
||||
WHERE id_enseignant = :utilisateur
|
||||
AND id_mcc_module = :mccmodule");
|
||||
$enseignementExiste->execute(array( ':utilisateur' => $utilisateur, ':mccmodule' => $mccmodule ));
|
||||
AND id_mcc_module = :mccmodule
|
||||
AND id_groupe = :groupe");
|
||||
$enseignementExiste->execute(array( ':utilisateur' => $utilisateur, ':mccmodule' => $mccmodule, ':groupe' => $groupe ));
|
||||
|
||||
|
||||
/* [2] Si l'enseignement n'existe pas, on returne "TRUE
|
||||
|
@ -339,8 +365,9 @@ class userRepo extends DBAccess{
|
|||
$enseignementExiste = DataBase::getPDO()->prepare("SELECT id_enseignement as id
|
||||
FROM enseignement
|
||||
WHERE id_enseignant = :utilisateur
|
||||
AND id_mcc_module = :mccmodule");
|
||||
$enseignementExiste->execute(array( ':utilisateur' => $utilisateur, ':mccmodule' => $mccmodule ));
|
||||
AND id_mcc_module = :mccmodule
|
||||
AND id_groupe = :groupe");
|
||||
$enseignementExiste->execute(array( ':utilisateur' => $utilisateur, ':mccmodule' => $mccmodule, ':groupe' => $groupe ));
|
||||
|
||||
|
||||
return !is_array($enseignementExiste->fetch());
|
||||
|
|
|
@ -143,7 +143,7 @@ require_once __ROOT__.'/manager/database.php';
|
|||
* delModule<NULL> Si NULL, on n'enlève aucun module
|
||||
*
|
||||
*/
|
||||
case 'updateRole': if( permission('admin') && $_SESSION['annee'] < getCurrentYear() ){
|
||||
case 'updateRole': if( permission('admin') && $_SESSION['annee'] >= getCurrentYear() ){
|
||||
|
||||
$identifiantCheck = isset($request->identifiant) && is_string($request->identifiant) && preg_match('/^[\w -]{3,50}$/i', $request->identifiant); // identifiant au bon format
|
||||
$adminCheck = $identifiantCheck && ( is_null($request->admin) || is_bool($request->admin) ); // admin ok
|
||||
|
@ -151,7 +151,9 @@ require_once __ROOT__.'/manager/database.php';
|
|||
$addModuleCheck = $masterCheck && ( is_null($request->addModule) || is_numeric($request->addModule) ); // addModule ok
|
||||
$delModuleCheck = $addModuleCheck && ( is_null($request->delModule) || is_numeric($request->delModule) ); // delModule ok
|
||||
|
||||
|
||||
$groupeOpt = isset($request->groupe) && is_numeric($request->groupe);
|
||||
if( $groupeOpt ) $groupe = $request->groupe;
|
||||
else $groupe = null;
|
||||
|
||||
if( $delModuleCheck ){
|
||||
|
||||
|
@ -170,12 +172,12 @@ require_once __ROOT__.'/manager/database.php';
|
|||
/* [3] On ajoute un module en tant que correcteur
|
||||
======================================================*/
|
||||
if( $request->addModule != null )
|
||||
$response = DataBase::getInstance()->correcteurAjouterModule($request->identifiant, $request->addModule);
|
||||
$response = DataBase::getInstance()->correcteurAjouterModule($request->identifiant, $request->addModule, $groupe);
|
||||
|
||||
/* [4] On supprime un module en tant que correcteur
|
||||
======================================================*/
|
||||
if( $request->delModule != null )
|
||||
$response = DataBase::getInstance()->correcteurSupprimerModule($request->identifiant, $request->delModule);
|
||||
$response = DataBase::getInstance()->correcteurSupprimerModule($request->identifiant, $request->delModule, $groupe);
|
||||
|
||||
if( is_bool($response) )
|
||||
$answer->request = ($response) ? 'success' : 'error';
|
||||
|
|
|
@ -106,12 +106,17 @@ if( roleSection != null ){
|
|||
// liste des checkbox pour la caractère "référent" (CHECKBOX)
|
||||
var checkMaster = document.querySelectorAll('#CONTAINER section[name=attributionrole] .check_master[data-usr]');
|
||||
|
||||
// liste des modules que l'on peut supprimer (CHECKBOX)
|
||||
var delModules = document.querySelectorAll('#CONTAINER section[name=attributionrole] .del_module[data-mccmod]');
|
||||
|
||||
// liste des modules que l'on peut ajouter (BOUTON)
|
||||
// liste des enseignements pour modules à supprimer ("Supprimer")
|
||||
var delModules = document.querySelectorAll('#CONTAINER section[name=attributionrole] .del.enseignement[data-usr][data-mccmod]');
|
||||
|
||||
// liste des enseignements à ajouter (BOUTON)
|
||||
var addModules = document.querySelectorAll('#CONTAINER section[name=attributionrole] .set_correcteur');
|
||||
|
||||
// liste des enseignements de groupes pour des modules que l'on peut ajouter/supprimer (CHECKBOX)
|
||||
var switchModuleGroupe = document.querySelectorAll('#CONTAINER section[name=attributionrole] .del_module[data-usr][data-mccmod][data-grp]');
|
||||
|
||||
|
||||
|
||||
|
||||
/*** CHANGEMENT DE STATUS POUR "ADMIN" ***/
|
||||
|
@ -176,12 +181,17 @@ if( roleSection != null ){
|
|||
|
||||
|
||||
|
||||
/*** SUPPRIMER UN MODULE POUR UN UTILISATEUR ***/
|
||||
for( var i = 0 ; i < delModules.length ; i++ ){
|
||||
|
||||
delModules[i].addEventListener('change', function(e){
|
||||
|
||||
|
||||
/*** AJOUTER/SUPPRIMER UN MODULE POUR UN GROUPE POUR UN UTILISATEUR ***/
|
||||
for( var i = 0 ; i < switchModuleGroupe.length ; i++ ){
|
||||
|
||||
switchModuleGroupe[i].addEventListener('change', function(e){
|
||||
// si l'élément est correct // si décoché, on supprime
|
||||
if( typeof e.target.checked == 'boolean' && e.target.dataset.hasOwnProperty('usr') && e.target.dataset.hasOwnProperty('mccmod') && !e.target.checked ){
|
||||
if( typeof e.target.checked == 'boolean' && e.target.dataset.hasOwnProperty('usr') && e.target.dataset.hasOwnProperty('grp') && e.target.dataset.hasOwnProperty('mccmod') ){
|
||||
var addModState = ( e.target.checked ) ? e.target.dataset.mccmod : null;
|
||||
var delModState = ( !e.target.checked ) ? e.target.dataset.mccmod : null;
|
||||
|
||||
// on met à jour le status
|
||||
var request = {
|
||||
|
@ -190,12 +200,13 @@ if( roleSection != null ){
|
|||
identifiant: e.target.dataset.usr,
|
||||
admin: null,
|
||||
master: null,
|
||||
addModule: null,
|
||||
delModule: e.target.dataset.mccmod
|
||||
addModule: addModState,
|
||||
delModule: delModState,
|
||||
groupe: e.target.dataset.grp
|
||||
};
|
||||
|
||||
API.send(request, function(answer){
|
||||
if( answer.request != 'success' ) console.log('erreur de changement de rôle (delModule)');
|
||||
if( answer.request != 'success' ) console.log('erreur de changement de rôle');
|
||||
reload();
|
||||
});
|
||||
|
||||
|
@ -215,7 +226,7 @@ if( roleSection != null ){
|
|||
addModules[i].addEventListener('click', function(e){
|
||||
var associatedSelect = e.target.parentNode.parentNode.children[0].children[0]; console.log( associatedSelect );
|
||||
|
||||
// si l'élément est correct // si décoché, on supprime
|
||||
// si l'élément est correct
|
||||
if( e.target.dataset.hasOwnProperty('usr') && associatedSelect.tagName == 'SELECT' && associatedSelect.getAttribute('name') == 'modules' ){
|
||||
|
||||
// on met à jour le status
|
||||
|
@ -230,7 +241,39 @@ if( roleSection != null ){
|
|||
};
|
||||
|
||||
API.send(request, function(answer){
|
||||
if( answer.request != 'success' ) console.log('erreur de changement de rôle (delModule)');
|
||||
if( answer.request != 'success' ) console.log('erreur de changement de rôle');
|
||||
reload();
|
||||
});
|
||||
|
||||
}
|
||||
}, false);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*** SUPPRIMER UN MODULE POUR UN UTILISATEUR ***/
|
||||
for( var i = 0 ; i < delModules.length ; i++ ){
|
||||
|
||||
delModules[i].addEventListener('click', function(e){
|
||||
|
||||
// si l'élément est correct
|
||||
if( e.target.dataset.hasOwnProperty('usr') && e.target.dataset.hasOwnProperty('mccmod') ){
|
||||
|
||||
// on met à jour le status
|
||||
var request = {
|
||||
level_0: 'user',
|
||||
level_1: 'updateRole',
|
||||
identifiant: e.target.dataset.usr,
|
||||
admin: null,
|
||||
master: null,
|
||||
addModule: null,
|
||||
delModule: e.target.dataset.mccmod
|
||||
};
|
||||
|
||||
API.send(request, function(answer){
|
||||
if( answer.request != 'success' ) console.log('erreur de changement de rôle');
|
||||
reload();
|
||||
});
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ if( permission('admin') ){
|
|||
modules_switch_level_1($rAffinage, $aAffinage);
|
||||
|
||||
|
||||
// création de la requête
|
||||
// création de la requête d'affichage des utilisateurs à rôles
|
||||
$request = new stdClass(); $answer = new stdClass();
|
||||
$request->level_1 = 'getListeEnseignantsModules';
|
||||
|
||||
|
@ -193,8 +193,6 @@ if( permission('admin') ){
|
|||
|
||||
|
||||
|
||||
// var_dump( $answer->userlist );
|
||||
|
||||
echo "<table class='basic col5'><tbody>";
|
||||
foreach($answer->userlist as $user){
|
||||
echo "<tr>";
|
||||
|
@ -222,7 +220,7 @@ if( permission('admin') ){
|
|||
/* LISTE DES MODULES CORRIGEABLES */
|
||||
$userModulesUID = array();
|
||||
|
||||
echo "<tr class='transparentbg noborder'><td></td><td colspan=4>";
|
||||
echo "<tr class='transparentbg noborder'><td></td><td class='nopadding' colspan=4>";
|
||||
echo "<table class='basic col4'><tbody>";
|
||||
|
||||
if( $user['semestreList'] != null ){
|
||||
|
@ -234,10 +232,16 @@ if( permission('admin') ){
|
|||
echo "<td>".$module['nom']." - ".$module['libelle']."</td>";
|
||||
echo "<td>".$ue['nom']." - ".$ue['libelle']."</td>";
|
||||
echo "<td>".$semestre['formation']." - ".$semestre['nom']."</td>";
|
||||
echo "<td>";
|
||||
echo "<input data-usr='".$user['id']."' data-mccmod='".$module['id_mcc_module']."' class='del_module' type='checkbox' id='".$user['id']."correcteur".$module['id']."' checked><label for='".$user['id']."correcteur".$module['id']."'></label> correcteur";
|
||||
echo "</td>";
|
||||
echo "<td><div class='del enseignement' data-usr='".$user['id']."' data-mccmod='".$module['id_mcc_module']."'>Supprimer</div></td>";
|
||||
echo "</tr>";
|
||||
echo "<tr ><td class='nopadding' colspan=4>";
|
||||
foreach($module['groupes'] as $groupe){
|
||||
if( $groupe['enseigne'] === true )
|
||||
echo "  <input data-usr='".$user['id']."' data-grp='".$groupe['id']."' data-mccmod='".$module['id_mcc_module']."' class='del_module' type='checkbox' id='".$user['id']."correcteur".$module['id']."groupe".$groupe['id']."' checked><label for='".$user['id']."correcteur".$module['id']."groupe".$groupe['id']."'></label> ".$groupe['nom']." / ";
|
||||
else
|
||||
echo "  <input data-usr='".$user['id']."' data-grp='".$groupe['id']."' data-mccmod='".$module['id_mcc_module']."' class='del_module' type='checkbox' id='".$user['id']."correcteur".$module['id']."groupe".$groupe['id']."' ><label for='".$user['id']."correcteur".$module['id']."groupe".$groupe['id']."'></label> ".$groupe['nom']." / ";
|
||||
}
|
||||
echo "</td>";
|
||||
|
||||
array_push($userModulesUID, $module['id']);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue