- [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 # # EN COURS #
############ ############
- [ ] [view/js/users] Implementer la recherche pour la suppression
- [ ] [container.scss] Icone dans bouton quand succes sur l'operation - [ ] [container.scss] Icone dans bouton quand succes sur l'operation
- [ ] [view/users][view/js/users.js] Suppression avec recherche comme pour la modification - [ ] [view/users][view/js/users.js] Suppression avec recherche comme pour la modification
@ -17,6 +16,7 @@
######## ########
# FAIT # # FAIT #
######## ########
- [x] [view/js/users] Implementer la recherche pour la suppression
- [x] [view/js/machines] Implementer la recherche pour la suppression - [x] [view/js/machines] Implementer la recherche pour la suppression
- [x] Nettoyage git - [x] Nettoyage git
- [x] [ResourceDispatcher] Gestion de la coloration de svg - [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) // On annule l'envoi de base (PHP)
e.preventDefault(); e.preventDefault();
/* (1) On recupere l'UID de la machine */
var getuid = {};
// Si l'id est defini // Si l'id est defini
if( section.remove.input.search.id.value != '' ){ if( section.remove.input.search.id.value != '' ){

View File

@ -185,8 +185,14 @@ if( section.create.element != null ){
=========================================================*/ =========================================================*/
if( section.remove.element != null ){ if( section.remove.element != null ){
// Definition des champs /* (1) Definition des champs */
section.remove.input = { 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'), code: document.querySelector(section.remove.text + '#remove_code'),
username: document.querySelector(section.remove.text + '#remove_username'), 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){ function autofill_remove(id_user){
// On recupere le code + username de l'utilisateur selectionne // 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){ api.send({path:'userDefault/getById', data: [id_user]}, function(answer){
if( answer.ModuleError == 0 ){ // Si un resultat if( answer.ModuleError == 0 ){ // Si un resultat
user_data = answer.user; user_data = answer.user;
user_data.disable_input = false;
}
// Auto-remplissage du formulaire // Auto-remplissage du formulaire
section.remove.input.code.value = user_data.code; section.remove.input.code.value = user_data.code;
section.remove.input.username.value = user_data.username; section.remove.input.username.value = user_data.username;
// On affiche le bouton de suppression // 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]); }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 */ /* (n) Gestion de l'envoi du formulaire */
section.remove.input.submit.addEventListener('click', function(e){ section.remove.input.submit.addEventListener('click', function(e){
// On annule l'envoi de base (PHP) // On annule l'envoi de base (PHP)
e.preventDefault(); e.preventDefault();
// 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: [section.remove.input.search.id.value]
};
/* (1) On recupere l'UID de l'utilisateur */ api.send(request, function(answer){
var getuid = {}; if( answer.ModuleError == 0 && answer.status == true ){ // Tout s'est bien deroule
console.log('Utilisateur supprime!');
// On vide le formulaire
autofill_remove(null);
}else // Erreur
console.error('ModuleError::'+answer.ModuleError);
});
// 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
/* (2) On supprime l'utilisateur */
var request = {
path: 'userDefault/delete', // On veut supprimer cet utilisateur
data: [uid_answer.user.id_user]
};
api.send(request, function(answer){
if( answer.ModuleError == 0 && answer.status == true ) // Tout s'est bien deroule
console.log('Utilisateur supprime!');
else // Erreur
console.error('ModuleError::'+answer.ModuleError);
});
}
});
}, false); }, false);
} }
@ -347,8 +384,8 @@ if( section.edit.element != null ){
/* (2) Gestion de la recherche de l'utilisateur */ /* (2) Gestion de la recherche de l'utilisateur */
var lastsearch = null; var lastsearch_edit = null;
var searchindex = 0; var searchindex_edit = 0;
section.edit.input.search.submit.addEventListener('click', function(e){ section.edit.input.search.submit.addEventListener('click', function(e){
// On annule l'envoi de base (PHP) // On annule l'envoi de base (PHP)
e.preventDefault(); e.preventDefault();
@ -365,17 +402,16 @@ if( section.edit.element != null ){
api.send(getuid, function(uidanswer){ api.send(getuid, function(uidanswer){
if( uidanswer.ModuleError == 0 && uidanswer.users.length > 0 ){ // si on a trouve qqch 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 // Si on trouve le meme utilisateur que lors de la derniere recherche
if( lastsearch == uidanswer.users[searchindex].id_user ) if( lastsearch_edit == uidanswer.users[searchindex_edit].id_user )
searchindex = (searchindex+1) % uidanswer.users.length; // on affiche le prochain (decalage cyclique) searchindex_edit = (searchindex_edit+1) % uidanswer.users.length; // on affiche le prochain (decalage cyclique)
lastsearch = uidanswer.users[searchindex].id_user; lastsearch_edit = uidanswer.users[searchindex_edit].id_user;
section.edit.input.search.id.value = lastsearch; section.edit.input.search.id.value = lastsearch_edit;
// on auto-remplit le formulaire // on auto-remplit le formulaire
autofill_edit(lastsearch); autofill_edit(lastsearch_edit);
}else{ }else
autofill_edit(null); autofill_edit(null);
}
}); });
} }
@ -412,7 +448,7 @@ if( section.edit.element != null ){
console.log('Utilisateur modifie!'); console.log('Utilisateur modifie!');
// On met a jour l'utilisateur // On met a jour l'utilisateur
autofill_edit(null); autofill_edit(section.edit.input.search.id.value);
}else // Erreur }else // Erreur
console.error('ModuleError::'+answer.ModuleError); console.error('ModuleError::'+answer.ModuleError);