Développement #65882
dataviz, les sous-filtres ne sont pas correctement rafraîchis en cas d'utilisation d'une variable de page
0%
Description
- À la validation du formulaire, si on détecte qu'un champ lié à des sous-filtres a été modifié, on rafraichit
- À chaque validation, on lance une tâche spooler qui va aller rafraichir les données et aussi les sous-filtres
Dans le premier cas les sous-filtres sont rafraîchis direct quand le formulaire est affiché, dans le second ça demande deux clics sur valider (validation 1 -> spooler -> formulaire affiché sans màj -> spooler fini -> validation 2 -> formulaire affiché avec màj). Rafraîchir les sous-filtres dans ce second cas est cependant moins utile, car il n'auront pas bougé à moins qu'un nouveau champ ait été coché « Statistiques ».
Sauf que, l'évaluation des variables de page nécessitant un objet requête, il désactive le rafraîchissement par spooler. Donc dans le cas où on utilise une variable de page + on va cocher un nouveau champ statistiques, il n'apparaîtra jamais (à moins d'aller changer le champ qui contrôle les sous-filtres).
Files
Associated revisions
dataviz: pass request to spooler refresh task (#65882)
dataviz: build filter parameters outside of spooler (#65882)
History
Updated by Valentin Deniaud over 2 years ago
- File 0001-dataviz-pass-request-explicitly-when-needed-65882.patch 0001-dataviz-pass-request-explicitly-when-needed-65882.patch added
- File 0002-dataviz-pass-request-to-spooler-refresh-task-65882.patch 0002-dataviz-pass-request-to-spooler-refresh-task-65882.patch added
- Status changed from Nouveau to Solution proposée
- Patch proposed changed from No to Yes
Valentin Deniaud a écrit :
Sauf que, l'évaluation des variables de page nécessitant un objet requête, il désactive le rafraîchissement par spooler.
Cette limitation n'a pas lieu d'être, on peut tout à fait passer la requête au spooler.
0001 pour réorganiser un peu le code et avoir un 0002 plus clair.
Updated by A. B. over 2 years ago
Les évolutions du code me paraissent okay, mais je n'ai pas l'impression que les changements liés au passage de requête au spooler ne sont pas testés, est-ce que c'est normal ?
Updated by Valentin Deniaud over 2 years ago
Agate Berriot a écrit :
Les évolutions du code me paraissent okay, mais je n'ai pas l'impression que les changements liés au passage de requête au spooler ne sont pas testés, est-ce que c'est normal ?
Oui c'est plutôt normal, à ma connaissance on a rien pour mocker la mécanique spooler :/
Updated by A. B. over 2 years ago
Valentin Deniaud a écrit :
Oui c'est plutôt normal, à ma connaissance on a rien pour mocker la mécanique spooler :/
C'est ce que je soupçonnais. Bon ben go alors :)
Updated by Valentin Deniaud over 2 years ago
- Status changed from Solution validée to Résolu (à déployer)
commit 7a4bc2c02f530ee85823885817f5fa510acc2a3a Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Thu Jun 2 18:26:44 2022 +0200 dataviz: pass request to spooler refresh task (#65882) commit 06b4b1dce530a2f3dd6db4aaabcc597ad43cea11 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Thu Jun 2 18:20:00 2022 +0200 dataviz: pass request explicitly when needed (#65882)
Updated by Transition automatique over 2 years ago
- Status changed from Résolu (à déployer) to Solution déployée
Updated by Frédéric Péters over 2 years ago
mais je n'ai pas l'impression que les changements liés au passage de requête au spooler ne sont pas testés, est-ce que c'est normal ?
Oui c'est plutôt normal, à ma connaissance on a rien pour mocker la mécanique spooler :/
Résultat ça plante → #67902 qui va reverter ces patchs.
Updated by Frédéric Péters over 2 years ago
- Status changed from Solution déployée to En cours
- Patch proposed changed from Yes to No
Updated by Valentin Deniaud over 2 years ago
- File 0001-dataviz-build-filter-parameters-outside-of-spooler-6.patch 0001-dataviz-build-filter-parameters-outside-of-spooler-6.patch added
- Status changed from En cours to Solution proposée
- Patch proposed changed from No to Yes
Plutôt que de passer la requête, passer la query string.
Cette fois-ci testé en lançant combo avec uwsgi :
COMBO_SETTINGS_FILE=/home/$USER/.config/publik/settings/combo/settings.py uwsgi --chdir . --module=combo.wsgi:application --env DJANGO_SETTINGS_MODULE=combo.settings --master --process 3 --pidfile=/tmp/project-master.pid --http=127.0.0.1:8004 --spooler-python-import=combo.utils.spooler --spooler /var/lib/combo/spooler/
Updated by Frédéric Péters over 2 years ago
- Status changed from Solution proposée to Résolu (à déployer)
validé/poussé,
commit 2bfbfca2de76e1e95f4214f735f0331b07fca218 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Tue Aug 23 15:37:25 2022 +0200 dataviz: build filter parameters outside of spooler (#65882)
Updated by Transition automatique over 2 years ago
- Status changed from Résolu (à déployer) to Solution déployée
dataviz: pass request explicitly when needed (#65882)