Teil 3: Terminvorschläge + KI-Limit-Bypass für Admins/Mods — SW by-v435, APP_VER 414

- timeutils: next_appointment_slot() parst OSM opening_hours, findet Slot
- GET /health/terminvorschlaege: fällige/überfällige Einträge (30-Tage-Horizont)
  Impfung/Tierarzt nutzen Praxis-Öffnungszeiten, Rest nächster Werktag 09:00
- Frontend: Terminvorschlags-Karten, bestätigbares Modal, legt Event an
- ki.py: Admins, Moderatoren, Media Manager bypassen CLOUD_WEEKLY_LIMIT
This commit is contained in:
rene 2026-04-26 17:08:18 +02:00
parent 570dcd4e93
commit c935d3fbd4
7 changed files with 300 additions and 9 deletions

View file

@ -90,6 +90,15 @@ def _check_weekly_cloud_limit(user_id: int | None) -> None:
try:
from database import db
with db() as conn:
user = conn.execute(
"SELECT rolle, is_moderator FROM users WHERE id=?", (user_id,)
).fetchone()
# Admins, Moderatoren und Media Manager haben kein Limit
if user and (
user["rolle"] in ("admin", "moderator", "media_manager")
or user["is_moderator"]
):
return
used = conn.execute(
"""SELECT COALESCE(SUM(count), 0) FROM ki_daily_calls
WHERE user_id=? AND source='cloud'