feat: gestion complète des actions (clone, delete, reorder, presets)
🚀 Deploy — JH Photomaton / 🔍 Vérification (push) Has been cancelled
🚀 Deploy — JH Photomaton / 🍓 Deploy sur le Pi (push) Has been cancelled

- actions_api.py: POST /create, POST /{idx}/clone, DELETE /{idx},
  PUT /reorder, PUT /{idx} étendu (ui_trigger.*),
  GET/POST/POST-restore/DELETE /presets
- admin_api.py: route /admin/actions simplifiée (plus de pré-chargement Jinja2)
- actions.html: page full JS dynamique
  · Drag & drop pour réordonner (barre de sauvegarde explicite)
  · Clone, suppression, création par bouton
  · Edit form complet: général, cadre, fond, traitement, UI bouton
  · Sélecteurs cadres/fonds avec dropdown + saisie libre
  · Mapping bouton dynamique
  · Presets: save/restore/delete avec nom + description
This commit is contained in:
2026-07-17 17:36:32 +02:00
parent 5bc55c7591
commit 2393396948
3 changed files with 828 additions and 235 deletions
+1 -10
View File
@@ -96,17 +96,8 @@ async def admin_actions(request: Request):
redirect = _require_auth(request)
if redirect:
return redirect
pb = request.app.state.photobooth_service
cfg = request.app.state.config
pb_config = await pb.read_pb_config()
actions = pb_config.get("actions", {}).get("image", [])
return _templates.TemplateResponse(request, "admin/actions.html", {
"config": cfg,
"pb_actions": actions,
"button_mapping": cfg.button_actions,
})
return _templates.TemplateResponse(request, "admin/actions.html", {"config": cfg})
@router.get("/admin/settings", response_class=HTMLResponse)