{% for user in users %}
    <tr class="user">
        <td headers="hUserName">{{ user.uname }}</td>
        <td headers="hId">{{ user.uid }}</td>
        <td headers="hRegistrationDate">
            {% if user.uid != constant('Zikula\\UsersModule\\Constant::USER_ID_ANONYMOUS') %}
                {{ user.registrationDate|format_datetime('medium', 'short') }}
            {% endif %}
        </td>
        <td headers="hLastLogin">
            {% if user.uid != constant('Zikula\\UsersModule\\Constant::USER_ID_ANONYMOUS') %}
                {{ user.lastLogin|format_datetime('medium', 'short') }}
            {% endif %}
        </td>
        <td headers="hAuthMethod">
            {{ _self.authMethod(user, authMethodCollector) }}
        </td>
        <td headers="hGroups">
            {% for group in user.groups %}
                <div>{{ group.name }}</div>
            {% endfor %}
        </td>
        <td headers="hStatus" class="users_activated">
            {{ _self.userStatus(user.activated) }}
        </td>
        <td headers="hActions" class="actions">
            {% if user.uid == constant('Zikula\\UsersModule\\Constant::USER_ID_ANONYMOUS') %}
                <a href="{{ path('zikulagroupsmodule_group_adminlist') }}"><span class="badge badge-info tooltips" title="{% trans %}This user cannot be edited. Group memberships can be edited in the groups module. Click here.{% endtrans %}">{% trans %}Edit?{% endtrans %}</span></a>
            {% endif %}
            {% for action in actionsHelper.user(user) %}
                <a class="fas fa-fw fa-{{ action.icon }} tooltips" href="{{ action.url }}" title="{{ action.text }}"></a>
            {% endfor %}
        </td>
    </tr>
{% else %}
    <tr class="info"><td colspan="7" class="text-center">{% trans %}No records found.{% endtrans %}</td></tr>
{% endfor %}

{% macro authMethod(user, authMethodCollector) %}
    {% set alias = user.attributes.authenticationMethod|default %}
    {{ authMethodCollector.get(alias).getDisplayName }}
{% endmacro %}

{% macro userStatus(status) %}
    {% switch status %}
    {% case constant('Zikula\\UsersModule\\Constant::ACTIVATED_ACTIVE') %}
        <span class="badge badge-success">{% trans %}Active{% endtrans %}</span>
    {% break %}
    {% case constant('Zikula\\UsersModule\\Constant::ACTIVATED_INACTIVE') %}
        <span class="badge badge-dark">{% trans %}Inactive{% endtrans %}</span>
    {% break %}
    {% case constant('Zikula\\UsersModule\\Constant::ACTIVATED_PENDING_REG') %}
        <span class="badge badge-primary">{% trans %}Pending{% endtrans %}</span>
    {% break %}
    {% case constant('Zikula\\UsersModule\\Constant::ACTIVATED_PENDING_DELETE') %}
        <span class="badge badge-warning">{% trans %}Marked for deletion{% endtrans %}</span>
    {% break %}
    {% default %}
        <span class="badge badge-danger">{% trans %}Status unknown{% endtrans %}</span>
    {% endswitch %}
{% endmacro %}
