[fix] Use the new permissions API

This commit is contained in:
ljf 2019-10-15 19:53:35 +02:00
parent 059bb67ced
commit 97420631e8
5 changed files with 38 additions and 54 deletions

View file

@ -5,7 +5,7 @@
"private": true,
"dependencies": {
"bootstrap": "3.3.6",
"font-awesome": "4.5.0",
"fork-awesome": "1.1.7",
"handlebars-helper-intl": "1.1.2",
"handlebars": "4.0.11",
"sammy": "0.7.6",

View file

@ -71,7 +71,7 @@ gulp.task('js-lint', function() {
// Fonts
gulp.task('fonts', function() {
return gulp.src([
'bower_components/font-awesome/fonts/*',
'bower_components/fork-awesome/fonts/*',
'bower_components/source-code-pro/EOT/*.eot',
'bower_components/source-code-pro/OTF/*.otf',
'bower_components/source-code-pro/TTF/*.ttf',

View file

@ -12,49 +12,33 @@
// List groups and permissions
app.get('#/permissions', function (c) {
c.api('/users/groups', function(data_groups) {
//c.api('/users/permissions', function(data_permissions) {
c.api('/users/groups?full&include_primary_groups', function(data_groups) {
c.api('/users', function(data_users) {
console.log(data_users);
console.log(data_groups);
//var perms = data_permissions.permissions;
var specific_perms = {};
var all_perms = [];
for (var groupname in data_groups.groups) {
var group = data_groups.groups[groupname];
if (group.members.length == 1 && groupname == group.members[0]) {
specific_perms[groupname] = group;
}
}
console.log(specific_perms);
for (var primary_group in specific_perms) {
delete data_groups.groups[primary_group];
}
data_groups.groups['all_users'].special = true;
data_groups.groups['visitors'].special = true;
data = {
'groups':[
{
'name': 'all_users',
'all_users': "true",
'users': ['ljf', 'john', 'camille', 'sam', 'eli', 'bob', 'sandra',
'aaron', 'mike'],
'permissions': ['Mail', 'XMPP']
},
{
'name': 'members',
'users': ['ljf', 'john', 'eli', 'bob', 'sandra',
'aaron', 'mike'],
'permissions': ['Mail', 'XMPP', 'Wekan', 'Wordpress (editor)']
},
{
'name':'volunters',
'users':['ljf', 'toto'],
'permissions': []
},
{
'name':'admins',
'users':['ljf', 'toto'],
'permissions': []
}
],
'users_with_specific_permissions':[
{
'username': 'ljf',
'permissions': ['Nextcloud']
},
{
'username': 'toto',
'permissions': ['Nextcloud']
}
],
'users': ['ljf', 'toto', 'titi', 'tutu', 'tata'],
'permissions': ['Mail', 'XMPP', 'Wekan', 'nextcloud']
'groups':data_groups.groups,
'users_with_specific_permissions': specific_perms,
'users': Object.keys(data_users.users),
'permissions': all_perms
};
c.view('user/user_permission', data);
//});
});
});
});

View file

@ -5,7 +5,7 @@
<div class="actions-group">
<a href="#/permissions" class="btn btn-info">
<span class="fa-key-modern"></span> {{t 'manage_permissions'}}
<span class="fa-key-modern"></span> {{t 'perm_manage_permissions'}}
</a>
<a role="button" href="#/users/create" class="btn btn-success slide">
<span class="fa-plus"></span> {{t 'users_new'}}

View file

@ -15,24 +15,24 @@
<div id="view-permissions">
{{#each groups}}
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="heading-context-group-{{name}}">
<div class="panel-heading" role="tab" id="heading-context-group-{{@key}}">
<h2 class="panel-title">
<a role="button" data-toggle="collapse" href="#collapse-group-{{name}}" aria-expanded="false" aria-controls="collapse-group-{{name}}">
<span class="fa-fw fa-group"></span> {{t 'group'}} "{{ucwords name}}"
<a role="button" data-toggle="collapse" href="#collapse-group-{{@key}}" aria-expanded="false" aria-controls="collapse-group-{{@key}}">
<span class="fa-fw fa-group"></span> {{t 'group'}} "{{#if special}}{{t @key}}{{else}}{{ucwords @key}}{{/if}}"
</a>
</h2>
</div>
<div id="collapse-group-{{name}}" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="heading-context-group-{{name}}">
<div id="collapse-group-{{@key}}" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="heading-context-group-{{@key}}">
<div class="panel-body">
<div class="row">
<div class="col-sm-2">
<h3>{{t 'users'}}</h3>
</div>
<div class="col-sm-10">
{{#if all_users}}
{{#if special}}
<div class="alert alert-info" role="alert"><span class="fa-info-circle"></span> {{t 'perm_all_users_group_explanation'}}</div>
{{else}}
{{#each users}}
{{#each members}}
<span class="label label-default label-removable">
<span class="fa-fw fa-user"></span>
{{.}}
@ -48,7 +48,7 @@
<span class="fa-plus"></span> {{t 'perm_add_user'}}
</button>
<ul class="dropdown-menu">
{{#each ../../users}}
{{#each ../users}}
<li>{{.}}</li>
{{/each}}
</ul>
@ -76,7 +76,7 @@
<span class="fa-plus"></span> {{t 'perm_add_permission'}}
</button>
<ul class="dropdown-menu">
{{#each ../../permissions}}
{{#each ../permissions}}
<li>{{.}}</li>
{{/each}}
</ul>
@ -100,7 +100,7 @@
{{#each users_with_specific_permissions}}
<div class="row">
<div class="col-sm-2">
<h3>{{username}}</h3>
<h3>{{@key}}</h3>
</div>
<div class="col-sm-10">
{{#each permissions}}
@ -117,7 +117,7 @@
<span class="fa-plus"></span> {{t 'perm_add_permission'}}
</button>
<ul class="dropdown-menu">
{{#each ../../permissions}}
{{#each ../permissions}}
<li>{{.}}</li>
{{/each}}
</ul>
@ -131,7 +131,7 @@
<span class="fa-plus"></span> {{t 'perm_add_user'}}
</button>
<ul class="dropdown-menu">
{{#each ../../users}}
{{#each users}}
<li>{{.}}</li>
{{/each}}
</ul>