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

1from django.http import HttpResponseRedirect 

2from django.urls import reverse 

3 

4 

5class RoleSwitchFallbackMiddleware: 

6 """ 

7 After role switch, redirection to homepage if user doesn't have access to previous page. 

8 """ 

9 

10 def __init__(self, get_response): 

11 self.get_response = get_response 

12 

13 def __call__(self, request): 

14 response = self.get_response(request) 

15 

16 if response.status_code in (403, 404) and request.session.pop( 

17 "role_switch_redirect", False 

18 ): 

19 return HttpResponseRedirect(reverse("mesh:home")) 

20 

21 return response