From fc86599b027b89638274adfb286bf3f383e22100 Mon Sep 17 00:00:00 2001 From: Yoan Le Clanche Date: Wed, 1 Dec 2021 14:59:51 +0100 Subject: [PATCH] Fix issue with infinite redirect https://trackers.pilotsystems.net/prebarreau/0308 --- teleforma/views/core.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/teleforma/views/core.py b/teleforma/views/core.py index 6b3400e9..b3d0b482 100644 --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@ -183,7 +183,10 @@ def get_default_period(periods): elif len(periods) == 1: return periods[0] else: - return Period.objects.get(id=getattr(settings, 'TELEFORMA_PERIOD_DEFAULT_ID', 1)) + default_period = Period.objects.get(id=getattr(settings, 'TELEFORMA_PERIOD_DEFAULT_ID', 1)) + if default_period not in periods: + return periods[0] + return default_period def content_to_pdf(content, dest, encoding='utf-8', **kwargs): @@ -302,6 +305,8 @@ class PeriodAccessMixin(View): if not period in context['periods']: messages.warning(self.request, _( "You do NOT have access to this resource and then have been redirected to your desk.")) + if self.request.session['period_id'] == period.id: + del self.request.session['period_id'] return redirect('teleforma-home') return super(PeriodAccessMixin, self).render_to_response(context) -- 2.39.5