From d986d611cffdfc2d2cd99ab0a3e46f3a086016c9 Mon Sep 17 00:00:00 2001 From: Claude Code Date: Fri, 22 May 2026 19:08:26 +0000 Subject: [PATCH] feat(export): Ersteller im Export-Dialog manuell eingebbar Der Export-Dialog hat ein neues optionales Feld "Ersteller". Ist es gefuellt, wird dieser Name im Bericht als Ersteller verwendet; bleibt es leer, gilt wie bisher die E-Mail des Lage-Erstellers. - export_incident: optionaler Query-Parameter creator, hat Vorrang vor der E-Mail-Ableitung - exportReport (api.js) haengt creator an die Export-URL - submitExport (app.js) liest das neue Feld aus - Eingabefeld im Export-Modal (dashboard.html) Co-Authored-By: Claude Opus 4.7 (1M context) --- src/routers/incidents.py | 12 ++++++++---- src/static/dashboard.html | 9 +++++++-- src/static/js/api.js | 5 ++++- src/static/js/app.js | 3 ++- 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/routers/incidents.py b/src/routers/incidents.py index e126ffd..fb7a6a9 100644 --- a/src/routers/incidents.py +++ b/src/routers/incidents.py @@ -1153,6 +1153,7 @@ async def export_incident( scope: str = Query("report", pattern="^(summary|report|full)$"), sections: str = Query(None), branding: str = Query("on", pattern="^(on|off)$"), + creator: str = Query(None, max_length=120), current_user: dict = Depends(get_current_user), db: aiosqlite.Connection = Depends(db_dependency), ): @@ -1171,10 +1172,13 @@ async def export_incident( row = await _check_incident_access(db, incident_id, current_user["id"], tenant_id) incident = dict(row) - # Ersteller-Name - cursor = await db.execute("SELECT email FROM users WHERE id = ?", (incident["created_by"],)) - user_row = await cursor.fetchone() - creator = user_row["email"] if user_row else "Unbekannt" + # Ersteller-Name: manuell uebergebener Wert hat Vorrang, sonst E-Mail des Lage-Erstellers + if creator and creator.strip(): + creator = creator.strip() + else: + cursor = await db.execute("SELECT email FROM users WHERE id = ?", (incident["created_by"],)) + user_row = await cursor.fetchone() + creator = user_row["email"] if user_row else "Unbekannt" # Organisation (fuer Dateimetadaten) organization_name = None diff --git a/src/static/dashboard.html b/src/static/dashboard.html index 9b3c1f9..0f1e22b 100644 --- a/src/static/dashboard.html +++ b/src/static/dashboard.html @@ -805,12 +805,12 @@ - + - + @@ -855,6 +855,11 @@ +
+ + +
Leer lassen, dann wird automatisch der Lage-Ersteller verwendet.
+