diff --git a/src/email_utils/templates.py b/src/email_utils/templates.py index adcd0e1..73238c7 100644 --- a/src/email_utils/templates.py +++ b/src/email_utils/templates.py @@ -1,4 +1,4 @@ -"""HTML-E-Mail-Vorlagen fuer Magic Links, Einladungen und Benachrichtigungen.""" +"""HTML-E-Mail-Vorlagen für Magic Links, Einladungen und Benachrichtigungen.""" def magic_link_login_email(username: str, link: str) -> tuple[str, str]: @@ -26,7 +26,7 @@ def magic_link_login_email(username: str, link: str) -> tuple[str, str]:

Oder kopieren Sie diesen Link in Ihren Browser:

{link}

-

Dieser Link ist 10 Minuten gueltig. Falls Sie diese Anmeldung nicht angefordert haben, ignorieren Sie diese E-Mail.

+

Dieser Link ist 10 Minuten gültig. Falls Sie diese Anmeldung nicht angefordert haben, ignorieren Sie diese E-Mail.

""" @@ -39,7 +39,7 @@ def incident_notification_email( notifications: list[dict], dashboard_url: str, ) -> tuple[str, str]: - """Erzeugt Benachrichtigungs-E-Mail fuer Lagen-Updates. + """Erzeugt Benachrichtigungs-E-Mail für Lagen-Updates. Args: username: Empfaenger-Name diff --git a/src/routers/auth.py b/src/routers/auth.py index f60ecae..fbd7431 100644 --- a/src/routers/auth.py +++ b/src/routers/auth.py @@ -36,10 +36,10 @@ async def request_magic_link( email = data.email.lower().strip() ip = request.client.host if request.client else "unknown" - # Rate-Limit pruefen + # Rate-Limit prüfen allowed, reason = magic_link_limiter.check(email, ip) if not allowed: - logger.warning(f"Rate-Limit fuer {email} von {ip}: {reason}") + logger.warning(f"Rate-Limit für {email} von {ip}: {reason}") return MagicLinkResponse(message="Wenn ein Konto existiert, wurde eine E-Mail gesendet.") # Nutzer suchen @@ -65,7 +65,7 @@ async def request_magic_link( magic_link_limiter.record(email, ip) return MagicLinkResponse(message="Wenn ein Konto existiert, wurde eine E-Mail gesendet.") - # Lizenz pruefen + # Lizenz prüfen from services.license_service import check_license lic = await check_license(db, user["organization_id"]) if lic.get("status") == "org_disabled": @@ -76,7 +76,7 @@ async def request_magic_link( token = generate_magic_token() expires_at = (datetime.now(TIMEZONE) + timedelta(minutes=MAGIC_LINK_EXPIRE_MINUTES)).strftime('%Y-%m-%d %H:%M:%S') - # Alte ungenutzte Magic Links fuer diese E-Mail invalidieren + # Alte ungenutzte Magic Links für diese E-Mail invalidieren await db.execute( "UPDATE magic_links SET is_used = 1 WHERE email = ? AND is_used = 0", (email,), @@ -117,9 +117,9 @@ async def verify_magic_link( ml = await cursor.fetchone() if not ml: - raise HTTPException(status_code=400, detail="Ungueltiger oder bereits verwendeter Link") + raise HTTPException(status_code=400, detail="Ungültiger oder bereits verwendeter Link") - # Ablauf pruefen + # Ablauf prüfen now = datetime.now(TIMEZONE) expires = datetime.fromisoformat(ml["expires_at"]) if expires.tzinfo is None: