[Done] Static part of the permission chooser view [Todo] The dynamic part (js copied from groups/members)
This commit is contained in:
parent
9d0295d869
commit
af15692002
|
@ -366,7 +366,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* RETOURNE LES PERMISSIONS POUR UN GROUPE DE MACHINE
|
/* RETOURNE LA LISTE DES PERMISSIONS EXISTANTES
|
||||||
*
|
*
|
||||||
* @id_cluster<int> UID du groupe machine en question
|
* @id_cluster<int> UID du groupe machine en question
|
||||||
*
|
*
|
||||||
|
|
|
@ -57,7 +57,10 @@
|
||||||
$this->body = \file_get_contents('php://input');
|
$this->body = \file_get_contents('php://input');
|
||||||
|
|
||||||
/* (2) Fetch content type */
|
/* (2) Fetch content type */
|
||||||
|
if( isset($this->headers['Content-Type']) )
|
||||||
$this->type = self::getContentType($this->headers['Content-Type']);
|
$this->type = self::getContentType($this->headers['Content-Type']);
|
||||||
|
else
|
||||||
|
$this->type = self::getContentType();
|
||||||
|
|
||||||
|
|
||||||
/* [5] Parse BODY data -> POST
|
/* [5] Parse BODY data -> POST
|
||||||
|
@ -78,7 +81,10 @@
|
||||||
/* [1] Checks argv
|
/* [1] Checks argv
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
if( is_null($pContentType) )
|
if( is_null($pContentType) )
|
||||||
|
if( isset($_SERVER['CONTENT_TYPE']) )
|
||||||
$pContentType = $_SERVER['CONTENT_TYPE'];
|
$pContentType = $_SERVER['CONTENT_TYPE'];
|
||||||
|
else
|
||||||
|
$pContentType = 'text/plain';
|
||||||
|
|
||||||
|
|
||||||
/* [2] Checks types
|
/* [2] Checks types
|
||||||
|
|
|
@ -105,7 +105,7 @@
|
||||||
default: return 'inconnu'; break;
|
default: return 'inconnu'; break;
|
||||||
}
|
}
|
||||||
}else
|
}else
|
||||||
return 'inconnu';
|
return $word;
|
||||||
|
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,159 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace viewer\view\group;
|
||||||
|
use \viewer\core\Viewer;
|
||||||
|
use \api\core\Request;
|
||||||
|
use \error\core\Err;
|
||||||
|
use \error\core\Error;
|
||||||
|
use \api\core\Authentification;
|
||||||
|
|
||||||
|
class permission_choice{
|
||||||
|
|
||||||
|
public static function render($params){
|
||||||
|
/* [1] On vérifie les param + fetch données du groupe
|
||||||
|
=========================================================*/
|
||||||
|
/* (1) On vérifie les paramètres */
|
||||||
|
if( !isset($params['id_target']) || !is_numeric($params['id_target']) || !isset($params['id_action']) || !is_numeric($params['id_action']) )
|
||||||
|
return Viewer::$htmlError;
|
||||||
|
|
||||||
|
|
||||||
|
/* (2) On récupère le groupe cible */
|
||||||
|
$checktypeRequest = new Request('clusterDefault/getById', [
|
||||||
|
'id_cluster' => $params['id_target'],
|
||||||
|
'class' => 1
|
||||||
|
]);
|
||||||
|
$checktypeResponse = $checktypeRequest->dispatch();
|
||||||
|
|
||||||
|
/* (3) Si on ne le trouve pas, on retourne une erreur */
|
||||||
|
if( $checktypeResponse->error->get() != Err::Success )
|
||||||
|
return Viewer::$htmlError;
|
||||||
|
|
||||||
|
/* (4) On récupère les données du groupe */
|
||||||
|
$currentCluster = $checktypeResponse->get('cluster');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* [2] On récupère les données de l'action
|
||||||
|
=========================================================*/
|
||||||
|
/* (1) Rédige la requête */
|
||||||
|
$permlistRequest = new Request('clusterDefault/getPermissions', []);
|
||||||
|
$permlistResponse = $permlistRequest->dispatch();
|
||||||
|
|
||||||
|
/* (2) Manage error */
|
||||||
|
if( $permlistResponse->error->get() != Err::Success )
|
||||||
|
return Viewer::$htmlError;
|
||||||
|
|
||||||
|
/* (3) Get action name (non-translated) */
|
||||||
|
$action_name = null;
|
||||||
|
foreach($permlistResponse->get('permissions') as $perm)
|
||||||
|
if( $perm['id_permission'] == $params['id_action'] )
|
||||||
|
$action_name = $perm['name'];
|
||||||
|
|
||||||
|
/* (4) Manage error (not found) */
|
||||||
|
if( is_null($action_name) )
|
||||||
|
return Viewer::$htmlError;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* [2] Init Twig
|
||||||
|
=========================================================*/
|
||||||
|
$loader = new \Twig_Loader_Filesystem(__BUILD__.'/viewer/view');
|
||||||
|
$twig = new \Twig_Environment($loader, []);
|
||||||
|
|
||||||
|
|
||||||
|
/* [3] Store variables
|
||||||
|
=========================================================*/
|
||||||
|
$variables = [
|
||||||
|
'p_permname' => $action_name,
|
||||||
|
'p_id_target' => $params['id_target'],
|
||||||
|
'p_id_permission' => $params['id_action'],
|
||||||
|
'p_name' => $currentCluster['name'],
|
||||||
|
'p_theme' => $_SESSION['WAREHOUSE']['theme']
|
||||||
|
];
|
||||||
|
|
||||||
|
/* [4] Store functions
|
||||||
|
=========================================================*/
|
||||||
|
$twig->addFunction(new \Twig_Function('f_userclusters', function($id_target, $id_action){
|
||||||
|
/* [1] On récupère les groupes utilisateurs
|
||||||
|
=========================================================*/
|
||||||
|
/* (1) On exécute la requête */
|
||||||
|
$getmembersRequest = new Request('clusterDefault/getAuthenticatedClusters', [
|
||||||
|
'id_target' => $id_target,
|
||||||
|
'id_action' => $id_action
|
||||||
|
]);
|
||||||
|
$getmembersResponse = $getmembersRequest->dispatch();
|
||||||
|
|
||||||
|
/* (2) Si erreur, on retourne rien par défaut */
|
||||||
|
if( $getmembersResponse->error->get() != Err::Success )
|
||||||
|
return [];
|
||||||
|
|
||||||
|
/* (3) On récupère la liste des UID uniquement */
|
||||||
|
$members_ids = [];
|
||||||
|
foreach($getmembersResponse->get('clusters') as $member)
|
||||||
|
$members_ids[] = $member['id_source'];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* [2] On récupère les utilisateurs non membres
|
||||||
|
=========================================================*/
|
||||||
|
|
||||||
|
/* (2) On exécute la requête */
|
||||||
|
$getuclusterRequest = new Request('clusterDefault/getAll', [
|
||||||
|
'class' => 0
|
||||||
|
]);
|
||||||
|
$getuclustersResponse = $getuclusterRequest->dispatch();
|
||||||
|
|
||||||
|
/* (3) si erreur, on affiche l'explicitation */
|
||||||
|
if( $getuclustersResponse->error->get() != Err::Success )
|
||||||
|
return [];
|
||||||
|
|
||||||
|
/* (4) On récupère la liste des utilisateurs */
|
||||||
|
$uclusters = $getuclustersResponse->get('clusters');
|
||||||
|
|
||||||
|
/* (5) On ajoute s'ils sont dans le groupe ou non */
|
||||||
|
foreach($uclusters as $u=>$ucluster)
|
||||||
|
$uclusters[$u]['already'] = in_array($ucluster['id_user_cluster'], $members_ids);
|
||||||
|
return $uclusters;
|
||||||
|
|
||||||
|
}));
|
||||||
|
|
||||||
|
|
||||||
|
$twig->addFilter(new \Twig_Filter('translate', function($word, $lang){
|
||||||
|
$word = strtolower($word);
|
||||||
|
|
||||||
|
|
||||||
|
if( $lang === 'fr' ){
|
||||||
|
|
||||||
|
switch($word){
|
||||||
|
case 'start': return 'démarrer'; break;
|
||||||
|
case 'stop': return 'arrêter'; break;
|
||||||
|
case 'signal': return 'signaler'; break;
|
||||||
|
case 'lock': return 'bloquer'; break;
|
||||||
|
case 'unlock': return 'débloquer'; break;
|
||||||
|
|
||||||
|
default: return $word; break;
|
||||||
|
}
|
||||||
|
}else
|
||||||
|
return $word;
|
||||||
|
|
||||||
|
}));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* [5] Build the whole stuff
|
||||||
|
=========================================================*/
|
||||||
|
return $twig->render('group/permission_choice.twig', [
|
||||||
|
'p_permname' => $variables['p_permname'],
|
||||||
|
'p_id_permission' => $variables['p_id_permission'],
|
||||||
|
'p_name' => $variables['p_name'],
|
||||||
|
'p_id_target' => $variables['p_id_target'],
|
||||||
|
'p_theme' => $variables['p_theme']
|
||||||
|
]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
|
@ -0,0 +1,27 @@
|
||||||
|
<span style='text-align:center; color: #666; text-decoration: underline; cursor: pointer;' id='permissions-change-group'>Modifier d'autres permissions</span>
|
||||||
|
<p></p>
|
||||||
|
|
||||||
|
<article class='check-table'>
|
||||||
|
<input type='hidden' id='permission-choice-idtarget' value='{{ p_id_cluster }}'>
|
||||||
|
<input type='hidden' id='permission-choice-idaction' value='{{ p_id_permission }}'>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<span><strong>Nom du groupe</strong></span>
|
||||||
|
<span><strong>permission <u>{{ p_permname | translate('fr') }}</u> sur <u>{{ p_name }}</u></strong></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{% for ucluster in f_userclusters(p_id_target, p_id_permission) %}
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<span>{{ ucluster.name }}</span>
|
||||||
|
<span>
|
||||||
|
<input type='checkbox' value='{{ ucluster.id_user_cluster }}' data-name='member' id='checkbox_{{ ucluster.id_user_cluster }}' {% if ucluster.already %}checked{% endif %}>
|
||||||
|
<label for='checkbox_{{ ucluster.id_user_cluster }}'></label>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endfor %}
|
||||||
|
</article>
|
|
@ -383,8 +383,7 @@
|
||||||
"description": "Liste de tous les groupes",
|
"description": "Liste de tous les groupes",
|
||||||
"permissions": ["warehouse", "admin"],
|
"permissions": ["warehouse", "admin"],
|
||||||
"parameters": {
|
"parameters": {
|
||||||
"class": { "description": "Type de groupe.", "type": "id" },
|
"class": { "description": "Type de groupe.", "type": "id" }
|
||||||
"class": { "description": "Type de groupe.", "type": "id", "optional": true }
|
|
||||||
},
|
},
|
||||||
"output": {
|
"output": {
|
||||||
"clusters": { "description": "Liste de tous les groupes.", "type": "array<array<mixed>>" }
|
"clusters": { "description": "Liste de tous les groupes.", "type": "array<array<mixed>>" }
|
||||||
|
|
|
@ -85,7 +85,8 @@
|
||||||
|
|
||||||
// logout from admin
|
// logout from admin
|
||||||
$R->get('logout/?', function(){
|
$R->get('logout/?', function(){
|
||||||
(new Request('authentificationDefault/admin', ['username' => '0', 'password' => '']))->dispatch();
|
$req = new Request('authentificationDefault/admin', ['username' => '0', 'password' => '']);
|
||||||
|
$res = $req->dispatch();
|
||||||
header('Location: /');
|
header('Location: /');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -202,7 +202,21 @@
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
echo "<section data-sublink='permissions'>";
|
echo "<section data-sublink='permissions'>";
|
||||||
|
|
||||||
$clusterView = new Viewer('group.permission', []);
|
/* (1) Si on a un ID_CLUSTER, on affiche la composition
|
||||||
$clusterView->view();
|
---------------------------------------------------------*/
|
||||||
|
if( count($post) > 2 && preg_match('/^m\d+$/', $post[1]) && preg_match('/^a\d+$/', $post[2])){
|
||||||
|
|
||||||
|
$membersChoice = new Viewer('group.permission_choice', [
|
||||||
|
'id_target' => (int) substr($post[1], 1),
|
||||||
|
'id_action' => (int) substr($post[2], 1)
|
||||||
|
]);
|
||||||
|
$membersChoice->view();
|
||||||
|
|
||||||
|
}else{
|
||||||
|
|
||||||
|
$groupChoice = new Viewer('group.permission', []);
|
||||||
|
$groupChoice->view();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
echo '</section>';
|
echo '</section>';
|
||||||
|
|
|
@ -33,7 +33,8 @@ var section = {
|
||||||
|
|
||||||
permissions: {
|
permissions: {
|
||||||
text: '#CONTAINER > section[data-sublink="permissions"] ',
|
text: '#CONTAINER > section[data-sublink="permissions"] ',
|
||||||
element: document.querySelector('#CONTAINER > section[data-sublink="permissions"]')
|
element: document.querySelector('#CONTAINER > section[data-sublink="permissions"]'),
|
||||||
|
searchbar: document.querySelector('#CONTAINER > section[data-sublink="permissions"] > .searchbar')
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -74,7 +75,7 @@ if( section.view.element != null ){
|
||||||
|
|
||||||
// On envoie la requete
|
// On envoie la requete
|
||||||
api.send(search, function(result){
|
api.send(search, function(result){
|
||||||
if( result.ModuleError == 0 ){ // si aucune erreur
|
if( result.error == 0 ){ // si aucune erreur
|
||||||
|
|
||||||
// On enregistre tous les UID dans un tableau
|
// On enregistre tous les UID dans un tableau
|
||||||
var uid_list = [];
|
var uid_list = [];
|
||||||
|
@ -144,7 +145,7 @@ if( section.view.element != null ){
|
||||||
api.send(request, function(response){
|
api.send(request, function(response){
|
||||||
|
|
||||||
// {3} Si erreur, on ne fait rien //
|
// {3} Si erreur, on ne fait rien //
|
||||||
if( response.ModuleError != 0 )
|
if( response.error != 0 )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// {4} Si tout s'est bien passé //
|
// {4} Si tout s'est bien passé //
|
||||||
|
@ -219,7 +220,7 @@ if( section.create.element != null ){
|
||||||
};
|
};
|
||||||
|
|
||||||
api.send(request, function(answer){
|
api.send(request, function(answer){
|
||||||
if( answer.ModuleError == 0 ){ // Tout s'est bien deroule
|
if( answer.error == 0 ){ // Tout s'est bien deroule
|
||||||
console.log('Groupe cree!');
|
console.log('Groupe cree!');
|
||||||
|
|
||||||
section.create.input.submit.anim('active', 1500);
|
section.create.input.submit.anim('active', 1500);
|
||||||
|
@ -371,7 +372,7 @@ if( section.remove.element != null ){
|
||||||
|
|
||||||
/* (5) On envoie la requête */
|
/* (5) On envoie la requête */
|
||||||
api.send(getClusters, function(getClustersResponse){
|
api.send(getClusters, function(getClustersResponse){
|
||||||
if( getClustersResponse.ModuleError == 0 ){ // si pas d'erreur
|
if( getClustersResponse.error == 0 ){ // si pas d'erreur
|
||||||
|
|
||||||
// On notifie que la recherche est terminée
|
// On notifie que la recherche est terminée
|
||||||
section.remove.input.search.submit.anim('active', 1000);
|
section.remove.input.search.submit.anim('active', 1000);
|
||||||
|
@ -415,7 +416,7 @@ if( section.remove.element != null ){
|
||||||
};
|
};
|
||||||
|
|
||||||
api.send(request, function(answer){
|
api.send(request, function(answer){
|
||||||
if( answer.ModuleError == 0 && answer.status == true ){ // Tout s'est bien deroule
|
if( answer.error == 0 && answer.status == true ){ // Tout s'est bien deroule
|
||||||
console.log('Groupe supprimee!');
|
console.log('Groupe supprimee!');
|
||||||
|
|
||||||
section.remove.input.submit.anim('active', 1500);
|
section.remove.input.submit.anim('active', 1500);
|
||||||
|
@ -435,7 +436,7 @@ if( section.remove.element != null ){
|
||||||
};
|
};
|
||||||
|
|
||||||
api.send(getClusters, function(getClustersResponse){
|
api.send(getClusters, function(getClustersResponse){
|
||||||
if( getClustersResponse.ModuleError == 0 ){ // si pas d'erreur
|
if( getClustersResponse.error == 0 ){ // si pas d'erreur
|
||||||
searchindex_remove = 0;
|
searchindex_remove = 0;
|
||||||
found_remove = getClustersResponse.clusters;
|
found_remove = getClustersResponse.clusters;
|
||||||
section.remove.input.search.sum.innerHTML = found_remove.length;
|
section.remove.input.search.sum.innerHTML = found_remove.length;
|
||||||
|
@ -448,7 +449,7 @@ if( section.remove.element != null ){
|
||||||
|
|
||||||
|
|
||||||
}else // Erreur
|
}else // Erreur
|
||||||
console.error('ModuleError::'+answer.ModuleError);
|
console.error('ModuleError::'+answer.error);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -593,7 +594,7 @@ if( section.edit.element != null ){
|
||||||
|
|
||||||
/* (5) On envoie la requête */
|
/* (5) On envoie la requête */
|
||||||
api.send(getClusters, function(getClustersResponse){
|
api.send(getClusters, function(getClustersResponse){
|
||||||
if( getClustersResponse.ModuleError == 0 ){ // si pas d'erreur
|
if( getClustersResponse.error == 0 ){ // si pas d'erreur
|
||||||
|
|
||||||
// On notifie que la recherche est terminée
|
// On notifie que la recherche est terminée
|
||||||
section.edit.input.search.submit.anim('active', 1000);
|
section.edit.input.search.submit.anim('active', 1000);
|
||||||
|
@ -640,7 +641,7 @@ if( section.edit.element != null ){
|
||||||
};
|
};
|
||||||
|
|
||||||
api.send(request, function(answer){
|
api.send(request, function(answer){
|
||||||
if( answer.ModuleError == 0 && answer.status == true ){ // Tout s'est bien deroule
|
if( answer.error == 0 && answer.status == true ){ // Tout s'est bien deroule
|
||||||
console.log('Groupe modifiee!');
|
console.log('Groupe modifiee!');
|
||||||
|
|
||||||
section.edit.input.submit.anim('active', 1500);
|
section.edit.input.submit.anim('active', 1500);
|
||||||
|
@ -657,7 +658,7 @@ if( section.edit.element != null ){
|
||||||
// On récupère la user d'uid donné dans l'URL
|
// On récupère la user d'uid donné dans l'URL
|
||||||
api.send(request2, function(response){
|
api.send(request2, function(response){
|
||||||
// Si aucune erreur et un résultat
|
// Si aucune erreur et un résultat
|
||||||
if( response.ModuleError == 0 ){
|
if( response.error == 0 ){
|
||||||
found_edit[searchindex_edit] = response.cluster; // On récupère le résultat
|
found_edit[searchindex_edit] = response.cluster; // On récupère le résultat
|
||||||
autofill_edit(); // On auto-remplit
|
autofill_edit(); // On auto-remplit
|
||||||
}
|
}
|
||||||
|
@ -665,7 +666,7 @@ if( section.edit.element != null ){
|
||||||
|
|
||||||
|
|
||||||
}else // Erreur
|
}else // Erreur
|
||||||
console.error('ModuleError::'+answer.ModuleError);
|
console.error('ModuleError::'+answer.error);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -699,7 +700,7 @@ if( pageManager.vars.length >= 2 && /^(u|m)\d+$/.test(pageManager.vars[1]) ){
|
||||||
// On récupère la user d'uid donné dans l'URL
|
// On récupère la user d'uid donné dans l'URL
|
||||||
api.send(request, function(response){
|
api.send(request, function(response){
|
||||||
// Si aucune erreur et un résultat
|
// Si aucune erreur et un résultat
|
||||||
if( response.ModuleError == 0 ){
|
if( response.error == 0 ){
|
||||||
found_edit = [ response.cluster ]; // on récupère le résultat
|
found_edit = [ response.cluster ]; // on récupère le résultat
|
||||||
searchindex_edit = 0; // on remet le compteur à 0
|
searchindex_edit = 0; // on remet le compteur à 0
|
||||||
autofill_edit(); // on auto-remplit
|
autofill_edit(); // on auto-remplit
|
||||||
|
@ -841,7 +842,7 @@ if( section.members.element != null && section.members.chooser.element == null )
|
||||||
|
|
||||||
// {2} On envoie la requête //
|
// {2} On envoie la requête //
|
||||||
api.send(linkReq, function(linkRes){
|
api.send(linkReq, function(linkRes){
|
||||||
if( linkRes.ModuleError != 0 )
|
if( linkRes.error != 0 )
|
||||||
console.error('Erreur d\'ajout de membre');
|
console.error('Erreur d\'ajout de membre');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -860,7 +861,7 @@ if( section.members.element != null && section.members.chooser.element == null )
|
||||||
|
|
||||||
// {2} On envoie la requête //
|
// {2} On envoie la requête //
|
||||||
api.send(unlinkReq, function(unlinkRes){
|
api.send(unlinkReq, function(unlinkRes){
|
||||||
if( unlinkRes.ModuleError != 0 )
|
if( unlinkRes.error != 0 )
|
||||||
console.error('Erreur d\'ajout de membre');
|
console.error('Erreur d\'ajout de membre');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -873,3 +874,101 @@ if( section.members.element != null && section.members.chooser.element == null )
|
||||||
}, false);
|
}, false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* GESTION DES PERMISSIONS
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
if( section.permissions.element != null ){
|
||||||
|
|
||||||
|
/* (1) On récupère toutes les actions de groupes */
|
||||||
|
section.permissions.group = {
|
||||||
|
rem: document.querySelectorAll(section.permissions.text + '.rem-permission[data-target][data-permission][data-source]'),
|
||||||
|
add: document.querySelectorAll(section.permissions.text + '.add-permission[data-target][data-permission]')
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/* (2) Gestion de la recherche instantannee */
|
||||||
|
section.permissions.searchbar.addEventListener('keyup', function(e){
|
||||||
|
|
||||||
|
var search = {
|
||||||
|
path: 'clusterDefault/search',
|
||||||
|
keywords: section.permissions.searchbar.value,
|
||||||
|
class: 1
|
||||||
|
};
|
||||||
|
|
||||||
|
// On envoie la requete
|
||||||
|
api.send(search, function(result){
|
||||||
|
if( result.error == 0 ){ // si aucune erreur
|
||||||
|
|
||||||
|
// On enregistre tous les UID dans un tableau
|
||||||
|
var uid_list = [];
|
||||||
|
for( var i = 0 ; i < result.clusters.length ; i++ )
|
||||||
|
uid_list.push( result.clusters[i].id_machine_cluster );
|
||||||
|
|
||||||
|
// On recupere la liste des elements correspondants aux utilisateurs
|
||||||
|
var cluster_list = document.querySelectorAll(section.permissions.text + '> article.inline-box[id]');
|
||||||
|
|
||||||
|
// Pour chaque cluster
|
||||||
|
for( var i = 0 ; i < cluster_list.length ; i++ ){
|
||||||
|
// Si doit etre visible
|
||||||
|
if( uid_list.indexOf( parseInt(cluster_list[i].id) ) > -1 )
|
||||||
|
cluster_list[i].remClass('hidden');
|
||||||
|
// Si ne doit pas etre visible
|
||||||
|
else
|
||||||
|
cluster_list[i].addClass('hidden');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}, false);
|
||||||
|
|
||||||
|
var i;
|
||||||
|
|
||||||
|
/* (3) On gere la "suppression" d'une permission */
|
||||||
|
for( i = 0 ; i < section.permissions.group.rem.length ; i++ ){
|
||||||
|
|
||||||
|
section.permissions.group.rem[i].addEventListener('click', function(e){
|
||||||
|
// {1} On rédige la requête //
|
||||||
|
var request = {
|
||||||
|
path: 'clusterDefault/remPermission',
|
||||||
|
id_target: e.target.getData('target'),
|
||||||
|
id_source: e.target.getData('source'),
|
||||||
|
id_action: e.target.getData('permission')
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// {2} On envoie la requête //
|
||||||
|
api.send(request, function(response){
|
||||||
|
|
||||||
|
// {3} Si erreur, on ne fait rien //
|
||||||
|
if( response.error != 0 )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
|
||||||
|
// {4} Si tout s'est bien passé //
|
||||||
|
e.target.parentNode.parentNode.removeChild( e.target.parentNode );
|
||||||
|
});
|
||||||
|
|
||||||
|
}, false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (4) On gere la "modification" des membres d'une permission d'un groupe */
|
||||||
|
for( i = 0 ; i < section.permissions.group.add.length ; i++ ){
|
||||||
|
|
||||||
|
section.permissions.group.add[i].addEventListener('click', function(e){
|
||||||
|
pageManager.vars = [ 'permissions', 'm'+e.target.getData('target'), 'a'+e.target.getData('permission') ];
|
||||||
|
pageManager.refresh();
|
||||||
|
}, false);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -65,7 +65,7 @@ if( section.view.element != null ){
|
||||||
|
|
||||||
// On envoie la requete
|
// On envoie la requete
|
||||||
api.send(search, function(result){
|
api.send(search, function(result){
|
||||||
if( result.ModuleError == 0 ){ // si aucune erreur
|
if( result.error == 0 ){ // si aucune erreur
|
||||||
|
|
||||||
// On enregistre tous les UID dans un tableau
|
// On enregistre tous les UID dans un tableau
|
||||||
var uid_list = [];
|
var uid_list = [];
|
||||||
|
@ -125,7 +125,7 @@ if( section.view.element != null ){
|
||||||
api.send(request, function(response){
|
api.send(request, function(response){
|
||||||
|
|
||||||
// {3} Si erreur, on ne fait rien //
|
// {3} Si erreur, on ne fait rien //
|
||||||
if( response.ModuleError != 0 )
|
if( response.error != 0 )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
||||||
|
@ -178,7 +178,7 @@ if( section.create.element != null ){
|
||||||
|
|
||||||
/* (4) On lance la requête */
|
/* (4) On lance la requête */
|
||||||
api.send(request, function(answer){
|
api.send(request, function(answer){
|
||||||
if( answer.ModuleError == 0 ){ // Tout s'est bien deroule
|
if( answer.error == 0 ){ // Tout s'est bien deroule
|
||||||
console.log('Machine cree!');
|
console.log('Machine cree!');
|
||||||
|
|
||||||
// On vide le champs
|
// On vide le champs
|
||||||
|
@ -313,7 +313,7 @@ if( section.remove.element != null ){
|
||||||
|
|
||||||
/* (5) On envoie la requête */
|
/* (5) On envoie la requête */
|
||||||
api.send(getMachines, function(getMachinesResponse){
|
api.send(getMachines, function(getMachinesResponse){
|
||||||
if( getMachinesResponse.ModuleError == 0 ){ // si pas d'erreur
|
if( getMachinesResponse.error == 0 ){ // si pas d'erreur
|
||||||
|
|
||||||
// On notifie que la recherche est terminée
|
// On notifie que la recherche est terminée
|
||||||
section.remove.input.search.submit.anim('active', 1000);
|
section.remove.input.search.submit.anim('active', 1000);
|
||||||
|
@ -354,7 +354,7 @@ if( section.remove.element != null ){
|
||||||
};
|
};
|
||||||
|
|
||||||
api.send(request, function(answer){
|
api.send(request, function(answer){
|
||||||
if( answer.ModuleError == 0 && answer.status == true ){ // Tout s'est bien deroule
|
if( answer.error == 0 && answer.status == true ){ // Tout s'est bien deroule
|
||||||
console.log('Machine supprimee!');
|
console.log('Machine supprimee!');
|
||||||
|
|
||||||
section.remove.input.submit.anim('active', 1500);
|
section.remove.input.submit.anim('active', 1500);
|
||||||
|
@ -374,7 +374,7 @@ if( section.remove.element != null ){
|
||||||
};
|
};
|
||||||
|
|
||||||
api.send(getMachines, function(getMachinesResponse){
|
api.send(getMachines, function(getMachinesResponse){
|
||||||
if( getMachinesResponse.ModuleError == 0 ){ // si pas d'erreur
|
if( getMachinesResponse.error == 0 ){ // si pas d'erreur
|
||||||
searchindex_remove = 0;
|
searchindex_remove = 0;
|
||||||
found_remove = getMachinesResponse.machines;
|
found_remove = getMachinesResponse.machines;
|
||||||
section.remove.input.search.sum.innerHTML = found_remove.length;
|
section.remove.input.search.sum.innerHTML = found_remove.length;
|
||||||
|
@ -386,7 +386,7 @@ if( section.remove.element != null ){
|
||||||
|
|
||||||
|
|
||||||
}else // Erreur
|
}else // Erreur
|
||||||
console.error('ModuleError::'+answer.ModuleError);
|
console.error('ModuleError::'+answer.error);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -513,7 +513,7 @@ if( section.edit.element != null ){
|
||||||
|
|
||||||
/* (5) On envoie la requête */
|
/* (5) On envoie la requête */
|
||||||
api.send(getMachines, function(getMachinesResponse){
|
api.send(getMachines, function(getMachinesResponse){
|
||||||
if( getMachinesResponse.ModuleError == 0 ){ // si pas d'erreur
|
if( getMachinesResponse.error == 0 ){ // si pas d'erreur
|
||||||
|
|
||||||
// On notifie que la recherche est terminée
|
// On notifie que la recherche est terminée
|
||||||
section.edit.input.search.submit.anim('active', 1000);
|
section.edit.input.search.submit.anim('active', 1000);
|
||||||
|
@ -557,7 +557,7 @@ if( section.edit.element != null ){
|
||||||
};
|
};
|
||||||
|
|
||||||
api.send(request, function(answer){
|
api.send(request, function(answer){
|
||||||
if( answer.ModuleError == 0 && answer.status == true ){ // Tout s'est bien deroule
|
if( answer.error == 0 && answer.status == true ){ // Tout s'est bien deroule
|
||||||
console.log('Machine modifiee!');
|
console.log('Machine modifiee!');
|
||||||
|
|
||||||
section.edit.input.submit.anim('active', 1500);
|
section.edit.input.submit.anim('active', 1500);
|
||||||
|
@ -568,14 +568,14 @@ if( section.edit.element != null ){
|
||||||
// On récupère la machine d'uid donné dans l'URL
|
// On récupère la machine d'uid donné dans l'URL
|
||||||
api.send({path:'machineDefault/getById', id_machine:request.id_machine}, function(response){
|
api.send({path:'machineDefault/getById', id_machine:request.id_machine}, function(response){
|
||||||
// Si aucune erreur et un résultat
|
// Si aucune erreur et un résultat
|
||||||
if( response.ModuleError == 0 ){
|
if( response.error == 0 ){
|
||||||
found_edit[searchindex_edit] = response.machine; // On récupère le résultat
|
found_edit[searchindex_edit] = response.machine; // On récupère le résultat
|
||||||
autofill_edit(); // On auto-remplit
|
autofill_edit(); // On auto-remplit
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}else // Erreur
|
}else // Erreur
|
||||||
console.error('ModuleError::'+answer.ModuleError);
|
console.error('ModuleError::'+answer.error);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -601,7 +601,7 @@ if( pageManager.vars.length >= 2 && !isNaN(pageManager.vars[1]) ){
|
||||||
api.send({path:'machineDefault/getById', id_machine:pageManager.vars[1]}, function(response){
|
api.send({path:'machineDefault/getById', id_machine:pageManager.vars[1]}, function(response){
|
||||||
|
|
||||||
// si aucune erreur et un résultat
|
// si aucune erreur et un résultat
|
||||||
if( response.ModuleError == 0 ){
|
if( response.error == 0 ){
|
||||||
|
|
||||||
/* (1) On pré-remplis le formulaire de modification */
|
/* (1) On pré-remplis le formulaire de modification */
|
||||||
found_edit = [ response.machine ]; // on récupère le résultat
|
found_edit = [ response.machine ]; // on récupère le résultat
|
||||||
|
@ -659,7 +659,7 @@ if( section.groups.element != null ){
|
||||||
|
|
||||||
// On envoie la requete
|
// On envoie la requete
|
||||||
api.send(search, function(result){
|
api.send(search, function(result){
|
||||||
if( result.ModuleError == 0 ){ // si aucune erreur
|
if( result.error == 0 ){ // si aucune erreur
|
||||||
|
|
||||||
// On enregistre tous les UID dans un tableau
|
// On enregistre tous les UID dans un tableau
|
||||||
var uid_list = [];
|
var uid_list = [];
|
||||||
|
@ -722,7 +722,7 @@ if( section.groups.element != null ){
|
||||||
api.send(request, function(response){
|
api.send(request, function(response){
|
||||||
|
|
||||||
// {3} Si erreur, on ne fait rien //
|
// {3} Si erreur, on ne fait rien //
|
||||||
if( response.ModuleError != 0 )
|
if( response.error != 0 )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -70,10 +70,10 @@ if( section.view.element != null ){
|
||||||
|
|
||||||
// On envoie la requete
|
// On envoie la requete
|
||||||
api.send(search, function(result){
|
api.send(search, function(result){
|
||||||
if( result.ModuleError != 0 ) return;
|
if( result.error != 0 ) return;
|
||||||
|
|
||||||
console.log(result.users.length);
|
console.log(result.users.length);
|
||||||
if( result.ModuleError == 0 ){ // si aucune erreur
|
if( result.error == 0 ){ // si aucune erreur
|
||||||
|
|
||||||
// On enregistre tous les UID dans un tableau
|
// On enregistre tous les UID dans un tableau
|
||||||
var uid_list = [];
|
var uid_list = [];
|
||||||
|
@ -133,7 +133,7 @@ if( section.view.element != null ){
|
||||||
api.send(request, function(response){
|
api.send(request, function(response){
|
||||||
|
|
||||||
// {3} Si erreur, on ne fait rien //
|
// {3} Si erreur, on ne fait rien //
|
||||||
if( response.ModuleError != 0 )
|
if( response.error != 0 )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
||||||
|
@ -201,7 +201,7 @@ if( section.create.element != null ){
|
||||||
};
|
};
|
||||||
|
|
||||||
api.send(request, function(answer){
|
api.send(request, function(answer){
|
||||||
if( answer.ModuleError == 0 ){ // Tout s'est bien deroule
|
if( answer.error == 0 ){ // Tout s'est bien deroule
|
||||||
console.log('Utilisateur cree!');
|
console.log('Utilisateur cree!');
|
||||||
|
|
||||||
section.create.input.submit.anim('active', 1500);
|
section.create.input.submit.anim('active', 1500);
|
||||||
|
@ -214,7 +214,7 @@ if( section.create.element != null ){
|
||||||
section.create.input.mail.value = '';
|
section.create.input.mail.value = '';
|
||||||
|
|
||||||
}else // Erreur
|
}else // Erreur
|
||||||
console.error('ModuleError::'+answer.ModuleError);
|
console.error('ModuleError::'+answer.error);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -344,7 +344,7 @@ if( section.remove.element != null ){
|
||||||
|
|
||||||
/* (5) On envoie la requête */
|
/* (5) On envoie la requête */
|
||||||
api.send(getUsers, function(getUsersResponse){
|
api.send(getUsers, function(getUsersResponse){
|
||||||
if( getUsersResponse.ModuleError == 0 ){ // si pas d'erreur
|
if( getUsersResponse.error == 0 ){ // si pas d'erreur
|
||||||
|
|
||||||
// On notifie que la recherche est terminée
|
// On notifie que la recherche est terminée
|
||||||
section.remove.input.search.submit.anim('active', 1000);
|
section.remove.input.search.submit.anim('active', 1000);
|
||||||
|
@ -389,7 +389,7 @@ if( section.remove.element != null ){
|
||||||
};
|
};
|
||||||
|
|
||||||
api.send(request, function(answer){
|
api.send(request, function(answer){
|
||||||
if( answer.ModuleError == 0 && answer.status == true ){ // Tout s'est bien deroule
|
if( answer.error == 0 && answer.status == true ){ // Tout s'est bien deroule
|
||||||
console.log('Utilisateur supprime!');
|
console.log('Utilisateur supprime!');
|
||||||
|
|
||||||
section.remove.input.submit.anim('active', 1500);
|
section.remove.input.submit.anim('active', 1500);
|
||||||
|
@ -409,7 +409,7 @@ if( section.remove.element != null ){
|
||||||
};
|
};
|
||||||
|
|
||||||
api.send(getUsers, function(getUsersResponse){
|
api.send(getUsers, function(getUsersResponse){
|
||||||
if( getUsersResponse.ModuleError == 0 ){ // si pas d'erreur
|
if( getUsersResponse.error == 0 ){ // si pas d'erreur
|
||||||
searchindex_remove = 0;
|
searchindex_remove = 0;
|
||||||
found_remove = getUsersResponse.users;
|
found_remove = getUsersResponse.users;
|
||||||
section.remove.input.search.sum.innerHTML = found_remove.length;
|
section.remove.input.search.sum.innerHTML = found_remove.length;
|
||||||
|
@ -420,7 +420,7 @@ if( section.remove.element != null ){
|
||||||
|
|
||||||
|
|
||||||
}else // Erreur
|
}else // Erreur
|
||||||
console.error('ModuleError::'+answer.ModuleError);
|
console.error('ModuleError::'+answer.error);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -561,7 +561,7 @@ if( section.edit.element != null ){
|
||||||
|
|
||||||
/* (5) On envoie la requête */
|
/* (5) On envoie la requête */
|
||||||
api.send(getUsers, function(getUsersResponse){
|
api.send(getUsers, function(getUsersResponse){
|
||||||
if( getUsersResponse.ModuleError == 0 ){ // si pas d'erreur
|
if( getUsersResponse.error == 0 ){ // si pas d'erreur
|
||||||
|
|
||||||
// On notifie que la recherche est terminée
|
// On notifie que la recherche est terminée
|
||||||
section.edit.input.search.submit.anim('active', 1000);
|
section.edit.input.search.submit.anim('active', 1000);
|
||||||
|
@ -608,7 +608,7 @@ if( section.edit.element != null ){
|
||||||
|
|
||||||
api.send(request, function(answer){
|
api.send(request, function(answer){
|
||||||
console.log( answer );
|
console.log( answer );
|
||||||
if( answer.ModuleError == 0 && answer.status == true ){ // Tout s'est bien deroule
|
if( answer.error == 0 && answer.status == true ){ // Tout s'est bien deroule
|
||||||
console.log('Utilisateur modifie!');
|
console.log('Utilisateur modifie!');
|
||||||
|
|
||||||
section.edit.input.submit.anim('active', 1500);
|
section.edit.input.submit.anim('active', 1500);
|
||||||
|
@ -618,7 +618,7 @@ if( section.edit.element != null ){
|
||||||
// On récupère la user d'uid donné dans l'URL
|
// On récupère la user d'uid donné dans l'URL
|
||||||
api.send({path:'userDefault/getById', id_user:request.id_user}, function(response){
|
api.send({path:'userDefault/getById', id_user:request.id_user}, function(response){
|
||||||
// Si aucune erreur et un résultat
|
// Si aucune erreur et un résultat
|
||||||
if( response.ModuleError == 0 ){
|
if( response.error == 0 ){
|
||||||
found_edit[searchindex_edit] = response.user; // On récupère le résultat
|
found_edit[searchindex_edit] = response.user; // On récupère le résultat
|
||||||
autofill_edit(); // On auto-remplit
|
autofill_edit(); // On auto-remplit
|
||||||
}
|
}
|
||||||
|
@ -626,7 +626,7 @@ if( section.edit.element != null ){
|
||||||
|
|
||||||
|
|
||||||
}else // Erreur
|
}else // Erreur
|
||||||
console.error('ModuleError::'+answer.ModuleError);
|
console.error('ModuleError::'+answer.error);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -650,7 +650,7 @@ if( pageManager.vars.length >= 2 && !isNaN(pageManager.vars[1]) ){
|
||||||
api.send({path:'userDefault/getById', id_user:pageManager.vars[1]}, function(response){
|
api.send({path:'userDefault/getById', id_user:pageManager.vars[1]}, function(response){
|
||||||
|
|
||||||
// si aucune erreur et un résultat
|
// si aucune erreur et un résultat
|
||||||
if( response.ModuleError == 0 ){
|
if( response.error == 0 ){
|
||||||
|
|
||||||
/* (1) On pré-remplis le formulaire de modification */
|
/* (1) On pré-remplis le formulaire de modification */
|
||||||
found_edit = [ response.user ]; // on récupère le résultat
|
found_edit = [ response.user ]; // on récupère le résultat
|
||||||
|
@ -701,7 +701,7 @@ if( section.groups.element != null ){
|
||||||
|
|
||||||
// On envoie la requete
|
// On envoie la requete
|
||||||
api.send(search, function(result){
|
api.send(search, function(result){
|
||||||
if( result.ModuleError == 0 ){ // si aucune erreur
|
if( result.error == 0 ){ // si aucune erreur
|
||||||
|
|
||||||
// On enregistre tous les UID dans un tableau
|
// On enregistre tous les UID dans un tableau
|
||||||
var uid_list = [];
|
var uid_list = [];
|
||||||
|
@ -764,7 +764,7 @@ if( section.groups.element != null ){
|
||||||
api.send(request, function(response){
|
api.send(request, function(response){
|
||||||
|
|
||||||
// {3} Si erreur, on ne fait rien //
|
// {3} Si erreur, on ne fait rien //
|
||||||
if( response.ModuleError != 0 )
|
if( response.error != 0 )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue