{% extends 'administration/base.html.twig' %} {% block title %}{% if isNew %}{{ 'admin.role.new_role'|trans }}{% else %}{{ 'admin.role.edit_title'|trans }}{% endif %}{% endblock %} {% block body %}

{% if isNew %}{{ 'admin.role.new_role'|trans }}{% else %}{{ 'admin.role.edit_title'|trans }}{% endif %}

{% if isNew %} {{ 'admin.role.new_description'|trans }} {% else %} {{ 'admin.role.edit_description'|trans }} {% endif %}

{{ 'admin.role.back'|trans }}
{{ form_start(form, {'attr': {'id': 'roleForm'}}) }}

{{ 'admin.role.basic_info'|trans }}

{{ form_label(form.name, 'admin.role.role_name'|trans, {'label_attr': {'class': 'form-label fw-semibold text-primary'}}) }} {{ form_widget(form.name, {'attr': {'class': 'form-control form-control-lg', 'placeholder': 'admin.role.role_name_placeholder'|trans}}) }}
{{ 'admin.role.role_name_help'|trans }}
{{ form_label(form.description, 'admin.role.description'|trans, {'label_attr': {'class': 'form-label fw-semibold text-primary'}}) }} {{ form_widget(form.description, {'attr': {'class': 'form-control', 'rows': 3, 'placeholder': 'admin.role.description_placeholder'|trans}}) }}
{{ 'admin.role.description_help'|trans }}
{{ form_widget(form.isSystem, {'attr': {'class': 'form-check-input'}}) }} {{ form_label(form.isSystem, 'admin.role.system_role'|trans, {'label_attr': {'class': 'form-check-label fw-semibold'}}) }}
{{ 'admin.role.system_role_help'|trans }}

{{ 'admin.role.permissions_title'|trans }}

{{ 'admin.role.quick_selection'|trans }}
{% set permissionGroups = { 'Dashboard': {'icon': 'bi-speedometer2', 'title': 'admin.permission_groups.dashboard'|trans, 'color': 'primary'}, 'Benutzer': {'icon': 'bi-people', 'title': 'admin.permission_groups.user'|trans, 'color': 'success'}, 'Rollen': {'icon': 'bi-shield-check', 'title': 'admin.permission_groups.role'|trans, 'color': 'warning'}, 'Seiten': {'icon': 'bi-file-text', 'title': 'admin.permission_groups.page'|trans, 'color': 'info'}, 'Kategorien': {'icon': 'bi-folder', 'title': 'admin.permission_groups.category'|trans, 'color': 'secondary'}, 'Medien': {'icon': 'bi-image', 'title': 'admin.permission_groups.media'|trans, 'color': 'purple'}, 'Einstellungen': {'icon': 'bi-gear', 'title': 'admin.permission_groups.settings'|trans, 'color': 'dark'}, 'Plugins': {'icon': 'bi-puzzle', 'title': 'admin.permission_groups.extensions'|trans, 'color': 'indigo'}, 'Werkzeuge': {'icon': 'bi-wrench', 'title': 'admin.permission_groups.tools'|trans, 'color': 'orange'}, 'Lizenz': {'icon': 'bi-shield-check', 'title': 'admin.permission_groups.license'|trans, 'color': 'danger'}, 'System': {'icon': 'bi-cpu', 'title': 'admin.permission_groups.system'|trans, 'color': 'teal'}, 'Users': {'icon': 'bi-people', 'title': 'admin.permission_groups.user'|trans, 'color': 'success'}, 'Roles': {'icon': 'bi-shield-check', 'title': 'admin.permission_groups.role'|trans, 'color': 'warning'}, 'Pages': {'icon': 'bi-file-text', 'title': 'admin.permission_groups.page'|trans, 'color': 'info'}, 'Categories': {'icon': 'bi-folder', 'title': 'admin.permission_groups.category'|trans, 'color': 'secondary'}, 'Media': {'icon': 'bi-image', 'title': 'admin.permission_groups.media'|trans, 'color': 'purple'}, 'Settings': {'icon': 'bi-gear', 'title': 'admin.permission_groups.settings'|trans, 'color': 'dark'}, 'Tools': {'icon': 'bi-wrench', 'title': 'admin.permission_groups.tools'|trans, 'color': 'orange'} } %} {% for groupKey, groupInfo in permissionGroups %} {% set groupPermissions = [] %} {% for child in form.permissions %} {% set permissionName = child.vars.label %} {% if permissionName starts with groupKey %} {% set groupPermissions = groupPermissions|merge([child]) %} {% endif %} {% endfor %} {% if groupPermissions|length > 0 %}
{{ groupInfo.title }}
{{ groupPermissions|length }} {{ (groupPermissions|length > 1 ? 'admin.role.permissions_count_plural' : 'admin.role.permissions_count')|trans }}
{% for child in groupPermissions %}
{{ form_widget(child, {'attr': {'class': 'form-check-input permission-checkbox'}}) }} {{ form_label(child, null, {'label_attr': {'class': 'form-check-label fw-normal'}}) }}
{% endfor %}
{% endif %} {% endfor %} {% set ungroupedPermissions = [] %} {% for child in form.permissions %} {% set permissionName = child.vars.label %} {% set isGrouped = false %} {% for groupKey in permissionGroups|keys %} {% if permissionName starts with groupKey %} {% set isGrouped = true %} {% endif %} {% endfor %} {% if not isGrouped %} {% set ungroupedPermissions = ungroupedPermissions|merge([child]) %} {% endif %} {% endfor %} {% if ungroupedPermissions|length > 0 %}
{{ 'admin.role.permission_groups.other'|trans }}
{{ ungroupedPermissions|length }} {{ (ungroupedPermissions|length > 1 ? 'admin.role.permissions_count_plural' : 'admin.role.permissions_count')|trans }}
{% for child in ungroupedPermissions %}
{{ form_widget(child, {'attr': {'class': 'form-check-input permission-checkbox'}}) }} {{ form_label(child, null, {'label_attr': {'class': 'form-check-label fw-normal'}}) }}
{% endfor %}
{% endif %}
{{ form_end(form) }}
{% endblock %}