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

2.3 KiB
Raw Blame History

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