{% 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 Tabelle: Zeilen = Bereich selbst (nur die R-Spalte aktiv, das ist der Kill-Switch) + je eine Zeile pro Unterpunkt (Clients, Switche, ...). Spalten = die kanonischen Rechte R/W/E/D nebeneinander (permission_row_types). "Ändern" (E) deckt Löschen überall mit ab — es gibt nirgends ein eigenes Löschen-Recht. "D" existiert nur bei Clients und bedeutet dort NICHT Löschen, sondern PoE-Neustart über das Dashboard-Popup. Zellen ohne passendes Recht für die jeweilige Zeile (z.B. "W" bei "Geräte" selbst, oder "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. #} {% macro permission_table(group, checked_keys, readonly) %} {% endmacro %} {% macro permission_tree(checked_keys, readonly) %} {% for group_key, group in permission_catalog.items() %} {{ permission_table(group, checked_keys, readonly) }} {% endfor %} {% 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. | ||