mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-06-25 16:19:19 +02:00
Fix form field required states & missing fields per spec
- Admin add: add contact_public checkbox (matching edit form) - All forms: formats checkbox-list now required - All forms: jury promoteur·ice interne required, lecteur·ice interne/externe required - All forms: licence select now required - Admin edit: add E-mail de confirmation fieldset - Partage: contact always visible when provided (no contact_public field) - Partage: filter PACS from AP programs dropdown - Server-side validation: formats, jury, licence required (create + edit controllers) - Autofocus mappings for new validation errors - No duplicate asterisks — verified across all rendered fields - fix: add missing old() function in admin edit controller - refactor: move admin email field to Backoffice as Contact interne, never send email - Untrack admin.log (covered by .gitignore)
This commit is contained in:
24
TODO.md
24
TODO.md
@@ -13,7 +13,6 @@
|
||||
- [x] `AboutController.php` — removed credits, sourceCode DB loading
|
||||
- [x] `templates/public/about.php` — hardcoded source code URL, hardcoded credits HTML
|
||||
- [x] `apropos.css` — `.apropos-toc-source` styles
|
||||
- [x] `.gitignore` — ignore `app/storage/logs/*.log`
|
||||
|
||||
## Duplicate TFE submission prevention (fixes)
|
||||
- [x] `DuplicateThesisException` — typed exception carrying existing thesis metadata
|
||||
@@ -141,6 +140,14 @@
|
||||
- [x] Recapitulatif: show promoteur·ice ULB and lecteur·ices interne/externe
|
||||
- [x] Migration: `014_tfe_form_fields.sql` — ALTER + view rebuild
|
||||
|
||||
- [x] Fix `Call to undefined function old()` in admin edit page — define `old()` in `app/public/admin/edit.php` (was only in `add.php`)
|
||||
- [x] Add Note contextuelle and Backoffice fieldsets to admin add form (matching edit form)
|
||||
- [x] `Database::createThesis()` — add `context_note`, `remarks`, `jury_points`, `exemplaire_baiu`, `exemplaire_erg`, `cc4r` columns
|
||||
- [x] `ThesisCreateController::validateAndSanitise()` — handle new admin-only fields
|
||||
- [x] `ThesisCreateController::submit()` — pass new fields to `createThesis()`
|
||||
- [x] Replace admin E-mail de confirmation fieldset with Contact interne in Backoffice section (add + edit)
|
||||
- [x] Remove confirmation email sending from add/edit (admin never sent; student partage unchanged)
|
||||
|
||||
## 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
|
||||
@@ -158,3 +165,18 @@
|
||||
- [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
|
||||
|
||||
## Fix form field required states & missing fields per spec
|
||||
- [x] Admin add: add `contact_public` checkbox (matching edit form)
|
||||
- [x] Admin add + partage + admin edit: formats checkbox-list `$required = true`
|
||||
- [x] All forms: jury promoteur·ice interne `required` attribute
|
||||
- [x] All forms: jury lecteur·ice interne `required` attribute (at least one)
|
||||
- [x] All forms: jury lecteur·ice externe `required` attribute (at least one)
|
||||
- [x] All forms: licence select `$required = true`
|
||||
- [x] Admin edit: add "E-mail de confirmation" fieldset
|
||||
- [x] Partage: contact always visible (POST handler defaults `showContact` to true when no `contact_public` key present)
|
||||
- [x] Partage: filter PACS from AP programs dropdown
|
||||
- [x] Verify no duplicate asterisks on any field
|
||||
- [x] Admin add: `contact_public` POST handling in ThesisCreateController for admin submissions
|
||||
- [x] Server-side validation: formats required, jury members required, licence required (ThesisCreateController + ThesisEditController)
|
||||
- [x] Autofocus mappings for new validation errors (format, jury, licence)
|
||||
|
||||
Reference in New Issue
Block a user