Partner-Freigabe: Live-Vorschau im Admin + Mail-Fehler sichtbar machen
Rene: 'kann nichts prüfen — ich würde den Output erwarten, der auf der Partner-Seite zu sehen sein wird'. Freigabe-Zeile hat jetzt einen Vorschau-Toggle, der die Karte 1:1 wie auf #partner rendert (Logo/Initial, Slogan, Website, Instagram, Bio, Medien-Grid). Mail-Ursache gefunden: Staging-.env fehlte SMTP_SUPPORT_USER → Code-Default support@banyaro.de → 535 Auth-Fehler, vom Silent-Catch verschluckt. .env ergänzt (partner@banyaro.app wie Prod); Submit loggt SMTP-Fehler jetzt über _log_smtp_failure in failed_emails statt still zu schlucken.
This commit is contained in:
parent
a40aa183ec
commit
cadfb24a8d
7 changed files with 84 additions and 42 deletions
|
|
@ -481,20 +481,18 @@ def submit_partner_profile(user=Depends(require_partner)):
|
|||
(user["id"],)
|
||||
)
|
||||
profile = _pp_get_or_empty(conn, user["id"])
|
||||
# Admin benachrichtigen (best effort — Silent-Skip ohne ADMIN_EMAIL)
|
||||
# Admin benachrichtigen — Fehler landen in failed_emails (Admin-Retry), kein Silent-Skip
|
||||
admin_email = os.getenv("ADMIN_EMAIL", "")
|
||||
if admin_email and profile.get("approved") != 1:
|
||||
subject = f"[Ban Yaro] Partner-Profil eingereicht: {profile.get('display_name')}"
|
||||
body = (f"Partner {user['name']} ({user['email']}) hat sein Profil zur "
|
||||
f"Freigabe eingereicht.\n\nAdmin-Panel: https://banyaro.app/#admin")
|
||||
try:
|
||||
from routes.outreach import _send_smtp
|
||||
_send_smtp(
|
||||
admin_email,
|
||||
f"[Ban Yaro] Partner-Profil eingereicht: {profile.get('display_name')}",
|
||||
(f"Partner {user['name']} ({user['email']}) hat sein Profil zur "
|
||||
f"Freigabe eingereicht.\n\nAdmin-Panel: https://banyaro.app/#admin"),
|
||||
"support",
|
||||
)
|
||||
except Exception:
|
||||
pass
|
||||
_send_smtp(admin_email, subject, body, "support")
|
||||
except Exception as exc:
|
||||
from routes.auth import _log_smtp_failure
|
||||
_log_smtp_failure(admin_email, subject, body, exc, context="partner_profile_submit")
|
||||
return {"profile": profile}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue