Files
xamxam/TODO.md
Pontoporeia b6908f7453 Rename Liens étudiant·e, add link name + edit dialog
- Rename 'Accès étudiant·e' → 'Liens étudiant·e' in acces.php
- Add 'name' column to share_links (schema.sql + ALTER TABLE migration)
- ShareLink::create() now accepts optional  parameter
- Add ShareLink::update() method for name/password/expiration
- Add 'update' action to acces-etudiante.php controller
- Remove Visiter (play) button; row click opens link in new tab
- Add edit dialog with name, password, expiration fields
- Add pen icon button to open edit dialog per row
- Add Nom column to table (also in archived links section)
2026-05-19 00:08:05 +02:00

5.0 KiB

TODO

  • Move default semantic form element styles (checkbox, radio, select) from admin.css/form.css into common.css
  • Keep specific layouts/classes in form.css (admin-form grid, checkbox-group layout, etc.)
  • Ensure selects, checkboxes, and radios are properly styled globally
  • Converge towards the styled form appearance rather than unstyled
  • Fix: replace mb_strlen/mb_substr/mb_strtolower with strlen/substr/strtolower (mbstring extension missing on server, caused fatal error on partage submit at ThesisCreateController line 511)
  • Fix: annexes checkbox in partage form clears other file inputs — scoped HTMX swap to #annexes-input-block instead of replacing entire #format-fichiers-block
  • Fix: website/video/audio inputs should be inline in Fichiers fieldset (not sub-fieldsets) — removed wrappers
  • Fix: video/audio show direct upload input when PeerTube disabled — parallel inputs: PeerTube upload when enabled, direct files[] upload when disabled
  • Fix: format checkboxes HTMX include missing has_annexes — added it so annexes state preserved across format changes
  • Fix: format checkbox toggle clears file inputs — split into two blocks: #format-fichiers-block (stable: TFE/annexes/couverture/note) and #format-extras-block (swappable: website/video/audio extras)
  • Fix: remove website label/legend input — website section now shows only URL field
  • Fix: format-extras not appearing — moved #format-extras-block inside Fichiers fieldset (after annexes), uses hx-select to extract from response
  • Remove duration_pages, duration_minutes, file_size_info entirely (form, schema, DB, views, controllers, tests, CSV export, email)
  • Rename cc4r → cc2r everywhere (DB column, schema, PHP code) to fix pre-existing naming inconsistency
  • Merge Publication fieldset's is_published checkbox into Backoffice fieldset
  • Fix: PHP parse error in admin/index.php — '' escape in single-quoted string not valid in PHP 8.5
  • Add explanation hint to is_published checkbox
  • Admin index: use AP code instead of full name in list and filter dropdown
  • Admin index: remove pagination, show all theses in table
  • Admin index: HTMX column sorting (click header → reload table via HTMX)
  • Admin index: prevent action buttons from stacking vertically
  • Admin index: compact icon-only buttons (SVG) with tooltips replacing text labels
  • Admin index: reduce status badge font size
  • Admin index: change Voir icon to spectacles/circles SVG
  • Admin index: split Statut column into Publié and Accès
  • Admin index: tighten table cell padding to --space-3xs
  • Admin index: remove main padding, add padding to .admin-list-toolbar and #admin-table-wrap
  • Admin index: remove subtitles from Titre column
  • Admin index: add alternating row background colors
  • Admin index: remove #admin-table-container wrapper element, use #admin-table-wrap
  • Admin index: rearrange toolbar — stats beside title, buttons in single row, search inline with selects on right
  • Admin index: fix toolbar search inputs vertical stacking (add flex-direction: row)
  • Admin index: stats as fieldsets with legend labels (Total/Publiés/Attente), centered content
  • Admin index: remove horizontal padding from toolbar and table-wrap (keep bottom padding only)
  • Admin index: make Filtrer/Réinitialiser buttons same size as inputs (add btn--sm)
  • Admin index: rename Importer un CSV → Importer, merge Export CSV + Export fichiers → Exporter modal with checkboxes
  • Create unified /admin/actions/export.php endpoint with ?csv=1&files=1&db=1 support
  • Admin index: move export DB from parametres into exporter modal
  • Admin index: color stats — green for Publiés, yellow for Attente
  • Remove export-db fieldset and dialog from parametres.php
  • Replace large JS script in admin index with minimal version (8 lines vs ~70)
  • Bulk actions: form wraps all checkboxes, no dynamic DOM building in JS
  • Replace emoji/text buttons in acces.php/acces-etudiante.php with Phosphor SVG icon buttons
  • Replace text button in contenus.php with pencil SVG icon button
  • Add Phosphor Icons credit to about page
  • Add back-to-list arrow button to add/edit/recapitulatif/contenus-edit/tags page titles, make bigger (32px)
  • Remove Voir button from admin index — row click navigates to recapitulatif
  • Add hover highlight on clickable table rows
  • AP column no-wrap, N/A values greyed
  • Tags page: back button, admin-main--list, no padding, icon buttons, #admin-table-wrap
  • Move #bulk-actions into fixed-height #bulk-meta-bar at top, prevent layout shift
  • Credits: move Iconographie below Typographies
  • Rename Accès étudiant·e → Liens étudiant·e
  • Add 'name' column to share_links (schema + migration + model)
  • Add edit dialog for share links (edit name, password, expiration)
  • Row click opens link in new tab, remove Visiter button
  • Add update action to acces-etudiante.php controller
  • Add ShareLink::update() method