mirror of
https://github.com/YunoHost/yunohost-admin.git
synced 2024-09-03 20:06:15 +02:00
[enh] Be able to add groups
This commit is contained in:
parent
97420631e8
commit
73abafb2c4
4 changed files with 58 additions and 13 deletions
|
@ -14,21 +14,17 @@
|
|||
app.get('#/permissions', function (c) {
|
||||
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;
|
||||
for (var user in data_users.users) {
|
||||
console.log(user);
|
||||
if (user in data_groups.groups) {
|
||||
if (data_groups.groups[user].permissions.length > 0)
|
||||
specific_perms[user] = data_groups.groups[user];
|
||||
delete data_groups.groups[user];
|
||||
}
|
||||
}
|
||||
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 = {
|
||||
|
@ -42,6 +38,23 @@
|
|||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* Groups
|
||||
*
|
||||
*/
|
||||
|
||||
// Create a new group
|
||||
app.get('#/groups/create', function (c) {
|
||||
c.view('user/group_create', {});
|
||||
});
|
||||
|
||||
app.post('#/groups/create', function (c) {
|
||||
c.params['groupname'] = c.params['groupname'].replace(' ', '_').toLowerCase();
|
||||
c.api('/users/groups', function(data) {
|
||||
c.redirect('#/permissions');
|
||||
}, 'POST', c.params.toHash());
|
||||
});
|
||||
|
||||
/**
|
||||
* Users
|
||||
*
|
||||
|
|
|
@ -159,6 +159,8 @@
|
|||
"good_practices_about_admin_password": "You are now about to define a new admin password. The password should be at least 8 characters - though it is good practice to use longer password (i.e. a passphrase) and/or to use various kind of characters (uppercase, lowercase, digits and special characters).",
|
||||
"good_practices_about_user_password": "You are now about to define a new user password. The password should be at least 8 characters - though it is good practice to use longer password (i.e. a passphrase) and/or to use various kind of characters (uppercase, lowercase, digits and special characters).",
|
||||
"group": "Group",
|
||||
"group_name": "Group name",
|
||||
"group_format_name_help": "You can use alpha-numeric chars and space",
|
||||
"home": "Home",
|
||||
"hook_adminjs_group_configuration": "System configurations",
|
||||
"hook_conf_cron": "Automatic tasks",
|
||||
|
|
30
src/views/user/group_create.ms
Normal file
30
src/views/user/group_create.ms
Normal file
|
@ -0,0 +1,30 @@
|
|||
<div class="btn-breadcrumb">
|
||||
<a href="#/" ><i class="fa-home"></i><span class="sr-only">{{t 'home'}}</span></a>
|
||||
<a href="#/users" class="visible-xs">…</a>
|
||||
<a href="#/users" class="hidden-xs">{{t 'users'}}</a>
|
||||
<a href="#/permissions" class="visible-xs">…</a>
|
||||
<a href="#/permissions" class="hidden-xs">{{t 'permissions'}}</a>
|
||||
<a href="#/groups/create">{{t 'perm_groups_new'}}</a>
|
||||
</div>
|
||||
|
||||
<div class="separator"></div>
|
||||
|
||||
<form action="#/groups/create" method="POST" class="form-horizontal">
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label for="groupname" class="col-sm-3 control-label">{{t 'group_name'}}</label>
|
||||
<div class="col-sm-9">
|
||||
<input type="text" id="groupname" name="groupname" class="form-control" placeholder="my group name" required pattern="[A-Za-z0-9_ ]+">
|
||||
<div class="help-block">{{t 'group_format_name_help'}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-center">
|
||||
<input type="submit" role="button" class="btn btn-success slide back" value="{{t 'save'}}">
|
||||
</div>
|
||||
|
||||
</form>
|
|
@ -1,11 +1,11 @@
|
|||
<div class="btn-breadcrumb">
|
||||
<a href="#/"><i class="fa-home"></i><span class="sr-only">{{t 'home'}}</span></a>
|
||||
<a href="#/users">{{t 'users'}}</a>
|
||||
<a href="#/users/permissions">{{t 'perm_manage_permissions'}}</a>
|
||||
<a href="#/permissions">{{t 'perm_manage_permissions'}}</a>
|
||||
</div>
|
||||
|
||||
<div class="actions-group">
|
||||
<a role="button" href="#/users/groups/create" class="btn btn-success slide">
|
||||
<a role="button" href="#/groups/create" class="btn btn-success slide">
|
||||
<span class="fa-plus"></span> {{t 'perm_groups_new'}}
|
||||
</a>
|
||||
</div>
|
||||
|
@ -18,7 +18,7 @@
|
|||
<div class="panel-heading" role="tab" id="heading-context-group-{{@key}}">
|
||||
<h2 class="panel-title">
|
||||
<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}}"
|
||||
<span class="fa-fw fa-group"></span> {{#if special}}{{t @key}}{{else}}{{t 'group'}} "{{ucwords @key}}"{{/if}}
|
||||
</a>
|
||||
</h2>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Reference in a new issue