74 lines
3.0 KiB
Twig
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 %}
|
|
<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 %}
|