feat(notruf): Alarmpause pro Nutzer im Notfall-Profil (Minuten, 0=aus, leer=global)
Bisher war die Wiederauslöse-Sperre nur global einstellbar. Jetzt zusätzlich pro Nutzer im Notfall-Profil (Admin), hinter „Standort im Notfall mitsenden": „Pause bis zum erneuten Alarm: [n] Minuten" (leer = globaler Standard, 0 = aus). - Auflösung serverseitig: Nutzer-Pref > globale Einstellung > 5 (_resolve_cooldown_minutes in emergency.py; emergency_cooldown_status nutzt sie, die Notruf-UI/der Status-Endpunkt liefern dadurch automatisch den per-User-Wert). - Schema AdminUserPrefsUpdate.emergency_cooldown_minutes (String) mit Validator (leer/0–60, sonst 422). /api/admin/users gibt das Feld jetzt mit aus (sonst lädt das Formular leer). - Frontend: Zahlenfeld + Hinweis im Notfall-Profil, über PROF_KEYS/PROF_VALIDATORS verdrahtet. Bump app.js v=51 -> v=52. - Doku: BEDIENUNGSANLEITUNG § Nutzer › Verwalten. Tests: per-User-Override/Erben/Aus + Schema-Validierung. 254 Offline-Tests grün. Live verifiziert: PUT prefs -> /status spiegelt 300->120s, 99 -> 422, Formular zeigt/lädt das Feld hinter der Standort-Checkbox. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
f3dbd434b0
commit
904f7db82c
7 changed files with 97 additions and 8 deletions
|
|
@ -205,7 +205,7 @@ async def list_users():
|
|||
**{k: (u.prefs or {}).get(k, "") for k in (
|
||||
"full_name", "street", "postal_code", "city",
|
||||
"phone_landline", "phone_mobile", "birth_date", "medical_notes",
|
||||
"emergency_contacts", "emergency_phones",
|
||||
"emergency_contacts", "emergency_phones", "emergency_cooldown_minutes",
|
||||
)},
|
||||
"location_consent": bool((u.prefs or {}).get("location_consent", False)),
|
||||
"is_admin": is_admin_user(u),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue