- [x] [view/js/users] Implementer la recherche pour la suppression

This commit is contained in:
xdrm-brackets 2016-02-17 11:31:46 +01:00
parent 0767632aab
commit cff1b30195
3 changed files with 85 additions and 52 deletions

View File

@ -7,7 +7,6 @@
############
# EN COURS #
############
- [ ] [view/js/users] Implementer la recherche pour la suppression
- [ ] [container.scss] Icone dans bouton quand succes sur l'operation
- [ ] [view/users][view/js/users.js] Suppression avec recherche comme pour la modification
@ -17,6 +16,7 @@
########
# FAIT #
########
- [x] [view/js/users] Implementer la recherche pour la suppression
- [x] [view/js/machines] Implementer la recherche pour la suppression
- [x] Nettoyage git
- [x] [ResourceDispatcher] Gestion de la coloration de svg

View File

@ -257,9 +257,6 @@ if( section.remove.element != null ){
// On annule l'envoi de base (PHP)
e.preventDefault();
/* (1) On recupere l'UID de la machine */
var getuid = {};
// Si l'id est defini
if( section.remove.input.search.id.value != '' ){

View File

@ -185,8 +185,14 @@ if( section.create.element != null ){
=========================================================*/
if( section.remove.element != null ){
// Definition des champs
/* (1) Definition des champs */
section.remove.input = {
search: {
keyword: document.querySelector(section.remove.text + '#remove_search_keyword'),
id: document.querySelector(section.remove.text + '#remove_search_id'),
submit: document.querySelector(section.remove.text + '#remove_search_submit')
},
code: document.querySelector(section.remove.text + '#remove_code'),
username: document.querySelector(section.remove.text + '#remove_username'),
@ -194,73 +200,104 @@ if( section.remove.element != null ){
};
/* (1) Gestion de l'auto-remplissage par url */
/* (2) Gestion de l'auto-remplissage par url */
function autofill_remove(id_user){
// On recupere le code + username de l'utilisateur selectionne
var user_data = null;
var user_data = {
id_user: '',
code: '',
username: '',
firstname: '',
lastname: '',
mail: '',
status: '',
disable_input: true
};
api.send({path:'userDefault/getById', data: [id_user]}, function(answer){
if( answer.ModuleError == 0 ){ // Si un resultat
user_data = answer.user;
user_data.disable_input = false;
}
// Auto-remplissage du formulaire
section.remove.input.code.value = user_data.code;
section.remove.input.username.value = user_data.username;
// On affiche le bouton de suppression
section.remove.input.submit.disabled = false;
section.remove.input.submit.disabled = user_data.disable_input;
}else // Si aucun resultat -> on desactive le bouton de suppression
section.remove.input.submit.disabled = true;
});
}if( pageManager.vars.length >= 2 && !isNaN(pageManager.vars[1]) ) autofill_remove(pageManager.vars[1]);
/* (3) Gestion de la recherche */
var lastsearch_remove = null;
var searchindex_remove = 0;
section.remove.input.search.submit.addEventListener('click', function(e){
// On annule l'envoi de base (PHP)
e.preventDefault();
// Si le champ n'est pas vide, on lance la recherche
if( section.remove.input.search.keyword.value != '' ){
// Redaction de la requete
var getuid = {
path: 'userDefault/search',
data: [section.remove.input.search.keyword.value]
};
// On envoie la requete
api.send(getuid, function(uidanswer){
if( uidanswer.ModuleError == 0 && uidanswer.users.length > 0){ // si on a trouve qqch
// Si on trouve la meme machine que lors de la derniere recherche
if( lastsearch_remove == uidanswer.users[searchindex_remove].id_user )
searchindex_remove = (searchindex_remove+1) % uidanswer.users.length; // on affiche le prochain (decalage cyclique)
lastsearch_remove = uidanswer.users[searchindex_remove].id_user;
section.remove.input.search.id.value = lastsearch_remove;
// on auto-remplit le formulaire
autofill_remove(lastsearch_remove);
}else
autofill_remove(null);
});
}
}, false);
/* (n) Gestion de l'envoi du formulaire */
section.remove.input.submit.addEventListener('click', function(e){
// On annule l'envoi de base (PHP)
e.preventDefault();
/* (1) On recupere l'UID de l'utilisateur */
var getuid = {};
// recuperation par CODE
if( section.remove.input.code.value != '' ){
getuid.path = 'userDefault/getByCode';
getuid.data = [section.remove.input.code.value];
// recuperation par USERNAME
}else if( section.remove.input.username.value != '' ){
getuid.path = 'userDefault/getByUsername';
getuid.data = [section.remove.input.username.value];
}
// On envoie la requete de demande d'uid
api.send(getuid, function(uid_answer){
if( uid_answer.ModuleError == 0 ){ // Si aucune erreur
// Si l'id est defini
if( section.remove.input.search.id.value != '' ){
/* (2) On supprime l'utilisateur */
var request = {
path: 'userDefault/delete', // On veut supprimer cet utilisateur
data: [uid_answer.user.id_user]
data: [section.remove.input.search.id.value]
};
api.send(request, function(answer){
if( answer.ModuleError == 0 && answer.status == true ) // Tout s'est bien deroule
if( answer.ModuleError == 0 && answer.status == true ){ // Tout s'est bien deroule
console.log('Utilisateur supprime!');
else // Erreur
// On vide le formulaire
autofill_remove(null);
}else // Erreur
console.error('ModuleError::'+answer.ModuleError);
});
}
});
}, false);
}
@ -347,8 +384,8 @@ if( section.edit.element != null ){
/* (2) Gestion de la recherche de l'utilisateur */
var lastsearch = null;
var searchindex = 0;
var lastsearch_edit = null;
var searchindex_edit = 0;
section.edit.input.search.submit.addEventListener('click', function(e){
// On annule l'envoi de base (PHP)
e.preventDefault();
@ -365,17 +402,16 @@ if( section.edit.element != null ){
api.send(getuid, function(uidanswer){
if( uidanswer.ModuleError == 0 && uidanswer.users.length > 0 ){ // si on a trouve qqch
// Si on trouve le meme utilisateur que lors de la derniere recherche
if( lastsearch == uidanswer.users[searchindex].id_user )
searchindex = (searchindex+1) % uidanswer.users.length; // on affiche le prochain (decalage cyclique)
if( lastsearch_edit == uidanswer.users[searchindex_edit].id_user )
searchindex_edit = (searchindex_edit+1) % uidanswer.users.length; // on affiche le prochain (decalage cyclique)
lastsearch = uidanswer.users[searchindex].id_user;
section.edit.input.search.id.value = lastsearch;
lastsearch_edit = uidanswer.users[searchindex_edit].id_user;
section.edit.input.search.id.value = lastsearch_edit;
// on auto-remplit le formulaire
autofill_edit(lastsearch);
autofill_edit(lastsearch_edit);
}else{
}else
autofill_edit(null);
}
});
}
@ -412,7 +448,7 @@ if( section.edit.element != null ){
console.log('Utilisateur modifie!');
// On met a jour l'utilisateur
autofill_edit(null);
autofill_edit(section.edit.input.search.id.value);
}else // Erreur
console.error('ModuleError::'+answer.ModuleError);