From 6ae129ea24e1e3ed6421454e047a11c1fc64682f Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Wed, 2 Aug 2017 13:18:19 -0500 Subject: [PATCH] Fix bug when request.user becomes unattached from session (?) this sure seems unexpected. so far the behavior has only been seen on mobile when a new ordering batch was created --- tailbone/views/core.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tailbone/views/core.py b/tailbone/views/core.py index a9a5b8f2..59db1d3a 100644 --- a/tailbone/views/core.py +++ b/tailbone/views/core.py @@ -47,9 +47,14 @@ class View(object): self.request = request # if user becomes inactive while logged in, log them out - if getattr(request, 'user', None) and not request.user.active: - headers = logout_user(request) - raise self.redirect(request.route_url('home')) + if getattr(request, 'user', None): + # TODO: why is the user sometimes not attached to session? + # (this has only been seen on mobile, when creating a new ordering batch) + if request.user not in Session(): + request.user = Session.merge(request.user) + if not request.user.active: + headers = logout_user(request) + raise self.redirect(request.route_url('home')) config = self.rattail_config if config: