130 lines
4.2 KiB
HTML
130 lines
4.2 KiB
HTML
{% extends "nav.html" %}
|
|
|
|
{% block content %}
|
|
<section class="section">
|
|
<div class="container">
|
|
<div class="level">
|
|
<div class="level-left">
|
|
<h3 class="title is-3">
|
|
Nutzer {% if user.role == Role::AreaManager %}für Bereich {{ area.as_ref().unwrap().name }}{% endif %}
|
|
</h3>
|
|
</div>
|
|
<div class="level-right">
|
|
<a class="button is-link is-light" hx-boost="true" href="/users/new">
|
|
<span class="icon">
|
|
<svg class="feather">
|
|
<use href="/static/feather-sprite.svg#plus-circle" />
|
|
</svg>
|
|
</span>
|
|
<span>Neuen Nutzer anlegen</span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="box">
|
|
<table class="table is-fullwidth">
|
|
<thead>
|
|
<tr>
|
|
<th>E-Mail</th>
|
|
<th>Name</th>
|
|
<th>Rolle</th>
|
|
<th>Funktion</th>
|
|
{% if user.role == Role::Admin %}
|
|
<th>Bereich</th>
|
|
{% endif %}
|
|
<th>Letzter Login</th>
|
|
<th>gesperrt</th>
|
|
<th></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for u in users %}
|
|
<tr>
|
|
<td>
|
|
{{ u.email }}
|
|
</td>
|
|
<td>
|
|
{{ u.name }}
|
|
</td>
|
|
<td>
|
|
{% match u.role %}
|
|
{% when Role::Staff %}
|
|
<span class="tag is-info is-light">Personal</span>
|
|
{% when Role::AreaManager %}
|
|
<span class="tag is-info is-light">Bereichsleiter</span>
|
|
{% when Role::Admin %}
|
|
<span class="tag is-info">Admin</span>
|
|
{% else %}
|
|
{% endmatch %}
|
|
</td>
|
|
<td>
|
|
{% match u.function %}
|
|
{% when Function::Posten %}
|
|
<span class="tag is-primary is-light">Posten</span>
|
|
{% when Function::Wachhabender %}
|
|
<span class="tag is-primary">Wachhabender</span>
|
|
{% else %}
|
|
{% endmatch %}
|
|
</td>
|
|
{% if user.role == Role::Admin %}
|
|
<td>
|
|
{{ u.area.as_ref().unwrap().name }}
|
|
</td>
|
|
{% endif %}
|
|
<td>
|
|
{% if u.last_login.is_some() %}
|
|
{% let format = "%d.%m.%Y %H:%M:%S" %}
|
|
{{ u.last_login.as_ref().unwrap().format(format) }}
|
|
{% else %}
|
|
nie
|
|
{% endif %}
|
|
</td>
|
|
<td>
|
|
<div id="user-{{ u.id }}-locked">
|
|
{% if u.locked %}
|
|
ja
|
|
{% else %}
|
|
nein
|
|
{% endif %}
|
|
</div>
|
|
</td>
|
|
<td>
|
|
{% if user.id != u.id %}
|
|
<div class="buttons is-right">
|
|
<button class="button is-link is-light" hx-post="/users/{{ u.id }}/toggle?field=locked">
|
|
<span class="icon">
|
|
<svg class="feather">
|
|
<use href="/static/feather-sprite.svg#{% if u.locked %}unlock{% else %}lock{% endif %}" />
|
|
</svg>
|
|
</span>
|
|
<span>{% if u.locked %}Entsperren{% else %}Sperren{% endif %}</span>
|
|
</button>
|
|
<a class="button is-primary is-light" hx-boost="true" href="/users/edit/{{ u.id }}">
|
|
<span class="icon">
|
|
<svg class="feather">
|
|
<use href="/static/feather-sprite.svg#edit" />
|
|
</svg>
|
|
</span>
|
|
<span>Bearbeiten</span>
|
|
</a>
|
|
<button id="user-{{ u.id }}-delete" class="button is-danger is-light" {% if !u.locked %}disabled{% endif
|
|
%} hx-delete="/users/{{ u.id }}" hx-target="closest tr" hx-swap="delete">
|
|
<span class="icon">
|
|
<svg class="feather">
|
|
<use href="/static/feather-sprite.svg#x-circle" />
|
|
</svg>
|
|
</span>
|
|
<span>Löschen</span>
|
|
</button>
|
|
</div>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
{% endblock %}
|