mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-06-25 16:19:19 +02:00
3.1 KiB
3.1 KiB
XAMXAM TODO
Completed
-
TDD analysis + new test suites
- Bug fixed:
SearchController::handleSearch()—$coverMapundefined variable + never populated for search results ShareLinkTest(13 tests) —generateSlug, allvalidateLinkbranches,verifyPassword,incrementUsage,objet_restrictionPureLogicTest(31 tests) —TfeControllerhelpers (meta, OG image, jury split, captions),ThesisCreateControllerhelpers (autofocus, detectFileType, authorSlug),ThesisEditController::buildFileSizeInfo,ExportControllerCSV column consistency,SearchControllercoverMap regression- Private helpers promoted to
protectedinTfeController,ThesisCreateController,ThesisEditControllerto enable subclass-based testing without reflection
- Bug fixed:
-
Form save audit + TDD
createThesis()missingduration_pages/duration_minutescolumns — fixedThesisCreateControllernot passing raw page/minute values tocreateThesis()— fixed (durationPages,durationMinutesextracted and passed)FormSaveTest.php— 14 red-green tests covering create+edit round-trips for all fields
-
Language form improvements
- Add Néerlandais as default language option (schema + migration 017)
language_autreconditionally required via HTMX fragment (replaced custom JS)language_autresaved viagetOrCreateLanguage()in both create and edit controllersformData['languages']wired in edit.php so checkboxes are pre-checkedduration_pages/duration_minutessaved inupdateThesis()and read back ingetThesisRawFields()beforeunload-guardapplied to add and partage forms too
-
Merge banner images into cover images
- Migration 016: copy
storage/banners/*→storage/covers/, insertthesis_filescover records, clearbanner_path, remove banners dir - Remove banner fieldset from edit form (
form.php) - Remove banner fieldset from student submission form (
fieldset-files.php: rename to couverture) - Update
ThesisEditController::save()— remove banner upload/removal logic - Update
ThesisCreateController::submit()— removehandleBannerUploadcall - Update
Database::handleCoverUpload()— add webp support, raise limit to 20 MB - Remove
Database::setBannerPath(),handleBannerUpload(),getThesisBannerPath() - Update
Database::deleteThesis()/bulkDeleteTheses()— remove banner file cleanup HomeController: batch-load covers for all items, remove banner_path fallbackSearchController::handleSearch(): batch-load covers, pass$coverMapto viewSearchController::handleStudentPreview(): load covers, pass$coverMapto partialTfeController::resolveOgImage(): use cover file_type instead of banner_pathhome.php: use only$coverMap(no banner_path fallback)search.php: show cover thumbnail on result cardsstudent-preview.php: use$coverMapinstead ofbanner_path- Migration applied and file moved to
applied/
- Migration 016: copy