Files
kimai2/templates/user/permissions.html.twig
2020-07-12 01:18:57 +02:00

74 lines
3.0 KiB
Twig

{% extends 'base.html.twig' %}
{% import "macros/datatables.html.twig" as tables %}
{% import "macros/widgets.html.twig" as widgets %}
{% import "macros/toolbar.html.twig" as toolbar %}
{% import "user/actions.html.twig" as actions %}
{% set columns = {
'label.name': 'alwaysVisible',
} %}
{% set canEditPermissions = is_granted('role_permissions') %}
{% for role in roles %}
{% set options = {'class': 'alwaysVisible text-center'} %}
{% if canEditPermissions and role.name not in system_roles|keys %}
{% set widget %}
&nbsp;<a href="{{ path('admin_user_role_delete', {'id': role.id}) }}" class="confirmation-link" data-question="confirm.delete">{{ widgets.icon('trash') }}</a>
{% endset %}
{% set options = options|merge({'html_after': widget}) %}
{% endif %}
{% set columns = columns|merge({
(role.name|trans): options,
}) %}
{% endfor %}
{% set tableName = 'user_admin_permissions' %}
{% block page_title %}{{ 'user_permissions.title'|trans }}{% endblock %}
{% block page_actions %}{{ actions.user_permissions('index') }}{% endblock %}
{% block main %}
{{ tables.datatable_header(tableName, columns, null, {'translationPrefix': ''}) }}
{% set colspan = 1 + (roles|length) %}
{% for title, perms in sorted %}
{% if perms|length > 0 %}
<tr class="summary info">
<td colspan="{{ colspan }}">{{ title }}</td>
</tr>
{% for permission in perms|sort %}
<tr>
<td>{{ permission }}</td>
{% for role in roles %}
{% set value = manager.permission(role.name, permission) %}
<td class="text-center">
{# see RolePermissionManager for this special case #}
{% if role.name == 'ROLE_SUPER_ADMIN' and permission in always_apply_superadmin %}
{% if value %}
{{ widgets.label('yes'|trans, 'warning') }}
{% else %}
<a href="{{ path('admin_user_permission_save', {'id': role.id, 'name': permission, 'value': '1'}) }}">{{ widgets.label('no'|trans, 'danger') }}</a>
{% endif %}
{% else %}
<a href="{{ path('admin_user_permission_save', {'id': role.id, 'name': permission, 'value': (value ? '0' : '1')}) }}">{{ widgets.label_boolean(value) }}</a>
{% endif %}
</td>
{% endfor %}
</tr>
{% endfor %}
{% endif %}
{% endfor %}
{{ tables.data_table_footer() }}
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script type="text/javascript">
document.addEventListener('kimai.initialized', function() {
KimaiReloadPageWidget.create('kimai.userRoleUpdate');
});
</script>
{% endblock %}