Ajoute la régénèse du token de présence Tasker et élargit le bandeau de test ntfy
Le bouton "Régénérer le token" de la carte Tasker crée un nouveau token
secret et invalide immédiatement les anciennes URLs, au cas où elles
auraient fuité. La fonction regenerate_presence_token préserve les
autres réglages notif (topic, serveur, jeton d'accès, plage). Au passage
le message de retour du bouton de test ntfy occupe désormais toute la
largeur de la carte au lieu d'être limité à 420px.
💘 Generated with Crush
Assisted-by: Crush:glm-5.2
This commit is contained in:
28
app/main.py
28
app/main.py
@ -17,6 +17,7 @@ from models import (
|
||||
load_config, load_week_pointages, save_week_pointages, load_conges,
|
||||
toggle_conge, list_all_weeks,
|
||||
load_notif_config, save_notif_config, find_user_by_token, save_presence,
|
||||
regenerate_presence_token,
|
||||
load_auth, save_auth, find_user_by_reset_token,
|
||||
load_plages, save_plages, heures_jour_min,
|
||||
append_log, load_logs,
|
||||
@ -630,6 +631,33 @@ def settings_test_ntfy(request: Request):
|
||||
)
|
||||
|
||||
|
||||
@app.post("/settings/regenerate-presence-token", response_class=HTMLResponse)
|
||||
def settings_regenerate_presence_token(request: Request):
|
||||
user_id = _get_user(request)
|
||||
if not user_id:
|
||||
return RedirectResponse("/login", status_code=302)
|
||||
|
||||
new_token = regenerate_presence_token(user_id)
|
||||
logger.warning("token de présence régénéré pour %r", user_id)
|
||||
|
||||
base_url = str(request.base_url).rstrip("/")
|
||||
arrivee_url = f"{base_url}/presence/{new_token}/arrivee"
|
||||
depart_url = f"{base_url}/presence/{new_token}/depart"
|
||||
return HTMLResponse(
|
||||
f'<div id="presence-urls" hx-swap-oob="true">'
|
||||
f'<div class="settings-urlrow">'
|
||||
f'<span class="settings-urllabel">Arrivée</span>'
|
||||
f'<code class="settings-url">{arrivee_url}</code>'
|
||||
f'</div>'
|
||||
f'<div class="settings-urlrow">'
|
||||
f'<span class="settings-urllabel">Départ</span>'
|
||||
f'<code class="settings-url">{depart_url}</code>'
|
||||
f'</div>'
|
||||
f'<div class="settings-saved">Token régénéré. Mets à jour les URLs dans Tasker.</div>'
|
||||
f'</div>'
|
||||
)
|
||||
|
||||
|
||||
@app.post("/settings/plages", response_class=HTMLResponse)
|
||||
def settings_plages_save(
|
||||
request: Request,
|
||||
|
||||
Reference in New Issue
Block a user