ITSM/templates/admin_users.html

75 lines
4.1 KiB
HTML
Executable File

{% extends "base.html" %}
{% block content %}
<h1 class="page-title">Benutzerverwaltung</h1>
{% if !notice.is_empty() %}<p class="sz ok-text">{{ notice }}</p>{% endif %}
{% if !error.is_empty() %}<p class="err">{{ error }}</p>{% endif %}
<table class="tickets">
<thead><tr>
<th>E-Mail</th><th>Name</th><th>Rolle</th><th>Status</th><th>Telefon</th><th>Quelle</th><th>Letzte Anmeldung</th><th>Aktionen</th>
</tr></thead>
<tbody>
{% for u in rows %}
<tr>
<td>{{ u.email }}</td>
<td class="sz">{{ u.name }}</td>
<td><span class="pill {{ u.role }}">{{ u.role_label }}</span></td>
<td>{% if u.active %}<span class="pill geloest">aktiv</span>{% else %}<span class="pill ueberfaellig">gesperrt</span>{% endif %}</td>
<td class="sz">{{ u.telefon }}</td>
<td class="sz">{{ u.auth_source }}</td>
<td class="sz">{{ u.last_login }}</td>
<td>
<a class="btn ghost mini" href="/admin/users/{{ u.id }}/edit">Details</a>
<form method="post" action="/admin/users/{{ u.id }}/role" class="inline-form">
<input type="hidden" name="_csrf" value="{{ ctx.csrf }}">
<select name="role" data-autosubmit {% if u.is_self %}disabled title="Eigene Rolle kann nicht geaendert werden"{% endif %}>
{% for o in u.role_opts %}<option value="{{ o.0 }}" {% if o.2 %}selected{% endif %}>{{ o.1 }}</option>{% endfor %}
</select>
</form>
{% if !u.is_self %}
<form method="post" action="/admin/users/{{ u.id }}/active" class="inline-form">
<input type="hidden" name="_csrf" value="{{ ctx.csrf }}">
<button class="btn ghost mini" type="submit">{% if u.active %}Sperren{% else %}Entsperren{% endif %}</button>
</form>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
<details {% if form_open %}open{% endif %} style="margin-top:16px">
<summary class="btn summary-btn">+ Neuen Benutzer</summary>
<div class="panel" style="margin-top:10px">
<h3 style="margin-top:0">Neuen Benutzer anlegen</h3>
<div class="sz" style="margin-bottom:10px">Rollen gemaess ITIL: Administrator (Vollzugriff), Change Manager (Change-Freigaben, Repo-Aenderungen), Service-Desk-Agent (Ticketbearbeitung), Anwender (Self-Service: eigene Tickets, freigegebene Wissensartikel). Eine AD/LDAP-Anbindung ist als naechste Ausbaustufe vorgesehen.</div>
<form method="post" action="/admin/users">
<input type="hidden" name="_csrf" value="{{ ctx.csrf }}">
<div class="grid-2">
<div class="formrow"><label>E-Mail</label><input type="email" name="email" value="{{ fv_email }}" required></div>
<div class="formrow"><label>Rolle</label>
<select name="role">
{% for o in role_opts %}<option value="{{ o.0 }}" {% if o.0 == fv_role %}selected{% endif %}>{{ o.1 }}</option>{% endfor %}
</select>
</div>
</div>
<div class="grid-2">
<div class="formrow"><label>Passwort</label><input type="password" name="password" required></div>
<div class="formrow"><label>Passwort wiederholen</label><input type="password" name="password2" required></div>
</div>
<div class="hint">Mindestens {{ password_min_length }} Zeichen, nicht nur Ziffern. Der Benutzer sollte das Passwort nach der ersten Anmeldung selbst aendern.</div>
<h2 class="section-title">Details (optional)</h2>
<div class="grid-2">
<div class="formrow"><label>Vorname</label><input type="text" name="vorname" value="{{ fv_vorname }}"></div>
<div class="formrow"><label>Nachname</label><input type="text" name="nachname" value="{{ fv_nachname }}"></div>
</div>
<div class="grid-2">
<div class="formrow"><label>Telefon</label><input type="text" name="telefon" value="{{ fv_telefon }}"></div>
<div class="formrow"><label>Abteilung</label><input type="text" name="abteilung" value="{{ fv_abteilung }}"></div>
</div>
<div class="formrow"><label>Adresse</label><input type="text" name="adresse" value="{{ fv_adresse }}"></div>
<button class="btn" type="submit">Anlegen</button>
</form>
</div>
</details>
{% endblock %}