Protect founder account and add attendance badge levels

This commit is contained in:
kai
2026-08-26 18:56:02 +02:00
parent c4fa6f077c
commit 41b2c5cd61
2 changed files with 39 additions and 13 deletions
+11 -6
View File
@@ -12,6 +12,7 @@
.role-form { display: flex; gap: 8px; }
.role-form label { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.role-form label input { width: auto; margin: 0; }
.founder-lock { color: #fbbf24; font-weight: 700; white-space: nowrap; }
@media (max-width: 700px) { .user-row { grid-template-columns: 1fr; } }
</style>
</head>
@@ -31,15 +32,19 @@
<div class="admin-list">
{% for managed_user in users %}
<div class="admin-row user-row">
<div><strong>{{ managed_user.display_name }}</strong><div class="admin-meta">@{{ managed_user.username }} · {{ managed_user.email }} · seit {{ managed_user.created_at }}</div></div>
<form class="role-form" method="post" action="/admin/users/{{ managed_user.id }}">
<select name="role" aria-label="Rolle für {{ managed_user.username }}"><option value="user" {% if not managed_user.is_admin %}selected{% endif %}>Benutzer</option><option value="admin" {% if managed_user.is_admin %}selected{% endif %}>Admin</option></select>
<button class="button" type="submit">Speichern</button>
</form>
<div><strong>{% if managed_user.username|lower == 'kai' %}🏴‍☠️ {% endif %}{{ managed_user.display_name }}</strong><div class="admin-meta">@{{ managed_user.username }} · {{ managed_user.email }} · seit {{ managed_user.created_at }}</div></div>
{% if managed_user.username|lower == 'kai' %}
<span class="founder-lock">🏴‍☠️ Gründer · Admin (fest)</span>
{% else %}
<form class="role-form" method="post" action="/admin/users/{{ managed_user.id }}">
<select name="role" aria-label="Rolle für {{ managed_user.username }}"><option value="user" {% if not managed_user.is_admin %}selected{% endif %}>Benutzer</option><option value="admin" {% if managed_user.is_admin %}selected{% endif %}>🏴‍☠️ Admin</option></select>
<button class="button" type="submit">Speichern</button>
</form>
{% endif %}
<div class="role-form">
<form method="post" action="/admin/users/{{ managed_user.id }}/account-link"><input type="hidden" name="purpose" value="password_reset"><button class="button button-secondary" type="submit">Passwort-Reset</button></form>
</div>
{% if managed_user.id != user.id %}<form method="post" action="/admin/users/{{ managed_user.id }}/delete" onsubmit="return confirm('Diesen Benutzer wirklich löschen?');"><button class="admin-danger" type="submit">Löschen</button></form>{% endif %}
{% if managed_user.id != user.id and managed_user.username|lower != 'kai' %}<form method="post" action="/admin/users/{{ managed_user.id }}/delete" onsubmit="return confirm('Diesen Benutzer wirklich löschen?');"><button class="admin-danger" type="submit">Löschen</button></form>{% endif %}
</div>
{% endfor %}
</div>