{% import '@PimUI/Default/page_elements.html.twig' as elements %} {% import '@PimDataGrid/macros.html.twig' as dataGrid %} {% import '@PimUI/macros.html.twig' as UI %} {% block head_script %} {% endblock %} {% set entityId = form.vars.value.id %} {% block content %}
{{ form_start(form, { 'action': entityId ? path('pim_user_role_update', { 'id': entityId }) : path('pim_user_role_create'), 'attr': { 'class': 'form-tabbed', 'data-updated-title': 'confirmation.leave'|trans, 'data-updated-message': 'confirmation.discard changes'|trans({ '%entity%': 'role.title'|trans }) } }) }} {% set title = entityId ? 'pim_common.edit'|trans ~ ' - ' ~ form.vars.value.label : 'pim_common.create'|trans %} {% set buttons %} {% if entityId %}
{{'other_actions'|trans}}
{{ elements.deleteLink( path('pim_user_role_delete', { id: entityId }), 'pim_user_role_remove', path('pim_user_role_index'), 'pim_user_management.entity.role.module.delete.confirm'|trans, 'flash.role.removed'|trans, 'confirmation.delete'|trans, 'AknDropdown-menuLink delete', 'Roles'|trans ) }}
{% endif %} {{ elements.submitBtn('', 'ok', 'AknButtonList-item') }} {% endset %} {{ elements.page_header( { title: title, buttons: buttons, state: elements.updated(form.vars.id) } ) }} {% set tabs = ['pim_user.roles.tab.general'] %} {% for item in privilegesConfig|keys %} {% set tabs = tabs|merge(['pim_user.roles.tab.' ~ item]) %} {% endfor %} {% set tabs = tabs|merge(['pim_user.roles.tab.users']) %} {{ elements.form_navbar(tabs, '') }}
{{ elements.form_errors(form) }}
{{ form_row(form.label) }} {% if form.owner is defined %} {{ form_row(form.owner, {attr : { class: 'hide' }}) }} {% endif %}
{% set groups = acl_groups() %} {% set groupNames = acl_group_names() %} {% for privilegeBlock, privilegeConfig in privilegesConfig %} {% if groups[privilegeBlock] is defined %}
{% if 'groups' == privilegeConfig.view_type %}
  • {% for group in groups[privilegeBlock] %}
  • {{ group.name|trans }}
  • {% endfor %} {% for child in form[privilegeBlock].children|reverse %} {% if child.vars.value.group not in groups[privilegeBlock] and child.vars.value.extensionKey == 'entity' and child.vars.value.identity.name != '(default)' %} {% set groupName = 'oro_security.acl_group.' ~ child.vars.value.identity.name|lower %}
  • {{ groupName|trans }}
  • {% endif %} {% endfor %} {% if 'action' == privilegeBlock %}
  • {{ 'System'|trans }}
  • {% endif %}
{% for group in groups[privilegeBlock] %}

{{ group.name|trans }}

{% for child in form[privilegeBlock].children|filter(child => child.vars.value.group == group.name) %} {{ form_widget(child) }} {% endfor %}
{% endfor %} {% for child in form[privilegeBlock].children %} {% if child.vars.value.group not in groups and child.vars.value.extensionKey == 'entity' and child.vars.value.identity.name != '(default)' %} {% set groupName = 'oro_security.acl_group.' ~ child.vars.value.identity.name|lower %}

{{ groupName|trans }}

{{ form_widget(child) }}
{% endif %} {% endfor %} {% if 'action' == privilegeBlock %}

{{ 'System'|trans }}

{% for child in form[privilegeBlock].children %} {% if child.vars.value.group not in groupNames and (child.vars.value.extensionKey != 'entity' or child.vars.value.identity.name == '(default)') %} {{ form_widget(child) }} {% endif %} {% endfor %}
{% endif %}
{% else %} {{ form_widget(form[privilegeBlock]) }} {% endif %}
{% endif %} {% endfor %}
{{ dataGrid.renderGrid('pim-role-user-grid', {role_id: entityId}) }} {{ form_widget(form.appendUsers, {'id': 'roleAppendUsers'}) }} {{ form_widget(form.removeUsers, {'id': 'roleRemoveUsers'}) }}
{{ form_end(form) }}
{% endblock %}