152 lines
4.2 KiB
JavaScript
152 lines
4.2 KiB
JavaScript
|
var roleSection = document.querySelector('#CONTAINER section[name=attributionrole]');
|
||
|
|
||
|
/**************************************/
|
||
|
/* SI LA SECTION "RÔLES" EST PRÉSENTE */
|
||
|
/**************************************/
|
||
|
if( roleSection != null ){
|
||
|
|
||
|
// liste des checkbox pour la caractère "admin" (CHECKBOX)
|
||
|
var checkAdmin = document.querySelectorAll('#CONTAINER section[name=attributionrole] .check_admin[data-usr]');
|
||
|
|
||
|
// 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)
|
||
|
var addModules = document.querySelectorAll('#CONTAINER section[name=attributionrole] .set_correcteur');
|
||
|
|
||
|
|
||
|
|
||
|
/*** CHANGEMENT DE STATUS POUR "ADMIN" ***/
|
||
|
for( var i = 0 ; i < checkAdmin.length ; i++ ){
|
||
|
|
||
|
checkAdmin[i].addEventListener('change', function(e){
|
||
|
// si l'élément est correct
|
||
|
if( typeof e.target.checked == 'boolean' && e.target.dataset.hasOwnProperty('usr') ){
|
||
|
|
||
|
// on met à jour le status
|
||
|
var request = {
|
||
|
level_0: 'user',
|
||
|
level_1: 'updateRole',
|
||
|
identifiant: e.target.dataset.usr,
|
||
|
admin: e.target.checked,
|
||
|
master: null,
|
||
|
addModule: null,
|
||
|
delModule: null
|
||
|
};
|
||
|
|
||
|
API.send(request, function(answer){
|
||
|
if( answer.request != 'success' ) console.log('erreur de changement de rôle (admin)');
|
||
|
reload();
|
||
|
});
|
||
|
|
||
|
}
|
||
|
}, false);
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/*** CHANGEMENT DE STATUS POUR "REFERENT" ***/
|
||
|
for( var i = 0 ; i < checkMaster.length ; i++ ){
|
||
|
|
||
|
checkMaster[i].addEventListener('change', function(e){
|
||
|
// si l'élément est correct
|
||
|
if( typeof e.target.checked == 'boolean' && e.target.dataset.hasOwnProperty('usr') ){
|
||
|
|
||
|
// on met à jour le status
|
||
|
var request = {
|
||
|
level_0: 'user',
|
||
|
level_1: 'updateRole',
|
||
|
identifiant: e.target.dataset.usr,
|
||
|
admin: null,
|
||
|
master: e.target.checked,
|
||
|
addModule: null,
|
||
|
delModule: null
|
||
|
};
|
||
|
|
||
|
API.send(request, function(answer){
|
||
|
if( answer.request != 'success' ) console.log('erreur de changement de rôle (référent)');
|
||
|
reload();
|
||
|
});
|
||
|
|
||
|
}
|
||
|
}, false);
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/*** SUPPRIMER UN MODULE POUR UN UTILISATEUR ***/
|
||
|
for( var i = 0 ; i < delModules.length ; i++ ){
|
||
|
|
||
|
delModules[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 ){
|
||
|
|
||
|
// 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 (delModule)');
|
||
|
reload();
|
||
|
});
|
||
|
|
||
|
}
|
||
|
}, false);
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/*** AJOUTER UN MODULE POUR UN UTILISATEUR ***/
|
||
|
for( var i = 0 ; i < addModules.length ; i++ ){
|
||
|
|
||
|
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
|
||
|
if( e.target.dataset.hasOwnProperty('usr') && associatedSelect.tagName == 'SELECT' && associatedSelect.getAttribute('name') == 'modules' ){
|
||
|
|
||
|
// on met à jour le status
|
||
|
var request = {
|
||
|
level_0: 'user',
|
||
|
level_1: 'updateRole',
|
||
|
identifiant: e.target.dataset.usr,
|
||
|
admin: null,
|
||
|
master: null,
|
||
|
addModule: associatedSelect.value,
|
||
|
delModule: null
|
||
|
};
|
||
|
|
||
|
API.send(request, function(answer){
|
||
|
if( answer.request != 'success' ) console.log('erreur de changement de rôle (delModule)');
|
||
|
reload();
|
||
|
});
|
||
|
|
||
|
}
|
||
|
}, false);
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
}
|