fix: skip capacity/overlap checks when already_done=true
Deploy via Portainer / deploy (push) Successful in 0s

This commit is contained in:
Jo
2026-07-07 13:25:44 +02:00
parent 7824124337
commit b55edceff8
+8 -8
View File
@@ -1789,6 +1789,14 @@ def api_new_slot():
cooldown_s = int(s.get('cooldown_minutes', 15)) * 60
start_dt = datetime.fromisoformat(start_str)
end_dt = start_dt + timedelta(seconds=job['print_time_s'] + cooldown_s)
already_done = bool(d.get('already_done', False))
if already_done:
# Retroactive — skip capacity/overlap checks, insert as done
conn.execute(
'INSERT INTO print_slots(job_id,printer_id,planned_start,planned_end,status) VALUES(?,?,?,?,?)',
(job_id, printer_id, start_dt.isoformat(), end_dt.isoformat(), 'done'))
conn.commit(); conn.close()
return jsonify({'ok': True})
conflict = _check_overlap(conn, printer_id, start_dt, end_dt)
if conflict:
conn.close()
@@ -1799,14 +1807,6 @@ def api_new_slot():
if over:
conn.close()
return jsonify({'error': f"Capacité maximale atteinte : {peak} impression(s) déjà en cours sur ce créneau (limite : {max_printers} simultanées). Décalez l'horaire ou attendez qu'une imprimante se libère."}), 409
already_done = bool(d.get('already_done', False))
if already_done:
# Retroactive — skip capacity/overlap checks, insert as done
conn.execute(
'INSERT INTO print_slots(job_id,printer_id,planned_start,planned_end,status) VALUES(?,?,?,?,?)',
(job_id, printer_id, start_dt.isoformat(), end_dt.isoformat(), 'done'))
conn.commit(); conn.close()
return jsonify({'ok': True})
conn.execute('INSERT INTO print_slots(job_id,printer_id,planned_start,planned_end,status) VALUES(?,?,?,?,?)',
(job_id, printer_id, start_dt.isoformat(), end_dt.isoformat(), 'planned'))
conn.commit(); conn.close()