From 3e062aed360ca54c26733b175d00d0d4671f3591 Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Sun, 11 Dec 2022 00:25:48 -0700 Subject: Timelines working --- users/middleware.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'users/middleware.py') diff --git a/users/middleware.py b/users/middleware.py index e6d4036..9e7f50d 100644 --- a/users/middleware.py +++ b/users/middleware.py @@ -13,15 +13,21 @@ class IdentityMiddleware: self.get_response = get_response def __call__(self, request): - identity_id = request.session.get("identity_id") - if not identity_id: - request.identity = None - else: - try: - request.identity = Identity.objects.get(id=identity_id) - User.objects.filter(pk=request.user.pk).update(last_seen=timezone.now()) - except Identity.DoesNotExist: + # The API middleware might have set identity already + if not hasattr(request, "identity"): + # See if we have one in the session + identity_id = request.session.get("identity_id") + if not identity_id: request.identity = None + else: + # Pull it out of the DB and assign it + try: + request.identity = Identity.objects.get(id=identity_id) + User.objects.filter(pk=request.user.pk).update( + last_seen=timezone.now() + ) + except Identity.DoesNotExist: + request.identity = None response = self.get_response(request) return response -- cgit v1.2.3