Project

General

Profile

Développement #65882

dataviz, les sous-filtres ne sont pas correctement rafraîchis en cas d'utilisation d'une variable de page

Added by Valentin Deniaud over 2 years ago. Updated over 2 years ago.

Status:
Fermé
Priority:
Normal
Target version:
-
Start date:
01 June 2022
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

Description

Le rafraîchissement des sous-filtres se fait par deux biais :
  • À 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

Revision 06b4b1dc (diff)
Added by Valentin Deniaud over 2 years ago

dataviz: pass request explicitly when needed (#65882)

Revision 7a4bc2c0 (diff)
Added by Valentin Deniaud over 2 years ago

dataviz: pass request to spooler refresh task (#65882)

Revision 2bfbfca2 (diff)
Added by Valentin Deniaud over 2 years ago

dataviz: build filter parameters outside of spooler (#65882)

History

#1

Updated by Valentin Deniaud over 2 years ago

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.

#2

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 ?

#3

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 :/

#4

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 :)

#5

Updated by A. B. over 2 years ago

  • Status changed from Solution proposée to Solution validée
#6

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)
#7

Updated by Transition automatique over 2 years ago

  • Status changed from Résolu (à déployer) to Solution déployée
#8

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.

#9

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
#10

Updated by Valentin Deniaud over 2 years ago

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/

#11

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)
#12

Updated by Transition automatique over 2 years ago

  • Status changed from Résolu (à déployer) to Solution déployée
#13

Updated by Transition automatique about 2 years ago

Automatic expiration

Also available in: Atom PDF