feat: 4-tier role concept, personal balance & cash register system, left off-canvas drawer navigation
This commit is contained in:
@@ -701,6 +701,7 @@
|
||||
<tr>
|
||||
<th>Name & E-Mail</th>
|
||||
<th>Rolle</th>
|
||||
<th style="text-align: right;">Guthaben</th>
|
||||
<th>Aktionen</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -712,20 +713,39 @@
|
||||
<small class="text-muted">{{ member.email }}</small>
|
||||
</td>
|
||||
<td>
|
||||
{% if member.role == 'admin' %}
|
||||
<span class="badge-role admin">Admin</span>
|
||||
{% if current_user.role == 'admin' and member.id != current_user.id %}
|
||||
<form action="/admin/users/{{ member.id }}/role" method="POST" style="margin: 0;">
|
||||
<select name="role" onchange="this.form.submit()" style="padding: 4px 8px; font-size: 0.8rem; border-radius: 6px; background: var(--bg-input); color: var(--text-main); border: 1px solid var(--border-color);">
|
||||
<option value="user" {% if member.role == 'user' %}selected{% endif %}>👤 Mitarbeiter</option>
|
||||
<option value="organizer" {% if member.role == 'organizer' %}selected{% endif %}>📋 Organisator</option>
|
||||
<option value="admin" {% if member.role == 'admin' %}selected{% endif %}>👑 Admin</option>
|
||||
</select>
|
||||
</form>
|
||||
{% else %}
|
||||
<span class="badge-role">Mitarbeiter</span>
|
||||
{% if member.role == 'admin' %}
|
||||
<span class="badge-role admin">👑 Admin</span>
|
||||
{% elif member.role == 'organizer' %}
|
||||
<span class="badge-role organizer">📋 Organisator</span>
|
||||
{% else %}
|
||||
<span class="badge-role">👤 Mitarbeiter</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td style="text-align: right; font-weight: 700;">
|
||||
<a href="/kasse" style="text-decoration: none; color: {% if member.balance > 0 %}var(--success){% elif member.balance < 0 %}var(--danger){% else %}var(--text-muted){% endif %};">
|
||||
{{ "%.2f"|format(member.balance) }} €
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<div style="display: flex; gap: 6px;">
|
||||
{% if current_user.role == 'admin' %}
|
||||
<button type="button" class="btn-copy-small" onclick="openResetPassword('{{ member.id }}', '{{ member.first_name|escape }} {{ member.last_name|escape }}')">🔑 Passwort</button>
|
||||
{% if member.id != current_user.id %}
|
||||
<form action="/admin/users/{{ member.id }}/delete" method="POST" style="margin: 0;" onsubmit="return confirm('Möchtest du {{ member.first_name }} {{ member.last_name }} wirklich unwiderruflich löschen?');">
|
||||
<button type="submit" class="btn-revoke-small" title="Benutzer löschen">🗑️</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
Reference in New Issue
Block a user