Live-Log-Fix, Sidebar-Untermenüs für Geräte/Einstellungen, eigenes Konto

- Live-Log-Bug behoben: _latest_log_file() sortierte nach Datei-ctime statt
  nach Dateiname — auf manchen Dateisystemen (u.a. unter WSL2 auf einem
  gemounteten Windows-Laufwerk) unzuverlässig und lieferte nicht immer das
  tatsächlich neueste Logfile. Sortiert jetzt wie der Rest des Codes über
  den chronologisch sortierbaren Dateinamen (rpi-YYYYMMDDHHMMSS.log).
- Navbar umstrukturiert in aufklappbare Gruppen mit Unterpunkten:
  - "Geräte": Clients (bisherige Devices-Seite), Switche, Zugangsdaten
  - "Einstellungen": Benutzer, Gruppen, Systemeinstellungen (Prüfintervall),
    Im-/Export
  - "Logs": Live, Änderungen (vormals Live-Log/Änderungslog)
  Sichtbarkeit gilt jetzt auch pro Unterpunkt: eine Gruppe erscheint nur,
  wenn mindestens ein Unterpunkt für den Benutzer sichtbar ist, und zeigt
  dann auch nur die sichtbaren Unterpunkte.
- Im-/Export als eigene Unterseite mit Export/Import nebeneinander
  (.settings-grid).
- Neue Seite "Mein Konto" (/account, erreichbar über ein Zahnrad-Symbol
  neben dem eigenen Namen in der Sidebar) ersetzt das bisherige Profil-Modal:
  Profil/Passwort/Profilbild als volle Seite, dazu für Admins die
  Navbar-Reihenfolge (aus den Systemeinstellungen hierher verschoben).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-10 14:44:02 +02:00
co-authored by Claude Sonnet 5
parent a7a23b7c12
commit 37dac64abc
10 changed files with 275 additions and 194 deletions
+35 -24
View File
@@ -44,16 +44,16 @@ Die App ermöglicht:
zuletzt geändert hat. PoE-Neustarts werden bewusst **nicht** geloggt
(siehe [Änderungslog](#änderungslog))
- **Verschlüsselter Import/Export**: Geräte, Switche und Zugangsdaten lassen
sich unter Einstellungen als ein mit selbstgewählter Passphrase
verschlüsseltes Bundle exportieren und auf einer neuen Umgebung wieder
importieren (siehe [Import/Export](#importexport))
- **Eigenes Profil**: jeder Benutzer kann über einen Klick auf seinen Namen
in der Sidebar Vor-/Nachname, eigenes Passwort und ein Profilbild pflegen
(siehe [Eigenes Profil](#eigenes-profil--profilbild))
- **Anpassbare Navigation**: Admins können die Reihenfolge der Sidebar-
Menüpunkte unter Einstellungen per Auf/Ab-Buttons festlegen; jeder Benutzer
sieht davon ohnehin nur, wofür er berechtigt ist (siehe
[Navigation anpassen](#navigation-anpassen))
sich unter Einstellungen → Im-/Export" als ein mit selbstgewählter
Passphrase verschlüsseltes Bundle exportieren und auf einer neuen Umgebung
wieder importieren (siehe [Import/Export](#importexport))
- **Eigenes Konto**: das Zahnrad-Symbol neben dem eigenen Namen unten in der
Sidebar führt zu „Mein Konto“ — Vor-/Nachname, eigenes Passwort und
Profilbild pflegen (siehe [Eigenes Konto](#eigenes-konto--profilbild))
- **Anpassbare Navigation**: Admins legen dort zusätzlich die Reihenfolge der
Sidebar-Hauptpunkte per Auf-/Ab-Buttons fest; jeder Benutzer sieht davon
ohnehin nur, wofür er berechtigt ist — auch pro Unterpunkt innerhalb einer
Gruppe (siehe [Navigation anpassen](#navigation-anpassen))
## Was ist neu gegenüber dem Original?
@@ -185,24 +185,35 @@ angelegt. Switche referenzieren ihre Zugangsdaten dabei über den Namen (nicht
die interne ID), damit der Import auch bei abweichender ID-Vergabe auf dem
Zielsystem korrekt verknüpft.
## Eigenes Profil & Profilbild
## Eigenes Konto & Profilbild
Ein Klick auf den eigenen Namen unten in der Sidebar öffnet „Mein Profil“:
Vor-/Nachname ändern, ein Profilbild hochladen (PNG/JPG/GIF/WEBP) und das
eigene Passwort ändern (erfordert Eingabe des aktuellen Passworts). Das ist
bewusst getrennt vom Admin-Bereich „Benutzer“, der andere Konten verwaltet.
Ist ein Profilbild hinterlegt, erscheint es statt der Initialen sowohl in
der Sidebar als auch im Änderungslog neben dem Benutzernamen.
Das Zahnrad-Symbol neben dem eigenen Namen unten in der Sidebar führt zu
**„Mein Konto“** (`/account`): Vor-/Nachname ändern, ein Profilbild
hochladen (PNG/JPG/GIF/WEBP) und das eigene Passwort ändern (erfordert
Eingabe des aktuellen Passworts). Das ist bewusst getrennt vom Admin-Bereich
„Benutzer“, der andere Konten verwaltet. Ist ein Profilbild hinterlegt,
erscheint es statt der Initialen sowohl in der Sidebar als auch im
Änderungslog neben dem Benutzernamen. Admins sehen auf derselben Seite
zusätzlich die Navbar-Reihenfolge (siehe unten).
## Navigation anpassen
Die Reihenfolge der Sidebar-Menüpunkte ist unter **Einstellungen** per
Auf-/Ab-Buttons konfigurierbar (gespeichert als JSON-Liste unter
`settings.nav_order`) und gilt global für alle Benutzer. Unabhängig von der
Reihenfolge sieht jeder Benutzer ohnehin nur die Punkte, für die er auch
berechtigt ist — ein Benutzer ohne jede Gruppe sieht z.B. nur „Dashboard“.
„Logs“ ist dabei eine aufklappbare Gruppe mit den Unterpunkten „Live-Log
und „Änderungslog“.
Die Sidebar ist in drei aufklappbare Gruppen strukturiert:
- **Geräte** — Clients (die eigentlichen Devices), Switche, Zugangsdaten
- **Einstellungen** — Benutzer, Gruppen, Systemeinstellungen (Prüfintervall),
Im-/Export
- **Logs** — Live, Änderungen (Änderungslog)
Die Reihenfolge dieser drei Gruppen (und von „Dashboard“) ist für Admins
unter **Mein Konto** (Zahnrad-Symbol in der Sidebar) per Auf-/Ab-Buttons
konfigurierbar (gespeichert als JSON-Liste unter `settings.nav_order`) und
gilt global für alle Benutzer. Unabhängig von der Reihenfolge sieht jeder
Benutzer ohnehin nur, wofür er berechtigt ist — sowohl auf Gruppenebene als
auch pro Unterpunkt: hat ein Benutzer z.B. nur `devices.view`, erscheint die
Gruppe „Geräte“ nur mit dem Unterpunkt „Clients“ (ohne Switche/
Zugangsdaten); eine Gruppe verschwindet komplett, wenn kein Unterpunkt
sichtbar ist.
## Entwicklung unter WSL