Bug #3390
crash export listing dans un after_job
Statut:
Fermé
Priorité:
Haut
Assigné à:
Jérôme Schneider
Version cible:
-
Début:
29 juillet 2013
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Planning:
Description
Lorsqu'un gros export (xls, opendocument, ...) est demandé sur un gros listing ça passe dans un after_job. Dans backoffice.ptl un test introduit en janvier test si l'utilisateur courant à bien les droits de lecture sur les formulaires. Le soucis c'est que dans le cas d'un after_job on a pas la requête et on ne connait pas l'utilisateur.
Exception: type = '<type 'exceptions.AttributeError'>', value = ''NoneType' object has no attribute 'user'' Stack trace (most recent call first): File "/usr/lib/pymodules/python2.7/wcs/forms/backoffice.ptl", line 163, in get_listing_items 161 162 # XXX: this will 1) break the offset/count support, and 2) kill performance > 163 items = [x for x in items if self.formdef.is_user_allowed_read(get_request().user, x)] 164 165 return (items, total_count) [...] File "/usr/lib/pymodules/python2.7/wcs/qommon/scgi_server.py", line 38, in handle_connection 36 # input, output and conn are closed, long running jobs could be done 37 # here. > 38 self.publisher.response.process_after_jobs() 39 if self.number_of_connection_handled == self.connection_limit: 40 raise SystemExit locals: self = <qommon.scgi_server.QommonHandler instance at 0x1c20c68> conn = <socket object, fd=-1, family=2, type=1, protocol=0>
Fichiers
Historique
Mis à jour par Thomas Noël il y a presque 11 ans
- Statut changé de Nouveau à En cours
- Assigné à mis à Jérôme Schneider
Benjamin « une solution serait d'ajouter un argument for_user=None à get_list_items() et s'en servir dans l'afterjobs au lieu de dépendre d'un argument implicite via get_request().user en remplaçant get_request().user par "for_user or get_request().user »
Mis à jour par Jérôme Schneider il y a presque 11 ans
A patch à relire rapidement pour que je puisse le pousser.
Mis à jour par Jérôme Schneider il y a presque 11 ans
- Statut changé de En cours à Résolu (à déployer)
Mis à jour par Frédéric Péters il y a plus de 10 ans
- Statut changé de Résolu (à déployer) à Fermé