You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
3.6 KiB
HTML
114 lines
3.6 KiB
HTML
{% extends "domain_base.html" %}
|
|
{% block domain_content %}
|
|
{% set _rolesSelect = roles.filter(eval("(i) => i._id !== 'guest'")).map(eval('(role) => [role._id, role._id]')) %}
|
|
{% set _rolesSelectWithoutDefault = _rolesSelect.filter(eval("(i) => i[0] !== 'default'")) %}
|
|
<div style="display: none" class="dialog__body--add-user">
|
|
<div>
|
|
<div class="row"><div class="columns">
|
|
<h1>{{ _('Add User') }}</h1>
|
|
</div></div>
|
|
<div class="row">
|
|
<div class="medium-6 columns">
|
|
<label>
|
|
{{ _('Username / UID') }}
|
|
<input name="user" type="text" class="textbox" autocomplete="off" data-autofocus>
|
|
</label>
|
|
</div>
|
|
<div class="medium-6 columns">
|
|
<label>
|
|
{{ _('Role') }}
|
|
{{ form.select({
|
|
label:_('Select a role'),
|
|
options:_rolesSelectWithoutDefault,
|
|
name:'role'
|
|
}) }}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div style="display: none" class="dialog__body--set-role">
|
|
<div>
|
|
<div class="row"><div class="columns">
|
|
<h1>{{ _('Set Role') }}</h1>
|
|
</div></div>
|
|
<div class="row">
|
|
<div class="medium-12 columns">
|
|
<label>
|
|
{{ _('Set Roles for selected users') }}
|
|
{{ form.select({
|
|
label:_('Select a role'),
|
|
options:_rolesSelect,
|
|
name:'role'
|
|
}) }}
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="section">
|
|
<div class="section__header">
|
|
<h1 class="section__title">{{ _('{0}: Users').format(domain.name) }}</h1>
|
|
<div class="section__tools">
|
|
<button class="primary rounded button" name="add_user">{{ _('Add User') }}</button>
|
|
</div>
|
|
</div>
|
|
{{ noscript_note.render() }}
|
|
<div class="section__body no-padding domain-users">
|
|
<table class="data-table">
|
|
<colgroup>
|
|
<col class="col--checkbox">
|
|
<col class="col--uid">
|
|
<col class="col--user">
|
|
<col class="col--role">
|
|
</colgroup>
|
|
<thead>
|
|
<tr>
|
|
<th class="col--checkbox">
|
|
<label class="compact checkbox">
|
|
<input type="checkbox" name="select_all" data-checkbox-toggle="user">
|
|
</label>
|
|
</th>
|
|
<th class="col--uid">{{ _('User ID') }}</th>
|
|
<th class="col--user">{{ _('Username') }}</th>
|
|
<th class="col--role">{{ _('Role') }}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{%- for role in roles -%}
|
|
{%- for rudoc in rudocs[role._id] -%}
|
|
{% 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._id }}
|
|
</td>
|
|
<td class="col--user">
|
|
{{ user.render_inline(udict[rudoc._id], badge=false) }}
|
|
</td>
|
|
<td class="col--role">
|
|
{{ form.select({
|
|
options:_rolesSelect,
|
|
name:'role',
|
|
value:rudoc.role,
|
|
extra_class:'compact',
|
|
disabled:is_disabled
|
|
}) }}
|
|
</td>
|
|
</tr>
|
|
{%- endfor -%}
|
|
{%- endfor -%}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="section__body">
|
|
<button class="rounded button" name="remove_selected">{{ _('Remove Selected User') }}</button>
|
|
<button class="rounded button" name="set_roles">{{ _('Set Roles for Selected User') }}</button>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|