feat: kundenspezifisches Logo unter Einstellungen

Bisher war das Logo fest im Repository verdrahtet. Damit hat ein Update
das Logo eines Kunden ueberschrieben - beim Sprung auf den modularen
Stand zum Beispiel von logo.svg auf die mitgelieferte logo.png.

Unter Einstellungen > Logo laesst sich jetzt ein eigenes Logo hochladen.
Es erscheint in der Seitenleiste, auf der Login-Seite und auf der
Zentrale-Seite, mit Vorschau auf hellem und dunklem Grund.

- Datei liegt unter static/custom/ und ist per .gitignore von der
  Versionierung ausgenommen, ein git pull ueberschreibt sie also nicht
- PNG, JPG, SVG, WEBP, GIF bis 2 MB; Format und Groesse werden geprueft
- es bleibt immer genau eine Datei liegen, alte Endungen werden entfernt
- fehlt die Datei, greift automatisch das mitgelieferte Logo
- Upload und Zuruecksetzen liegen hinter dem Admin-Login
- logo_url() ist als Jinja-Global registriert, damit auch die Seiten ohne
  _ctx() (Login, Zentrale) dasselbe Logo zeigen

.gitignore ergaenzt: static/custom/ sowie die bisher fehlenden
busylight.db-shm, busylight.db-wal und Status.csv - letztere lagen auf
dem Produktivsystem als untracked herum.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-21 08:55:16 +00:00
co-authored by Claude Opus 5
parent b02e6702e4
commit 09d9837dec
8 changed files with 178 additions and 3 deletions
+1 -1
View File
@@ -13,7 +13,7 @@
<div class="d-flex">
<nav class="sidebar bg-dark text-white d-flex flex-column">
<div class="p-3 border-bottom border-secondary text-center">
<a href="/"><img src="/static/logo.png" alt="cynfo" style="height: 32px;"></a>
<a href="/"><img src="{{ logo_url() }}" alt="Logo" style="height: 32px;"></a>
</div>
<ul class="nav flex-column mt-2 flex-grow-1">
<li class="nav-item">