| Kategorie: | {category_label} |
- | Nutzer: | {html.escape(username)} |
+ | Nutzer: | {html.escape(display_name)} |
| E-Mail: | {html.escape(email) if email else "nicht hinterlegt"} |
@@ -92,7 +92,7 @@ async def send_feedback(
if email:
msg["Reply-To"] = email
- text_fallback = f"Feedback von {username} ({category_label}):\n\n{data.message}"
+ text_fallback = f"Feedback von {display_name} ({category_label}):\n\n{data.message}"
msg.attach(MIMEText(text_fallback, "plain", "utf-8"))
msg.attach(MIMEText(html_body, "html", "utf-8"))
@@ -106,7 +106,7 @@ async def send_feedback(
start_tls=SMTP_USE_TLS,
)
_user_timestamps[user_id].append(now)
- logger.info(f"Feedback von {username} ({category_label}) gesendet")
+ logger.info(f"Feedback von {display_name} ({category_label}) gesendet")
except Exception as e:
logger.error(f"Feedback-E-Mail fehlgeschlagen: {e}")
raise HTTPException(
diff --git a/src/routers/incidents.py b/src/routers/incidents.py
index ee8dd7a..d4fd66f 100644
--- a/src/routers/incidents.py
+++ b/src/routers/incidents.py
@@ -55,14 +55,14 @@ async def _enrich_incident(db: aiosqlite.Connection, row: aiosqlite.Row) -> dict
source_count = (await cursor.fetchone())["cnt"]
cursor = await db.execute(
- "SELECT username FROM users WHERE id = ?",
+ "SELECT email FROM users WHERE id = ?",
(incident["created_by"],),
)
user_row = await cursor.fetchone()
incident["article_count"] = article_count
incident["source_count"] = source_count
- incident["created_by_username"] = user_row["username"] if user_row else "Unbekannt"
+ incident["created_by_username"] = user_row["email"] if user_row else "Unbekannt"
return incident
@@ -744,9 +744,9 @@ async def export_incident(
incident = dict(row)
# Ersteller-Name
- cursor = await db.execute("SELECT username FROM users WHERE id = ?", (incident["created_by"],))
+ cursor = await db.execute("SELECT email FROM users WHERE id = ?", (incident["created_by"],))
user_row = await cursor.fetchone()
- creator = user_row["username"] if user_row else "Unbekannt"
+ creator = user_row["email"] if user_row else "Unbekannt"
# Artikel
cursor = await db.execute(
diff --git a/src/static/js/app.js b/src/static/js/app.js
index 53754dc..83e21de 100644
--- a/src/static/js/app.js
+++ b/src/static/js/app.js
@@ -430,8 +430,8 @@ const App = {
try {
const user = await API.getMe();
- this._currentUsername = user.username;
- document.getElementById('header-user').textContent = user.username;
+ this._currentUsername = user.email;
+ document.getElementById('header-user').textContent = user.email;
// Org-Name anzeigen
const orgNameEl = document.getElementById('header-org-name');
@@ -668,14 +668,14 @@ const App = {
// Ersteller anzeigen
const creatorEl = document.getElementById('incident-creator');
if (creatorEl) {
- creatorEl.textContent = incident.created_by_username || '';
+ creatorEl.textContent = (incident.created_by_username || '').split('@')[0];
}
// Delete-Button: nur Ersteller darf löschen
const deleteBtn = document.getElementById('delete-incident-btn');
const isCreator = incident.created_by_username === this._currentUsername;
deleteBtn.disabled = !isCreator;
- deleteBtn.title = isCreator ? '' : `Nur ${incident.created_by_username} kann diese Lage löschen`;
+ deleteBtn.title = isCreator ? '' : `Nur ${(incident.created_by_username || '').split('@')[0]} kann diese Lage löschen`;
// Zusammenfassung mit Quellenverzeichnis
const summaryText = document.getElementById('summary-text');
diff --git a/src/static/js/components.js b/src/static/js/components.js
index fb982b9..b94e09d 100644
--- a/src/static/js/components.js
+++ b/src/static/js/components.js
@@ -22,7 +22,7 @@ const UI = {
const isRefreshing = App._refreshingIncidents && App._refreshingIncidents.has(incident.id);
const dotClass = isRefreshing ? 'refreshing' : (incident.status === 'active' ? 'active' : 'archived');
const activeClass = isActive ? 'active' : '';
- const creator = incident.created_by_username || '';
+ const creator = (incident.created_by_username || '').split('@')[0];
return `