用户权限管理

This commit is contained in:
undefined committed 2020-04-28 18:16:43 +08:00
1 parent c2f9bf8c53
commit 4ec2a46877
11 files changed
+172 -75

No files matched your search

+5 -4
View File
@@ -1,9 +1,10 @@
{% set page_name = "domain_manage_permission" %}
{% extends "manage_base.html" %}
{% block domain_content %}
<form method="post">
<div class="section">
<div class="section__header">
<h1 class="section__title">{{ _('{0}: Permissions').format(handler.domain['name']) }}</h1>
<h1 class="section__title">{{ _('{0}: Permissions').format(system.uname) }}</h1>
</div>
<div class="section__body no-padding domain-users">
<table class="data-table">
@@ -17,11 +18,11 @@
<tr>
<th class="col--description">{{ _('Permissions') }}</th>
{% for role in roles %}
<th class="col--p"><span data-tooltip="{{ role }}">{{ role }}</span></th>
<th class="col--p"><span data-tooltip="{{ role }}">{{ role._id }}</span></th>
{% endfor %}
</tr>
</thead>
{% for family, perms in perm.PERMS_BY_FAMILY.items() %}
{% for family, perms in perm.PERMS_BY_FAMILY %}
<tbody>
<tr>
<td class="col--family" colspan="{{ (roles|length)+1 }}">
@@ -36,7 +37,7 @@
{% for role in roles %}
<td class="col--p">
<label class="compact checkbox">
<input name="{{ role }}" data-checkbox-group="{{ role }}" data-checkbox-range value="{{ perm.key }}" type="checkbox"{% if roles[role].includes(perm.key) or roles[role] == '-' %} checked{% endif %}>
<input name="{{ role._id }}" data-checkbox-group="{{ role._id }}" data-checkbox-range value="{{ perm.key }}" type="checkbox"{% if role.perm.includes(perm.key) %} checked{% endif %}{% if role._id == 'root' %} disabled{% endif %}>
</label>
</td>
{% endfor %}
+2 -2
View File
@@ -21,7 +21,7 @@
</div>
<div class="section">
<div class="section__header">
<h1 class="section__title">{{ _('{0}: Roles').format(handler.domain['name']) }}</h1>
<h1 class="section__title">{{ _('{0}: Roles').format(system.uname) }}</h1>
<div class="section__tools">
<button class="primary rounded button" name="create_role">{{ _('Create Role') }}</button>
</div>
@@ -48,7 +48,7 @@
</thead>
<tbody>
{% for role in roles %}
{% if role._id not in ['default', 'guest', 'admin'] %}
{% if role._id not in ['default', 'guest', 'root'] %}
<tr data-role="{{ role._id }}">
<td class="col--checkbox">
<label class="compact checkbox">
+25 -9
View File
@@ -1,3 +1,4 @@
{% set page_name = "domain_manage_user" %}
{% extends "manage_base.html" %}
{% block domain_content %}
<div style="display: none" class="dialog__body--add-user">
@@ -15,7 +16,12 @@
<div class="medium-6 columns">
<label>
{{ _('Role') }}
{{ form.select([('', _('Select a role'))] + roles_with_text, 'role') }}
{{ form.select({
label:_('Select a role'),
options:rolesSelect,
name:'role',
value:'default'
}) }}
</label>
</div>
</div>
@@ -30,7 +36,11 @@
<div class="medium-12 columns">
<label>
{{ _('Set Roles for selected users') }}
{{ form.select([('', _('Select a role'))] + roles_with_text, 'role') }}
{{ form.select({
label:_('Select a role'),
options:rolesSelect,
name:'role'
}) }}
</label>
</div>
</div>
@@ -38,7 +48,7 @@
</div>
<div class="section">
<div class="section__header">
<h1 class="section__title">{{ _('{0}: Users').format(handler.domain['name']) }}</h1>
<h1 class="section__title">{{ _('{0}: Users').format(system.uname) }}</h1>
<div class="section__tools">
<button class="primary rounded button" name="add_user">{{ _('Add User to Domain') }}</button>
</div>
@@ -68,24 +78,30 @@
<tbody>
{% for role in roles %}
{% for rudoc in rudocs[role] %}
{% set is_disabled=(rudoc['uid'] == handler.domain['owner']) %}
<tr data-uid="{{ rudoc['uid'] }}">
{% set is_disabled=(rudoc._id == handler.user._id) %}
<tr data-uid="{{ rudoc._id }}">
<td class="col--checkbox">
<label class="compact checkbox">
<input type="checkbox" data-checkbox-group="user" {% if is_disabled %}disabled{% else %}data-checkbox-range{% endif %}>
</label>
</td>
<td class="col--uid">
{{ rudoc['uid'] }}
{{ rudoc._id }}
</td>
<td class="col--user">
{{ user.render_inline(udict[rudoc['uid']], badge=false) }}
{{ user.render_inline(udict[rudoc._id], badge=false) }}
</td>
<td class="col--name-alias">
{{ rudoc['display_name']|default('') }}
{{ rudoc.displayName|default('') }}
</td>
<td class="col--role">
{{ form.select(roles_with_text, 'role', value=rudoc['role'], extra_class='compact', disabled=is_disabled) }}
{{ form.select({
options:rolesSelect,
name:'role',
value:rudoc['role'],
extra_class:'compact',
disabled:is_disabled
}) }}
</td>
</tr>
{% endfor %}
+1 -1
View File
@@ -23,7 +23,7 @@
{% if handler.hasPerm(perm.PERM_VIEW_CONTEST) %}
{{ nav_item('/c', 'contest_main', 'contest') }}
{% endif %}
{% if handler.hasPerm(perm.PERM_EDIT_DESCRIPTION) or handler.hasPerm(perm.PERM_EDIT_PERM) %}
{% if handler.hasPerm(perm.PERM_MANAGE) %}
{{ nav_item('/manage', 'domain_manage', 'domain_manage') }}
{% endif %}
</ol>