{% 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 %}  {{ widgets.icon('trash') }} {% 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 %} {{ title }} {% for permission in perms|sort %} {{ permission }} {% for role in roles %} {% set value = manager.permission(role.name, permission) %} {# see RolePermissionManager for this special case #} {% if (permission != 'role_permissions' and permission != 'view_user') or role.name != 'ROLE_SUPER_ADMIN' %} {{ widgets.label_boolean(value) }} {% else %} {{ widgets.label_boolean(value) }} {% endif %} {% endfor %} {% endfor %} {% endif %} {% endfor %} {{ tables.data_table_footer(permissions) }} {% endblock %} {% block javascripts %} {{ parent() }} {% endblock %}