fix: merge corbeille lists + bulk restore button in cleanup

- Single unified 'Corbeille' table replaces the two separate lists
  (stale/orphelin + restorable). Each row has a Statut column showing
  '↺ Restaurable' or 'Orphelin', plus a checkbox for bulk ops.

- Checkboxes on restorable rows carry data-restorable='1' attribute
  so the bulk JS can distinguish them.

- Bulk actions bar now has both 'Supprimer la sélection' and
  '↺ Restaurer la sélection' buttons. The restore button only appears
  when at least one restorable item is checked.

- New cleanupBulkRestore() JS function populates a dedicated hidden
  form and confirms before submitting. Only restorable items are sent.

- restore-trash.php refactored to handle both single (trash_file) and
  bulk (trash_files[]) inputs via a loop, accumulating restored/skipped
  counts and re-rendering the fragment on HTMX requests.
This commit is contained in:
Pontoporeia
2026-07-10 16:33:06 +02:00
parent 3cecee10c9
commit 7013f79fc0
5 changed files with 180 additions and 152 deletions
+1
View File
@@ -13,3 +13,4 @@
- [x] Add restore-from-corbeille functionality in cleanup page
- [x] Fix cleanup stats: use sidecar JSON for restorability classification (not DB row existence)
- [x] Remove destructive HTMX fragment refresh from relink flow (close modal only, pond.addFile in-place)
- [x] Merge corbeille lists into single table with status column + bulk restore button