{% extends "base.html" %} {% set active_page = "groups" %} {% block page_title %}Gruppen{% endblock %} {% block page_sub %}
{% endblock %} {% block content %} {# Rendert einen Bereich (Geräte/Logs/Einstellungen) als kompakte, schmale Spalte: eigene Kopfzeile mit Bereichsname + einem Kästchen (der Kill-Switch, "Bereich sichtbar"), darunter eine kleine Tabelle mit den Unterpunkten (Clients, Switche, ...) als Zeilen und nur den für diesen Bereich tatsächlich genutzten Rechten (group_row_types[group_key]) als Spalten — Logs/Einstellungen zeigen z.B. nur R/W/E, nur Geräte zeigt zusätzlich D (PoE-Neustart über Dashboard, ausschließlich bei Clients). "Ändern" (E) deckt Löschen überall mit ab — es gibt nirgends ein eigenes Löschen-Recht. Zellen ohne passendes Recht für die jeweilige Zeile (z.B. "D" bei Switche/Zugangsdaten) werden als ausgegraute, nicht anklickbare Checkbox dargestellt statt zu fehlen — dadurch bleiben alle Spalten bündig untereinander. readonly=true zeigt nur den aktuellen Stand (Admin/Systemgruppen bzw. fehlendes groups.edit). Die JS-Funktion applyPermissionGating() sperrt Kind-Rechte, solange das Bereich-Lesen (Kill-Switch) nicht gesetzt ist. Mehrere Bereiche stehen per Flexbox nebeneinander (siehe .permission-groups-row), damit die ganze Rechteübersicht einer Gruppe in einer kompakten Zeile Platz hat. #} {% macro permission_table(group, group_key, checked_keys, readonly) %} {% set row_types = group_row_types[group_key] %} {% endmacro %} {% macro permission_tree(checked_keys, readonly) %} {% endmacro %}| Gruppe | Mitglieder | Aktionen |
|---|---|---|
| Admin Systemrolle | {{ admin_virtual_group.member_names|length }} |
|
| {{ g.name }} {% if g.is_system %}Standard{% endif %} | {{ g.member_names|length }} |
{% if current_user.has_permission('groups.edit') and not g.is_default and not g.is_system %}
{% endif %}
|
| Noch keine weiteren Gruppen angelegt. | ||