<%# Admin group membership body, captured into the shell content slot. Config: group { name } members { action, rows: { kind:"group"|"identity", label, subject }[] } action = remove-member endpoint add { action, options: {label,value}[] } action = add-member endpoint del { action } delete the whole group csrfToken, error? %><% const group = locals.group; const members = locals.members; const add = locals.add; const del = locals.del; const csrf = locals.csrfToken; -%>
<% if (locals.error) { -%> <%- include("partials/alert", { text: locals.error, tone: "neg" }) %> <% } -%>

<%= t("admin.groups.members") %>

<% if (members.rows.length) { -%>
<% members.rows.forEach((m) => { -%> <% }) -%>
<%= t("admin.groups.membersOf", { name: group.name }) %>
<%= t("admin.common.member") %><%= t("admin.common.type") %><%= t("admin.common.actions") %>
<%= m.label %><%= m.kind === "group" ? t("admin.common.group") : t("admin.common.user") %>
<% } else { -%>

<%= t("admin.groups.noMembers") %>

<% } -%>

<%= t("admin.groups.addMember") %>

<% if (add.options.length) { -%>
<% } else { -%>

<%= t("admin.groups.allMembers") %>

<% } -%>
"> <%= t("admin.groups.delete") %>