refactor form structure per new spec + fix

- split jury into interne/externe/ULB,
- remove president from student form,
- add language_autre,
- split duration into pages+minutes+annexes,
- move licence to degrés d'ouverture with CC2r,
- add license_custom,
- filter PACS from student AP list,
- editable généralités help block,
- Libre toggle per settings

Fix:
- missing comma after cc4r column in schema.sql
- remove duplicate form footer from partage template
- remove couverture from student files fieldset; add promoteur ULB conditional disable via JS on Approfondi
- promoteur ULB: remove 'si applicable', make required when visible
This commit is contained in:
Pontoporeia
2026-05-07 17:52:46 +02:00
parent dce0e0b301
commit 24d68dda59
21 changed files with 694 additions and 381 deletions

18
TODO.md
View File

@@ -125,3 +125,21 @@
- [x] StudentEmail: use new jury_lecteurs_internes/externes and jury_promoteurs_ulb columns
- [x] Recapitulatif: show promoteur·ice ULB and lecteur·ices interne/externe
- [x] Migration: `014_tfe_form_fields.sql` — ALTER + view rebuild
## Refactor form structure per spec (student vs admin)
- [x] Remove `jury_president` field from student-facing forms (edit keeps it as optional)
- [x] Jury: split into promoteur·ice interne, promoteur·ice ULB, lecteur·ice interne, lecteur·ice externe — each with +add button
- [x] AP filtering: student form hides PACS; admin form shows all APs
- [x] Language: add "autre" text field alongside predefined checkboxes
- [x] Duration: split into pages field + minutes field + annexes checkbox
- [x] Licence: removed from métadonnées fieldset, now only in degrés d'ouverture section
- [x] Degrés d'ouverture: généralités FIRST, then radio choice (Libre/Interne/Interdit), then licence dropdown + custom text + CC2r
- [x] CC4r → CC2r rename in form UI + `cc2r` POST name
- [x] Licence: custom licence text field added (`license_custom` DB column)
- [x] Généralités text editable via form help block (`fieldset_generalites`)
- [x] Libre option: hidden in student form when disabled in settings; always shown in admin
- [x] Contact: `contact_visible` field always present in TFE info; admin gets `contact_public` checkbox separately
- [x] Email confirmation: mandatory in student form, optional in admin
- [x] Fichiers: cover image hint updated to 4:3 ratio
- [x] All three form pages (admin add, admin edit, partage) updated
- [x] Controllers updated: `collectJuryMembers`, `validateAndSanitise`, `buildFileSizeInfo`, `license_custom`, `cc2r``cc4r` mapping