Files
xamxam/TODO.md
Pontoporeia fd4fb5ce4a Add delete/batch-delete and sortable columns to admin list
- Database: add deleteThesis() and bulkDeleteTheses() methods with file cleanup
- Database: add SORT_MAP + buildOrderBy() for safe column sorting
- Database: getThesesList() now respects sort/dir filter params
- New action: actions/delete.php (single + batch delete with CSRF)
- Admin index: delete button per row with confirmation dialog
- Admin index: batch 'Supprimer' button in bulk actions bar
- Admin index: sortable column headers (ID, Titre, Année, Orientation, AP, Statut)
- Admin index: sort state preserved in pagination links
- CSS: admin-btn-delete (red muted), admin-sort-link styles
2026-04-15 14:24:44 +02:00

30 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
- [x] Analyze nginx/docs and nginx/scripts for deduplication opportunities
- [x] Deduplicate nginx documentation files (removed DEPLOYMENT_COMPLETE.md, DEPLOY_NOW.md)
- [x] Remove duplicate scripts (deploy-production.sh, deploy-production-new.sh, manage-admin-users.sh)
- [x] Update justfile with new script paths
- [x] Update top-level README.md
- [x] Update nginx/README.md
- [x] Create nginx/SETUP.md
- [x] Create top-level SETUP.md
- [x] Update documentation paths (/var/www/html/ → /var/www/posterg/, /formulaire/ → /admin/)
- [x] Remove nginx/scripts/ entirely (install-php-sqlite.sh was duplicate, fix-paths.sh was stale, setup-password.sh superseded by manage-admin-users.sh)
- [x] Fix typo HTACCESS_TO_ NGINX.md → HTACCESS_TO_NGINX.md in nginx/README.md
- [x] Fix nginx/SETUP.md manual step to use just manage-admin-users instead of raw htpasswd
- [x] Fix root README.md dead reference to docs/TODO.SECURITY.md
- [x] Update root README.md project structure (remove nginx/scripts/ entry)
- [x] Form default visibility: "Interne" (access_type_id=2) set at DB insert level
- [x] New TFE always created unpublished (is_published=0 hardcoded in createThesis)
- [x] Contact checkbox: `show_contact` column on authors; checkbox in add/edit forms; tfe.php shows contact only if enabled
- [x] Migration 008: site_settings table + show_contact column + rebuilt views with author_email/author_show_contact/access_type_id
- [x] Formulaire section in parametres.php: toggle switches for Interdit/Interne/Libre access types
- [x] Libre option disabled by default (access_type_libre_enabled=0)
- [x] Add visibility select in add.php, filtered by enabled access types, defaulting to Interne
- [x] Edit.php: pre-populate contact email from DB; show contact_public checkbox with current state
- [x] tfe.php: contact shown from author_email+show_contact; baiu_link relabeled as "Lien"
- [x] actions/settings.php: handler for formulaire settings form
- [x] CSS: admin-toggle pill switches + admin-settings-toggles layout + admin-form-group
- [x] Fix undefined $from variable in admin/index.php (brace-interpolate around en-dash)
- [x] Add delete single entry to admin table (delete action + handler)
- [x] Add batch delete to bulk actions bar
- [x] Add sortable columns to admin table (click column headers to sort)