Coverage for src / mesh / views / middlewares / role_switch.py: 90%
10 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-07-09 13:14 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-07-09 13:14 +0000
1from django.http import HttpResponseRedirect
2from django.urls import reverse
5class RoleSwitchFallbackMiddleware:
6 """
7 After role switch, redirection to homepage if user doesn't have access to previous page.
8 """
10 def __init__(self, get_response):
11 self.get_response = get_response
13 def __call__(self, request):
14 response = self.get_response(request)
16 if response.status_code in (403, 404) and request.session.pop(
17 "role_switch_redirect", False
18 ):
19 return HttpResponseRedirect(reverse("mesh:home"))
21 return response