Files
xamxam/TODO.md
Pontoporeia 3df1456781 fix: author name casing not updating — use ID lookup priority
Root cause: SQLite uses BINARY collation, so WHERE name = ? is
case-sensitive. When changing 'john doe' to 'John Doe', the name
lookup failed and fell through to the email path which didn't update
the name. The previous fix only added UPDATE in the name-match branch.

Fixes in findOrCreateAuthor:
1. Accept optional $idHint parameter — when known (edit flow), update
   directly by ID (fastest, zero ambiguity)
2. Add COLLATE NOCASE to the name lookup (fallback path)
3. Add UPDATE in the email fallback path too

setThesisAuthors now fetches existing author_ids before deletion and
passes them as position-based hints, so identity is always preserved.
2026-06-10 00:17:00 +02:00

1.1 KiB

TODO

  • Fix #1: TFE publié se dépublie quand on modifie ses données (is_published missing from getThesisRawFields SELECT)
  • Fix #2: Renommer "Note contextuelle" → "Note contextuelle relative à soutenance"
  • Fix #3: Impossible de mettre une majuscule au nom d'étudiant·e — la recherche par nom en SQLite est case-sensitive (BINARY), contournait le UPDATE et tombait dans le fallback email sans updater le nom. Ajout COLLATE NOCASE + UPDATE dans le chemin email.
  • Fix #4: Décorréler contact interne et contact visible (ajouter colonne contact_visible sur theses)
  • Fix #5: "Contact public : non" partout, non modifiable, sans impact
  • Fix #6: Investiguer "libre → interne" impossible — aucune restriction trouvée dans le code admin
  • Hotfix: contact_visible manquant dans le SQL de updateThesis (l'edit matchait createThesis à la place)
  • Fix #7: Options de licence non persistées en edit — HTMX load trigger perdait les valeurs (pas de hidden inputs pour license_id/license_custom/cc2r/want_license dans fieldset-licence-explanation.php)
  • Commit + jj new