Files

92 lines
3.7 KiB
Twig

{% extends 'layout_admin.html.twig' %}
{% block content %}
<twig:page:heading>Benutzeraccounts</twig:page:heading>
{{ include('_partials/_list_filter_bar.html.twig', {
'filter': filter,
'form': filter_form,
'route': 'app_admin_user',
'modal_route': 'app_admin_user_filter',
}) }}
<div class="data-table-wrapper">
<div class="data-table-wrapper__inner text-sm">
<table class="data-table">
<thead>
<tr>
<th>
{{ knp_pagination_sortable(pagination, 'Name', 'user.lastName') }}
</th>
<th>
{{ knp_pagination_sortable(pagination, 'E-Mail', 'user.email') }}
</th>
<th>
{{ knp_pagination_sortable(pagination, 'BusPro Adress Id', 'user.addressId') }}
</th>
<th>
{{ knp_pagination_sortable(pagination, 'BusPro Personen Id', 'user.personId') }}
</th>
<th>
Rollen
</th>
<th>
Häuser
</th>
<th>
{{ knp_pagination_sortable(pagination, 'Letzter Login', 'user.lastLoginAt') }}
</th>
<th></th>
</tr>
</thead>
<tbody>
{% for user in pagination %}
<tr>
<td>
{{ user.fullName | default('-') }}
</td>
<td>
{{ user.email }}
</td>
<td>
{{ user.addressId | default('-') }}
</td>
<td>
{{ user.personId | default('-') }}
</td>
<td>
{{ user.roles | effective_roles | join(', ') | default('-') }}
{% if user.roles | nominated_roles is not empty %}
<div class="flex flex-wrap gap-1 pt-1">
{% for label in user.roles | nominated_roles %}
<twig:badge variant="warning">{{ label }}</twig:badge>
{% endfor %}
</div>
{% endif %}
</td>
<td>
{{ user.hotelCodes | join(', ') | default('-') }}
</td>
<td>
{{ user.lastLoginAt | date('d.m.Y, H:i') }}
</td>
<td class="text-right">
<twig:dropdown>
<twig:dropdown:hxbutton url="{{ path('app_admin_user_permissions', { 'id': user.id, 'r': return_url() }) }}">
Berechtigungen
</twig:dropdown:hxbutton>
</twig:dropdown>
</td>
</tr>
{% else %}
<tr>
<td colspan="8">
{{ filter.isActive ? 'Keine Treffer für diesen Filter.' : 'Keine Daten...' }}
</td>
</tr>
{% endfor %}
</tbody>
</table>
{{ knp_pagination_render(pagination) }}
</div>
</div>
{% endblock %}