Développement #74541
Filtre |with_template, field.id_for_label peut être vide
0%
Description
Dans le code de Django on a pour CheckboxSelectMultiple :
def id_for_label(self, id_, index=None): """ Don't include for="field_0" in <label> because clicking such a label would toggle the first checkbox. """ if index is None: return '' return super().id_for_label(id_, index)
Et dans la mécanique de rendu form.as_p()
, qui donne normalement des <label for="..."
, ce bout
id_for_label = widget.id_for_label(id_) if id_for_label: attrs = {**(attrs or {}), 'for': id_for_label}
Qui peut se résumer par « ne pas inclure d'attribut for=
vide ».
Cette vérif a été oubliée dans gadjo qui fait id="{{field.id_for_label}}_p"
, et donc dans le cas d'un widget CheckboxSelectMultiple, on se retrouve avec id="_p"
ce qui est nul.
Files
Associated revisions
History
Updated by Valentin Deniaud almost 2 years ago
- File 0001-templates-avoid-empty-id-attribute-in-widget-74541.patch 0001-templates-avoid-empty-id-attribute-in-widget-74541.patch added
- Status changed from Nouveau to Solution proposée
- Patch proposed changed from No to Yes
Bon je me suis bien foiré, jamais codé dans gadjo depuis gitea et sur ma branche wip/ en local j'ai tapé git remote add gitea gitea@gitea.entrouvert.org:entrouvert/gadjo.git && git push gitea
ce qui a poussé sur main...
Mon patch me paraît plutôt simple donc je revert pas sauf contre ordre, voici pour validation à posteriori.
Updated by Valentin Deniaud almost 2 years ago
Valentin Deniaud a écrit :
Bon je me suis bien foiré, jamais codé dans gadjo depuis gitea et sur ma branche wip/ en local j'ai tapé
git remote add gitea gitea@gitea.entrouvert.org:entrouvert/gadjo.git && git push gitea
ce qui a poussé sur main...
Rien à voir en fait gadjo n'a pas été migré, mon git push gitea a créé un dépôt, wtf. Pas de problème sur main en tout cas, tant mieux.
Updated by Frédéric Péters almost 2 years ago
- Status changed from Solution proposée to Solution validée
C'est ok (tape le patch en PR si tu veux).
Updated by Valentin Deniaud almost 2 years ago
- Status changed from Solution validée to Résolu (à déployer)
commit bbcd17465facdff14da1104de44476ff33c31973 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Wed Feb 15 11:53:11 2023 +0100 templates: avoid empty id attribute in widget (#74541)
Updated by Transition automatique almost 2 years ago
- Status changed from Résolu (à déployer) to Solution déployée
templates: avoid empty id attribute in widget (#74541)