2016-04-11 10:20:34 +00:00
|
|
|
|
2016-04-10 16:27:38 +00:00
|
|
|
/* [1] Gestion des tokens
|
|
|
|
=========================================================*/
|
2016-04-11 10:20:34 +00:00
|
|
|
var TOKEN = {
|
|
|
|
add: { // Tout ce qui attrait a l'ajout
|
2016-04-14 14:23:08 +00:00
|
|
|
toggle: document.getElementById('add-token'), // bouton de toggle pour l'affichage du panel
|
|
|
|
panel: document.querySelector("[data-sublink='tokens'] div[data-add]"), // formulaire de creation
|
|
|
|
state: true, // etat (visible ou non) du panel
|
2016-04-11 10:20:34 +00:00
|
|
|
|
2016-04-14 14:23:08 +00:00
|
|
|
name: document.querySelector("[data-sublink='tokens'] div[data-add] #add-name"), // nom du token a creer
|
|
|
|
duration: document.querySelector("[data-sublink='tokens'] div[data-add] #add-duration"), // duree du token a creer (en jours)
|
2016-04-14 16:38:37 +00:00
|
|
|
submit: document.querySelector("[data-sublink='tokens'] div[data-add] #add-token-submit") // validation de la creation
|
2016-04-11 10:20:34 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
remove: {
|
|
|
|
buttons: document.querySelectorAll('.remove-token')
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-04-10 16:27:38 +00:00
|
|
|
|
|
|
|
/* (1) Gestion de la creation de token */
|
|
|
|
|
2016-04-11 10:20:34 +00:00
|
|
|
/* (1.1) Gestion du toggle pour le panel de creation */
|
|
|
|
TOKEN.add.toggle.addEventListener('click', function(e){
|
2016-04-14 08:40:27 +00:00
|
|
|
// Gestion du toggle
|
|
|
|
if( TOKEN.add.state ) TOKEN.add.panel.addClass('active');
|
|
|
|
else TOKEN.add.panel.remClass('active');
|
|
|
|
|
2016-04-11 10:20:34 +00:00
|
|
|
TOKEN.add.state = !TOKEN.add.state; // switch de l'etat pour le toggle
|
|
|
|
}, false);
|
|
|
|
|
|
|
|
/* (1.2) Gestion de la creation */
|
|
|
|
TOKEN.add.submit.addEventListener('click', function(e){
|
|
|
|
// On redige la requete
|
|
|
|
var request = { // on ecrit la requete
|
2016-04-14 14:23:08 +00:00
|
|
|
'path': 'token/generate',
|
|
|
|
'name': TOKEN.add.name.value,
|
2016-04-12 13:16:10 +00:00
|
|
|
'duration': TOKEN.add.duration.value
|
2016-04-11 10:20:34 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// On lance la requete
|
|
|
|
api.send(request, function(answer){
|
|
|
|
// Si la generation effectuee, on recharge la page
|
|
|
|
if( answer.ModuleError == 0 )
|
|
|
|
reload();
|
|
|
|
|
2016-04-14 10:50:34 +00:00
|
|
|
});
|
2016-04-11 10:20:34 +00:00
|
|
|
}, false);
|
|
|
|
|
|
|
|
|
2016-04-14 14:23:08 +00:00
|
|
|
/* (2) Gestion de la suppression d'un token */
|
2016-04-11 10:20:34 +00:00
|
|
|
for( var i = 0 ; i < TOKEN.remove.buttons.length ; i++ ){
|
|
|
|
|
|
|
|
/* (2.0) Pour chaque bouton supprimer, on attache un evenement */
|
|
|
|
TOKEN.remove.buttons[i].addEventListener('click', function(e){
|
|
|
|
var token_id = e.target.parentNode.getData('id');
|
|
|
|
|
|
|
|
/* (2.1) Si on ne trouve pas l'id, on retourne une erreur */
|
|
|
|
if( token_id == false ){ console.warn('id du token non trouvee'); return; }
|
|
|
|
|
|
|
|
/* (2.2) On lance la suppression */
|
|
|
|
var request = { // on ecrit la requete
|
|
|
|
'path': 'token/remove',
|
2016-04-12 13:16:10 +00:00
|
|
|
'token_id': token_id
|
2016-04-11 10:20:34 +00:00
|
|
|
};
|
2016-04-10 16:27:38 +00:00
|
|
|
|
2016-04-11 10:20:34 +00:00
|
|
|
// On lance la requete
|
|
|
|
api.send(request, function(answer){
|
2016-04-14 14:23:08 +00:00
|
|
|
console.log(answer);
|
|
|
|
// Si la suppression effectuee, on recharge la page
|
|
|
|
if( answer.ModuleError == 0 )
|
|
|
|
reload();
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}, false);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* [2] Gestion des utilisateurs
|
|
|
|
=========================================================*/
|
|
|
|
var USERS = {
|
|
|
|
add: { // Tout ce qui attrait a l'ajout
|
|
|
|
toggle: document.getElementById('add-user'), // bouton de toggle pour l'affichage du panel
|
|
|
|
panel: document.querySelector("[data-sublink='users'] div[data-add]"), // formulaire de creation
|
|
|
|
state: true, // etat (visible ou non) du panel
|
|
|
|
|
2016-04-14 16:38:37 +00:00
|
|
|
login: document.querySelector("[data-sublink='users'] div[data-add] #add-login"), // identifiant de l'utilisateur
|
|
|
|
password: document.querySelector("[data-sublink='users'] div[data-add] #add-password"), // password de l'utilisateur
|
|
|
|
password2: document.querySelector("[data-sublink='users'] div[data-add] #add-password2"), // verification du password de l'utilisateur
|
|
|
|
mail: document.querySelector("[data-sublink='users'] div[data-add] #add-mail"), // adresse mail de l'utilisateur
|
|
|
|
isAdmin: document.querySelector("[data-sublink='users'] div[data-add] #add-admin"), // Bouton radio si l'utilisateur est admin
|
|
|
|
isSubject: document.querySelector("[data-sublink='users'] div[data-add] #add-subject"), // Bouton radio si l'utilisateur est sujet
|
|
|
|
reference: document.querySelector("[data-sublink='users'] div[data-add] #add-reference"), // reference de l'utilisateur
|
|
|
|
submit: document.querySelector("[data-sublink='users'] div[data-add] #add-user-submit") // validation de la creation
|
2016-04-14 14:23:08 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
remove: {
|
|
|
|
buttons: document.querySelectorAll('.remove-user')
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* (1) Gestion de la creation d'utilisateur */
|
|
|
|
|
|
|
|
/* (1.1) Gestion du toggle pour le panel de creation */
|
|
|
|
USERS.add.toggle.addEventListener('click', function(e){
|
|
|
|
// Gestion du toggle
|
|
|
|
if( USERS.add.state ) USERS.add.panel.addClass('active');
|
|
|
|
else USERS.add.panel.remClass('active');
|
|
|
|
|
|
|
|
USERS.add.state = !USERS.add.state; // switch de l'etat pour le toggle
|
|
|
|
}, false);
|
|
|
|
|
|
|
|
/* (1.2) Gestion de la creation */
|
|
|
|
USERS.add.submit.addEventListener('click', function(e){
|
2016-04-14 16:38:37 +00:00
|
|
|
// On verifie que les 2 mots de passe sont identiques
|
|
|
|
if( USERS.add.password.value != USERS.add.password2.value ){
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2016-04-14 14:23:08 +00:00
|
|
|
// On redige la requete
|
|
|
|
var request = { // on ecrit la requete
|
|
|
|
'path': 'user/create',
|
|
|
|
'login': USERS.add.login.value,
|
|
|
|
'password': USERS.add.password.value,
|
|
|
|
'mail': USERS.add.mail.value,
|
|
|
|
'reference': USERS.add.reference.value,
|
2016-04-14 16:38:37 +00:00
|
|
|
'permissions': (USERS.add.isAdmin.checked) ? 'admin' : 'subject'
|
2016-04-14 14:23:08 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// On lance la requete
|
|
|
|
api.send(request, function(answer){
|
|
|
|
console.log(answer);
|
|
|
|
// Si la generation effectuee, on recharge la page
|
|
|
|
if( answer.ModuleError == 0 )
|
|
|
|
reload();
|
|
|
|
});
|
2016-04-14 16:38:37 +00:00
|
|
|
|
2016-04-14 14:23:08 +00:00
|
|
|
}, false);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* (2) Gestion de la suppression d'utilisateur */
|
|
|
|
for( var i = 0 ; i < USERS.remove.buttons.length ; i++ ){
|
|
|
|
|
|
|
|
/* (2.0) Pour chaque bouton supprimer, on attache un evenement */
|
|
|
|
USERS.remove.buttons[i].addEventListener('click', function(e){
|
|
|
|
var user_id = e.target.parentNode.getData('id');
|
|
|
|
|
|
|
|
/* (2.1) Si on ne trouve pas l'id, on retourne une erreur */
|
|
|
|
if( user_id == false ){ console.warn('id de l\'utilisateur non trouvee'); return; }
|
|
|
|
|
|
|
|
/* (2.2) On lance la suppression */
|
|
|
|
var request = { // on ecrit la requete
|
|
|
|
'path': 'user/remove',
|
2016-04-14 16:49:07 +00:00
|
|
|
'id_user': user_id
|
2016-04-14 14:23:08 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// On lance la requete
|
|
|
|
api.send(request, function(answer){
|
2016-04-11 10:20:34 +00:00
|
|
|
// Si la suppression effectuee, on recharge la page
|
|
|
|
if( answer.ModuleError == 0 )
|
|
|
|
reload();
|
2016-04-10 16:27:38 +00:00
|
|
|
|
2016-04-14 10:50:34 +00:00
|
|
|
});
|
2016-04-10 16:27:38 +00:00
|
|
|
|
2016-04-11 10:20:34 +00:00
|
|
|
}, false);
|
2016-04-10 16:27:38 +00:00
|
|
|
|
2016-04-11 10:20:34 +00:00
|
|
|
}
|