Fix: Kündigungs-Mail + Settings — Ablaufdatum korrekt formatiert (SW by-v950)
This commit is contained in:
parent
da4879b4c4
commit
0bd4c33557
1 changed files with 21 additions and 5 deletions
|
|
@ -418,20 +418,36 @@ async def cancel_subscription(user=Depends(get_current_user)):
|
||||||
try:
|
try:
|
||||||
from mailer import send_email, email_html
|
from mailer import send_email, email_html
|
||||||
import html as _html
|
import html as _html
|
||||||
tier_label = {"pro": "Ban Yaro Pro", "breeder": "Züchter"}.get(row["subscription_tier"], row["subscription_tier"])
|
tier_label = {"pro": "Ban Yaro Pro", "breeder": "Züchter"}.get(row["subscription_tier"], row["subscription_tier"])
|
||||||
expires_fmt = expires[:10] if expires else "—"
|
expires_de = None
|
||||||
|
if expires:
|
||||||
|
from datetime import date as _date
|
||||||
|
try:
|
||||||
|
d = _date.fromisoformat(expires[:10])
|
||||||
|
monate = ["Januar","Februar","März","April","Mai","Juni",
|
||||||
|
"Juli","August","September","Oktober","November","Dezember"]
|
||||||
|
expires_de = f"{d.day}. {monate[d.month-1]} {d.year}"
|
||||||
|
except Exception:
|
||||||
|
expires_de = expires[:10]
|
||||||
|
|
||||||
|
expiry_line = (
|
||||||
|
f"<p>Dein Abo ist weiterhin aktiv bis zum <strong>{expires_de}</strong>. "
|
||||||
|
f"Ab diesem Datum wirst du automatisch auf den kostenlosen Tarif gesetzt.</p>"
|
||||||
|
if expires_de else
|
||||||
|
"<p>Dein Abo bleibt bis zum Ende des bezahlten Zeitraums aktiv.</p>"
|
||||||
|
)
|
||||||
body_html = f"""
|
body_html = f"""
|
||||||
<p>Hallo {_html.escape(user['name'])},</p>
|
<p>Hallo {_html.escape(user['name'])},</p>
|
||||||
<p>deine Kündigung für <strong>{tier_label}</strong> wurde bestätigt.</p>
|
<p>deine Kündigung für <strong>{tier_label}</strong> wurde bestätigt.</p>
|
||||||
<p>Dein Abo ist weiterhin aktiv bis zum <strong>{expires_fmt}</strong>.
|
{expiry_line}
|
||||||
Ab diesem Datum wirst du automatisch auf den kostenlosen Tarif gesetzt.</p>
|
|
||||||
<p>Deine Daten (Tagebuch, Gesundheit, Notizen) bleiben vollständig erhalten.
|
<p>Deine Daten (Tagebuch, Gesundheit, Notizen) bleiben vollständig erhalten.
|
||||||
Wenn du mehrere Hunde hast, kannst du vor dem Ablauf einen als Haupthund festlegen.</p>
|
Wenn du mehrere Hunde hast, kannst du vor dem Ablauf einen als Haupthund festlegen.</p>
|
||||||
<p>Wir hoffen, dich bald wieder begrüßen zu dürfen!</p>
|
<p>Wir hoffen, dich bald wieder begrüßen zu dürfen!</p>
|
||||||
<p>Viele Grüße<br>René & das Ban Yaro Team</p>"""
|
<p>Viele Grüße<br>René & das Ban Yaro Team</p>"""
|
||||||
html = email_html(body_html, cta_url="https://banyaro.app", cta_label="Ban Yaro öffnen")
|
html = email_html(body_html, cta_url="https://banyaro.app", cta_label="Ban Yaro öffnen")
|
||||||
plain = (f"Hallo {user['name']},\n\nKündigung bestätigt für {tier_label}.\n"
|
plain = (f"Hallo {user['name']},\n\nKündigung bestätigt für {tier_label}.\n"
|
||||||
f"Aktiv bis: {expires_fmt}\n\nAlle Daten bleiben erhalten.\n\nViele Grüße\nRené")
|
+ (f"Aktiv bis: {expires_de}\n" if expires_de else "")
|
||||||
|
+ "\nAlle Daten bleiben erhalten.\n\nViele Grüße\nRené")
|
||||||
await send_email(user["email"], f"Kündigung bestätigt — {tier_label}", html, plain)
|
await send_email(user["email"], f"Kündigung bestätigt — {tier_label}", html, plain)
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue