feat: badges imprimé ( copies) dans galeries admin+public; fix: timestamp_to_date dans print.html
🚀 Deploy — JH Photomaton / 🔍 Vérification (push) Has been cancelled
🚀 Deploy — JH Photomaton / 🍓 Deploy sur le Pi (push) Has been cancelled

This commit is contained in:
2026-07-17 16:48:48 +02:00
parent 742186ec8e
commit c32b3ba345
7 changed files with 123 additions and 29 deletions
+13 -9
View File
@@ -93,21 +93,25 @@ async def admin_get_photos(
p["thumb_url"] = pb.thumbnail_url(pid)
p["download_url"] = f"/api/gallery/download/{pid}"
# Croise avec la file d'impression en attente
# Croise avec les stats d'impression (pending, printing, done)
try:
pending_map = await printer_svc.get_pending_by_photo_id()
stats_map = await printer_svc.get_print_stats_by_photo_id()
for p in page_photos:
pid = p.get("photo_id", "")
requests = pending_map.get(pid, [])
p["print_requests"] = requests
p["print_pending"] = len([r for r in requests if r["status"] == "pending"])
p["print_printing"] = len([r for r in requests if r["status"] == "printing"])
info = stats_map.get(pid, {})
p["print_requests"] = info.get("requests", [])
p["print_pending"] = info.get("pending", 0)
p["print_printing"] = info.get("printing", 0)
p["print_done"] = info.get("done", 0)
p["print_done_copies"] = info.get("copies_done", 0)
except Exception as e:
logger.warning("Impossible de croiser avec print_queue: %s", e)
for p in page_photos:
p["print_requests"] = []
p["print_pending"] = 0
p["print_printing"] = 0
p["print_requests"] = []
p["print_pending"] = 0
p["print_printing"] = 0
p["print_done"] = 0
p["print_done_copies"] = 0
return {
"photos": page_photos,