<h3>
    <span class="fas fa-list"></span>
    {% trans %}Groups list{% endtrans %}
    {{ pageSetVar('title', 'Groups list'|trans) }}
</h3>
<div class="alert alert-info">
    <p>{% trans %}Types{% endtrans %}:</p>
    <ul>
        <li>{% trans %}Core: Users can only be added by an administrator (ACCESS_EDIT) - groups are not visible to users in public list{% endtrans %}</li>
        <li>{% trans %}Public: Users can add themselves with no moderation - groups are visible in public list{% endtrans %}</li>
        <li>{% trans %}Private: Users must apply for membership - groups are not visible to users in public list{% endtrans %}</li>
    </ul>
    <p>{% trans %}States{% endtrans %}:</p>
    <ul>
        <li>{% trans %}Open: Users may apply/add themselves{% endtrans %}</li>
        <li>{% trans %}Closed: only the core or administrator (ACCESS_EDIT) may add users. closed groups may be hidden by config setting{% endtrans %}</li>
    </ul>
    <br />
    <p>
        <em>* {% trans %}Default user group. Cannot be deleted.{% endtrans %}</em><br />
        <em>** {% trans %}Primary administrators group. Cannot be deleted.{% endtrans %}</em>
    </p>
</div>
<table id="grouplist" class="table table-bordered table-striped">
    <colgroup>
        <col id="cId" />
        <col id="cName" />
        <col id="cType" />
        <col id="cDescription" />
        <col id="cState" />
        <col id="cMembers" />
        <col id="cMaximum" />
        <col id="cActions" />
    </colgroup>
    <thead>
        <tr>
            <th id="hId" scope="col">{% trans %}Internal ID{% endtrans %}</th>
            <th id="hName" scope="col">{% trans %}Name{% endtrans %}</th>
            <th id="hType" scope="col">{% trans %}Type{% endtrans %}</th>
            <th id="hDescription" scope="col">{% trans %}Description{% endtrans %}</th>
            <th id="hState" scope="col">{% trans %}State{% endtrans %}</th>
            <th id="hMembers" scope="col" class="text-center">{% trans %}Members{% endtrans %}</th>
            <th id="hMaximum" scope="col" class="text-center">{% trans %}Maximum membership{% endtrans %}</th>
            <th id="hActions" scope="col">{% trans %}Actions{% endtrans %}</th>
        </tr>
    </thead>
    <tbody>
    {% for group in paginator.results|filter(g => hasPermission('ZikulaGroupsModule::', g.gid ~ '::', 'ACCESS_EDIT')) %}
        <tr id="group_{{ group.gid }}">
            <td headers="hId" id="groupgid_{{ group.gid }}" class="z-itemcell z-w05">
                <input type="hidden" id="gtypeid_{{ group.gid }}" value="{{ group.gtype }}" />
                <input type="hidden" id="stateid_{{ group.gid }}" value="{{ group.state }}" />
                <input type="hidden" id="modifystatus_{{ group.gid }}" value="0" />
                {{ group.gid }}
            </td>
            <td headers="hName" id="groupname_{{ group.gid }}">
                {{ group.name }}
                {% if group.gid == defaultGroup %}
                *
                {% elseif group.gid == constant('Zikula\\GroupsModule\\Constant::GROUP_ID_ADMIN') %}
                **
                {% endif %}
            </td>
            <td headers="hType" id="groupgtype_{{ group.gid }}" class="zikulagroupsmodule-edit ">
                <span>{{ groupTypes[group.gtype] }}</span>
            </td>
            <td headers="hDescription" id="groupdescription_{{ group.gid }}">
                {{ group.description }}
            </td>
            <td headers="hState" id="groupstate_{{ group.gid }}">
                {{ states[group.state] }}
            </td>
            <td headers="hMembers" id="groupnbuser_{{ group.gid }}" class="text-center">
                {{ group.users.count }}
            </td>
            <td headers="hMaximum" id="groupnbumax_{{ group.gid }}" class="text-center">
                {{ (group.nbumax == false or group.nbumax == 0) ? 'Unlimited'|trans : group.nbumax }}
            </td>
            <td headers="hActions" id="groupaction_{{ group.gid }}" class="actions">
                {% set rowActions = knp_menu_get('zikulaGroupsAdminMenu', [], {group: group}) %}
                {{ knp_menu_render(rowActions, {template: '@ZikulaMenuModule/Override/actions.html.twig'}) }}
            </td>
        </tr>
    {% endfor %}
    </tbody>
</table>
{% if applications %}
    <a id="applications"></a><h3>{% trans %}Pending applications{% endtrans %}</h3>
    <table class="table table-bordered table-striped">
        <colgroup>
            <col id="cUserId" />
            <col id="cUserName" />
            <col id="cGroupName" />
            <col id="cComment" />
            <col id="cActions" />
        </colgroup>
        <thead>
            <tr>
                <th id="hUserId" scope="col">{% trans %}User ID{% endtrans %}</th>
                <th id="hUserName" scope="col">{% trans %}User name{% endtrans %}</th>
                <th id="hGroupName" scope="col">{% trans %}Applying to group{% endtrans %}</th>
                <th id="hComment" scope="col">{% trans %}Comment{% endtrans %}</th>
                <th id="hActions" scope="col">{% trans %}Actions{% endtrans %}</th>
            </tr>
        </thead>
        <tbody>
            {% for application in applications|filter(a => hasPermission('ZikulaGroupsModule::', a.group.gid ~ '::', 'ACCESS_EDIT')) %}
            <tr>
                <td headers="hUserId">{{ application.user.uid }}</td>
                <td headers="hUserName">{{ application.user.uid|profileLinkByUserId }}</td>
                <td headers="hGroupName">{{ application.group.name }}</td>
                <td headers="hComment">{{ application.application }}</td>
                <td headers="hActions" class="actions">
                    <a href="{{ path('zikulagroupsmodule_application_admin', {app_id: application.appId, action: 'accept'}) }}" title="{% trans with {'%username%': application.user.uname} %}Accept %username%{% endtrans %}" class="fas fa-user-plus fa-lg tooltips"></a>&nbsp;
                    <a href="{{ path('zikulagroupsmodule_application_admin', {app_id: application.appId, action: 'deny'}) }}" title="{% trans with {'%username%': application.user.uname} %}Deny %username%{% endtrans %}" class="fas fa-user-times fa-lg tooltips"></a>
                </td>
            </tr>
            {% else %}
            <tr class="table-info"><td colspan="5" class="text-center">{% trans %}No items found.{% endtrans %}</td></tr>
            {% endfor %}
        </tbody>
    </table>
{% endif %}
{{ include(paginator.template) }}
