Files
WYGIWYH/app/templates/users/fragments/list.html
2025-10-28 14:13:30 -03:00

86 lines
3.5 KiB
HTML

{% load hijack %}
{% load i18n %}
<div class="tw:container tw:px-md-3 tw:py-3 tw:column-gap-5">
<div class="tw:text-3xl tw:font-bold tw:font-mono tw:w-full tw:mb-3">
{% spaceless %}
<div>{% translate 'Users' %}<span>
<a class="tw:no-underline tw:text-2xl tw:p-1 category-action"
role="button"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Add" %}"
hx-get="{% url 'user_add' %}"
hx-target="#generic-offcanvas">
<i class="fa-solid fa-circle-plus fa-fw"></i></a>
</span></div>
{% endspaceless %}
</div>
<div class="tw:card tw:bg-base-100 tw:shadow-xl">
<div class="tw:card-body">
<div id="tags-table">
{% if users %}
<div class="tw:overflow-x-auto">
<c-config.search></c-config.search>
<table class="tw:table tw:table-hover">
<thead>
<tr>
<th scope="col" class="tw:w-auto"></th>
<th scope="col">{% translate 'Active' %}</th>
<th scope="col">{% translate 'Name' %}</th>
<th scope="col">{% translate 'Email' %}</th>
<th scope="col">{% translate 'Superuser' %}</th>
</tr>
</thead>
<tbody>
{% for user in users %}
<tr class="tag">
<td class="tw:w-auto">
<div class="tw:join" role="group" aria-label="{% translate 'Actions' %}">
<a class="tw:btn tw:btn-secondary tw:btn-sm tw:join-item"
role="button"
hx-swap="innerHTML"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Edit" %}"
hx-get="{% url 'user_edit' pk=user.id %}"
hx-target="#generic-offcanvas">
<i class="fa-solid fa-pencil fa-fw"></i></a>
{% if request.user|can_hijack:user and request.user != user %}
<a class="tw:btn tw:btn-info tw:btn-sm tw:join-item"
role="button"
data-bs-toggle="tooltip"
data-bs-title="{% translate "Impersonate" %}"
hx-post="{% url 'hijack:acquire' %}"
hx-vals='{"user_pk":"{{user.id}}"}'
hx-swap="none"
_="on htmx:afterRequest(event) from me
if event.detail.successful
go to url '/'">
<i class="fa-solid fa-mask fa-fw"></i></a>
{% endif %}
</div>
</td>
<td>
{% if user.is_active %}
<i class="fa-solid fa-solid fa-check tw:text-success"></i>
{% endif %}
</td>
<td>{{ user.first_name }} {{ user.last_name }}</td>
<td>{{ user.email }}</td>
<td>
{% if user.is_superuser %}
<i class="fa-solid fa-solid fa-check tw:text-success"></i>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% else %}
<c-msg.empty title="{% translate "No users" %}" remove-padding></c-msg.empty>
{% endif %}
</div>
</div>
</div>
</div>