changes to the email system wen the Allready existing booking os changed the credentials are not send again

This commit is contained in:
2026-10-05 21:51:33 +02:00
parent ae832c9435
commit c9ba05dedf
2 changed files with 74 additions and 22 deletions
+1
View File
@@ -3389,6 +3389,7 @@ def booking_payment():
date=datetime.today().strftime('%d.%m.%Y'),
software_name=selected_package,
user_id=session.get("username") or "",
include_credentials=False,
)
email_status = "sent" if email_sent else "failed"
except Exception as mail_err:
+73 -22
View File
@@ -468,9 +468,10 @@ def send_accreditation_email(
price: str = "250,00",
date: str = "[Ort, Datum]",
software_name: str = "Invario Inventarsystem",
invoice_path: str = None
invoice_path: str = None,
include_credentials: bool = True,
) -> bool:
"""Generiert Hauptvertrag und Rechnung, speichert die Rechnung dauerhaft und versendet die E-Mail."""
"""Send setup or change confirmation, optionally including initial credentials."""
safe_school_name = "".join([c for c in school_name if c.isalnum() or c in (' ', '_', '-')]).rstrip()
# 1. Hauptvertrag dynamisch erzeugen (bleibt temporär)
@@ -510,37 +511,87 @@ def send_accreditation_email(
agb_pdf_path = get_valid_pdf_path("AGB Invario.pdf")
avv_pdf_path = get_valid_pdf_path("AVV Invario.pdf")
# 4. E-Mail Inhalte
subject = "Ihre Zugangsdaten und Unterlagen für Invario"
# Credentials are only sent for the initial tenant setup. Existing callers
# keep the initial-setup behavior unless they explicitly disable it.
subject = (
"Ihre Zugangsdaten und Unterlagen für Invario"
if include_credentials
else "Bestätigung Ihrer Invario-Änderung"
)
credentials_text = (
f"Zugangsdaten:\nDomain: https://{domain}\n"
f"Benutzername: {username}\nPasswort: {password}\n\n"
"Bitte bewahren Sie diese Informationen sicher auf.\n"
if include_credentials
else
"Die Zugangsdaten Ihrer bestehenden Instanz bleiben unverändert "
"und werden aus Sicherheitsgründen nicht erneut per E-Mail versendet.\n"
)
text_note = (
f"Sehr geehrte/r {username},\n\n"
"Vielen Dank für Ihre Akkreditierung bei Invario. "
"Im Anhang finden Sie Ihre Unterlagen (Hauptvertrag, Rechnung, AGB und AVV).\n\n"
f"Ihre Zugangsdaten:\n"
f"Domain: https://{domain}\n"
f"Benutzername: {username}\n"
f"Passwort: {password}\n\n"
"Bitte bewahren Sie diese Informationen sicher auf."
"Guten Tag,\n\n"
f"vielen Dank für Ihre {'Buchung' if include_credentials else 'Änderung'} "
f"von {software_name} bei Invario.\n\n"
"Ihre Anfrage wurde erfolgreich aufgenommen und die zugehörige Instanz "
f"wurde unter https://{domain} eingerichtet.\n\n"
"Im Anhang finden Sie den Hauptvertrag sowie die AGB und AVV. "
"Bitte prüfen Sie die Unterlagen, unterschreiben Sie den Hauptvertrag "
"und senden Sie ihn per E-Mail zurück oder laden Sie ihn im Invario-Portal "
"unter https://invario-software.de/my/invoices hoch.\n\n"
f"Buchungs-/Rechnungsinformation: {price}\n"
f"{credentials_text}\n"
"Bitte wenden Sie sich an den Invario-Support, falls Sie Hilfe beim Zugang "
"oder bei der Einrichtung benötigen."
)
safe_software_name = escape(software_name)
safe_domain = escape(domain)
safe_price = escape(price)
credentials_html = (
f"""
<h3 style="color: #2c3e50;">Ihre Zugangsdaten</h3>
<ul style="font-size: 15px; line-height: 1.6;">
<li><strong>Domain:</strong> <a href="https://{safe_domain}">https://{safe_domain}</a></li>
<li><strong>Benutzername:</strong> {escape(username)}</li>
<li><strong>Passwort:</strong> {escape(password)}</li>
</ul>
"""
if include_credentials
else
"""
<p style="font-size: 13px; color: #64748b; line-height: 1.5;">
Die Zugangsdaten Ihrer bestehenden Instanz bleiben unverändert und werden
aus Sicherheitsgründen nicht erneut per E-Mail versendet.
</p>
"""
)
html_note = f"""
<div style="font-family: Arial, Helvetica, sans-serif; color: #333333;">
<h2 style="color: #2c3e50; margin-top: 0;">Willkommen bei Invario!</h2>
<h2 style="color: #2c3e50; margin-top: 0;">
{"Ihre Zugangsdaten und Unterlagen" if include_credentials else "Bestätigung Ihrer Invario-Änderung"}
</h2>
<p style="font-size: 15px; line-height: 1.6;">
Vielen Dank für Ihren Kauf. Im Anhang finden Sie Ihren Hauptvertrag, Ihre Rechnung sowie AGB und AVV.
Bitte laden Sie die Dokumente herunter und unterschreiben Sie den Hauptvertrag. Danach können Sie die Unterlagen per E-Mail an uns zurücksenden oder über das Invario-Portal ( <a href="https://invario-software.de/my/invoices">https://invario-software.de/my/invoices</a> ) hochladen, um die Lizenzierung abzuschließen.
Vielen Dank für Ihre {"Buchung" if include_credentials else "Änderung"} von
<strong>{safe_software_name}</strong>.
Ihre Anfrage wurde erfolgreich aufgenommen und die zugehörige Instanz wurde eingerichtet.
</p>
<h3 style="color: #2c3e50;">Ihre Zugangsdaten:</h3>
<h3 style="color: #2c3e50;">Was ist passiert?</h3>
<ul style="font-size: 15px; line-height: 1.6;">
<li><strong>Domain:</strong> <a href="https://{domain}">https://{domain}</a></li>
<li><strong>Benutzername:</strong> {username}</li>
<li><strong>Passwort:</strong> {password}</li>
<li>Ihre Instanz ist unter <a href="https://{safe_domain}">https://{safe_domain}</a> erreichbar.</li>
<li>Der Hauptvertrag sowie die AGB und AVV sind dieser E-Mail beigefügt.</li>
<li>Buchungs-/Rechnungsinformation: <strong>{safe_price}</strong>.</li>
</ul>
{credentials_html}
<p style="font-size: 15px; line-height: 1.6;">
Bitte prüfen Sie die Unterlagen, unterschreiben Sie den Hauptvertrag und senden Sie ihn
per E-Mail zurück oder laden Sie ihn im
<a href="https://invario-software.de/my/invoices">Invario-Portal</a> hoch.
</p>
<p style="font-size: 13px; color: #64748b; line-height: 1.5;">
Bitte bewahren Sie diese Informationen sicher auf.
Die Zugangsdaten werden aus Sicherheitsgründen nicht per E-Mail versendet.
Bei Fragen zur Einrichtung oder zum Zugang hilft Ihnen der Invario-Support gerne weiter.
</p>
</div>
"""