Bug #49036
en cas d'action exécutée en masse, les variables session_* ne sont pas présentes
0%
Description
parce qu'on oublie d'envoyer la session dans les var de subst lors de l'exécution des actions en masse
def submit_multi(self, action, selected_filter, query, criterias): ... for i, formdata in enumerate(formdatas): publisher.substitutions.reset() publisher.substitutions.feed(publisher) publisher.substitutions.feed(self.formdef) publisher.substitutions.feed(formdata) ...
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a plus de 3 ans
Ok mais j'aimerais passer ce traitement hors contexte de requête, il n'y aura plus de session.
Mis à jour par Thomas Noël il y a plus de 3 ans
- Fichier 0001-misc-add-user-and-session-in-multi-action-context-49.patch 0001-misc-add-user-and-session-in-multi-action-context-49.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Frédéric Péters a écrit :
Ok mais j'aimerais passer ce traitement hors contexte de requête, il n'y aura plus de session.
Patch écrit sans avoir vu ça... j'ai pas bien compris ce que tu demandes ici.
Mis à jour par Frédéric Péters il y a plus de 3 ans
Je notais ça en me disant que ça allait peut-être rendre l'affaire galère, si des trucs plus loin utilisent get_request() et que ça ne donne plus rien.
Mis à jour par Thomas Noël il y a plus de 3 ans
- Statut changé de Solution proposée à En cours
- Assigné à
Thomas Noëlsupprimé
Frédéric Péters a écrit :
Je notais ça en me disant que ça allait peut-être rendre l'affaire galère, si des trucs plus loin utilisent get_request() et que ça ne donne plus rien.
Ok... bon... y'a vraiment un truc qui m'échappe.
Mis à jour par Frédéric Péters il y a plus de 3 ans
1/ il y a nécessité de passer les traitements de masse hors du traitement uwsgi de la requête (#46674); 2/ ça va faire que lors du traitement, il n'y aura pas de notion de session; 3/ ce ticket & ma remarque, pour dire attention clash à venir, si on se met à passer la session maintenant ça va provoquer des usages qui pourraient nous amener des galères.
Là je n'ai pas réfléchi, vite fait je dirais qu'on peut se protéger là-dessus en mettant session_user dans le contexte, plutôt que session, que ça répond au ticket lié tout en évitant les problèmes qui viendraient d'une utilisation extensive des variables sous "session_".
Mis à jour par Thomas Noël il y a plus de 3 ans
Frédéric Péters a écrit :
1/ il y a nécessité de passer les traitements de masse hors du traitement uwsgi de la requête (#46674); 2/ ça va faire que lors du traitement, il n'y aura pas de notion de session; 3/ ce ticket & ma remarque, pour dire attention clash à venir, si on se met à passer la session maintenant ça va provoquer des usages qui pourraient nous amener des galères.
Là je n'ai pas réfléchi, vite fait je dirais qu'on peut se protéger là-dessus en mettant session_user dans le contexte, plutôt que session, que ça répond au ticket lié tout en évitant les problèmes qui viendraient d'une utilisation extensive des variables sous "session_".
Ok, alors, en fait, session on s'en fiche ici, ce qui génère « session_user » c'est l'ajout de get_request().user
J'ai ajouté session juste pour faire "comme ailleurs".
Mais bon, ça ne change rien à l'idée : si on change le process de traitement en masse et qu'on n'y a plus de request, alors on n'aura plus le request.user. J'ai quand même l'impression que c'est un peu limite...?
Mis à jour par Thomas Noël il y a plus de 3 ans
En attendant et parce que j'aime bien insister voici une version du patch réduit à la seule ligne ajoutant self.user (pour avoir session_user donc).
Mis à jour par Thomas Noël il y a plus de 3 ans
- Fichier 0001-misc-add-user-and-session-in-multi-action-context-49.patch 0001-misc-add-user-and-session-in-multi-action-context-49.patch ajouté
- Statut changé de En cours à Solution proposée
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Solution proposée à Solution validée
Mouis, ok, à noter dans un coin que tout ça n'est pas lazy.
Mis à jour par Thomas Noël il y a plus de 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 4dc514c98c270f5764b7d3877b2d992971d0e647 Author: Thomas NOEL <tnoel@entrouvert.com> Date: Wed Dec 2 11:28:37 2020 +0100 misc: add user and session in multi action context (#49036)
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
misc: add user and session in multi action context (#49036)