From fc08649626694f3f93cba6428c61b8ffe735fb06 Mon Sep 17 00:00:00 2001 From: mscadm Date: Mon, 13 Jul 2026 15:52:18 +0000 Subject: [PATCH] fix: einheitliches Input-Styling (CSS) + Neuen-Benutzer-Formular als aufklappbarer '+'-Button --- app.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/app.py b/app.py index 3df999f..ab17b93 100644 --- a/app.py +++ b/app.py @@ -163,10 +163,12 @@ table.tickets tr.row:hover{background:var(--panel2)} .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px} .svc-card{display:flex;justify-content:space-between;align-items:flex-start} .svc-card .badge{padding:2px 9px;border-radius:99px;font-size:11px;background:#1a4a35;color:var(--ok)} -input[type=text],input[type=email],input[type=password],input[type=number],textarea,select{ +input,textarea,select{ background:var(--bg);border:1px solid var(--border);border-radius:6px; color:var(--text);padding:8px 10px;font-size:13px;width:100%} textarea{min-height:70px;font-family:inherit} +details > summary{list-style:none;cursor:pointer} +details > summary::-webkit-details-marker{display:none} .formrow{margin-bottom:10px} .formrow label{display:block;font-size:12px;color:var(--sub);margin-bottom:4px} #detail-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);display:none;z-index:40} @@ -834,7 +836,10 @@ def _users_body(tenant_id, notice="", form_vals=None): E-MailNameRolleStatusTelefonQuelleLetzte AnmeldungAktionen %s""" % ("".join(rows) or "Keine Benutzer.") - add_form = """

Neuen Benutzer anlegen

+ open_attr = " open" if (notice or fv) else "" + add_form = """ ++ Neuen Benutzer +

Neuen Benutzer anlegen

Manuelle Verwaltung. Eine AD/LDAP-Anbindung ist als naechste Ausbaustufe vorgesehen (Spalte "Quelle" zeigt dann "ldap" statt "local").
@@ -848,16 +853,17 @@ def _users_body(tenant_id, notice="", form_vals=None):
Mindestens 10 Zeichen. Der Benutzer sollte das Passwort nach der ersten Anmeldung selbst aendern.

Details (optional)

-
-
+
+
-
-
+
+
-
+
-
""" % ( +
""" % ( + open_attr, html.escape(fv.get("email", "")), "selected" if fv.get("role") == "agent" or not fv.get("role") else "", "selected" if fv.get("role") == "admin" else "",