Trace les changements de réglages dans le journal utilisateur

Toute modification des paramètres (topic/serveur/jeton ntfy, plages
horaires, régénération du token de présence Tasker) est désormais
enregistrée dans /logs sous un nouveau type "Réglages", avec un onglet
dédié. Chaque entrée résume ce qui a changé (valeurs des plages, plage
des rappels, topic, jeton défini/vide, URLs invalidées), pour aider à
diagnostiquer a posteriori un problème de configuration.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
This commit is contained in:
Jacquin Antoine
2026-07-20 00:09:40 +02:00
parent 1d8a273ffb
commit 55efac9cdd
4 changed files with 67 additions and 3 deletions

View File

@ -595,6 +595,11 @@ def settings_save(
"(défini)" if ntfy_token.strip() else "(vide)",
)
save_notif_config(user_id, ntfy_topic, ntfy_server, rappel_debut_h, rappel_fin_h, ntfy_token)
append_log(
user_id, "settings", "Réglages ntfy",
f"topic={ntfy_topic or '(vide)'} server={ntfy_server} plage={rappel_debut_h}h-{rappel_fin_h}h "
f"jeton={'défini' if ntfy_token.strip() else '(vide)'}",
)
return RedirectResponse("/settings?saved=1", status_code=303)
@ -639,6 +644,7 @@ def settings_regenerate_presence_token(request: Request):
new_token = regenerate_presence_token(user_id)
logger.warning("token de présence régénéré pour %r", user_id)
append_log(user_id, "settings", "Token présence régénéré", "Les URLs Tasker ont été invalidées et remplacées.")
base_url = str(request.base_url).rstrip("/")
arrivee_url = f"{base_url}/presence/{new_token}/arrivee"
@ -691,6 +697,13 @@ def settings_plages_save(
logger.info("réglages plages mis à jour: user_id=%r plages=%r", user_id, fields)
save_plages(user_id, fields)
append_log(
user_id, "settings", "Plages horaires",
f"matin {fields['matin_debut']}{fields['matin_fin']}, "
f"aprem {fields['aprem_debut']}{fields['aprem_fin']}, "
f"reprise {fields['pause_dejeuner_fin']}"
+ (f", visées {fields['arrivee_visee']}{fields['depart_vise']}" if fields['arrivee_visee'] or fields['depart_vise'] else ""),
)
return RedirectResponse("/settings?plages_saved=1", status_code=303)