From 9be21678c208603fae9e9a8fe421139c1a0e03d2 Mon Sep 17 00:00:00 2001 From: Alastair Porter Date: Wed, 12 Feb 2025 16:55:48 +0100 Subject: [PATCH] If a user's cookie for last forum visit has no tz, add it This is only necessary in the few days between our release of use_tz=True and users' cookies expiring, but without it no one can visit the forum --- forum/views.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/forum/views.py b/forum/views.py index d8b6a899e..d96e4ffab 100644 --- a/forum/views.py +++ b/forum/views.py @@ -69,8 +69,12 @@ def inner(request, *args, **kwargs): if key not in request.COOKIES or not request.session.get(key, False): request.session[key] = now_as_string - elif now - datetime.datetime.fromisoformat(request.COOKIES[key]) > datetime.timedelta(minutes=30): - request.session[key] = request.COOKIES[key] + else: + cookie_value = datetime.datetime.fromisoformat(request.COOKIES[key]) + if cookie_value.tzinfo is None: + cookie_value = cookie_value.replace(tzinfo=timezone.utc) + if now - cookie_value > datetime.timedelta(minutes=30): + request.session[key] = request.COOKIES[key] request.last_action_time = datetime.datetime.fromisoformat(request.session.get(key, now_as_string))