Bug #36734
erreur d'affichage des boutons d'actions en masse pour une fonction comportant des tirets dans le slug
0%
Description
Problème constaté dans #36713.
L'action globale est disponible pour le rôle ayant le slug "debug-et-assistance".
Cela donne donc un bouton avec le HTML suivant:
<button data-visible_for__debug-et-assistance="true" value="Mise à jour des données (Demande traitée)" name="button-action-9">Mise à jour des données (Demande traitée)</button>
Dans la fonction Javascript les cases à cocher des demandes correspondant à cette action sont recherchées par le bout:
for (var key in $(elem).first().data()) { if (key == 'visible_for_all') { visible = true; break; } if ($('input[type=checkbox][data-is-' + key.substr(12) + ']:checked').length) { visible = true; break; } }
Or key
a la valeur: debugEtAssistance
, comme retourné par $(elem).first().data()
.
Fichiers
Révisions associées
Historique
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a plus de 4 ans
Je propose que la recherche se fasse en utilisant également data
:
if ($('#listing input[type=checkbox]:checked').data('is-', key.substr(12)).length) { ... }
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Assigné à mis à Frédéric Péters
Pas fan de l'idée, dont la lecture ne me donne même pas l'impression d'un truc qui fonctionne. (et donc même si ça fonctionne ça ne va pas).
Je vais regarder davantage du code pour proposer quelque chose.
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Fichier 0001-backoffice-fix-display-mass-actions-set-to-functions.patch 0001-backoffice-fix-display-mass-actions-set-to-functions.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Simplement faire du Python.
Mis à jour par Nicolas Roche il y a plus de 4 ans
A priori les 2 approches corrigent le bug.
(que je reproduit en local en utilisant les fonctions à la place des rôles dans les déclencheurs des actions globales.)
Désolé, je ne suis pas inspiré pour écrire le test qui va bien.
Serghei, je te laisse valider stp (je n'ai pas tout pigé).
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a plus de 4 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit d3eb54b88c0410f23eacdb10aff7671dfe593c24 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Tue Oct 8 09:48:20 2019 +0200 backoffice: fix display of mass actions set to functions with dashes (#36734) Function slugs are used in data attributes but those are normalized, The name of a custom data attribute in JavaScript is the name of the same HTML attribute but in camelCase and with no dashes, dots, etc. -- https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/dataset Prevent that by turning all dashes into underscores.
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
backoffice: fix display of mass actions set to functions with dashes (#36734)
Function slugs are used in data attributes but those are normalized,
Prevent that by turning all dashes into underscores.