1
0
mirror of https://gitlab.com/animath/si/plateforme.git synced 2025-06-21 01:58:23 +02:00

Protect pages (not tested)

This commit is contained in:
Yohann D'ANELLO
2021-01-17 12:40:23 +01:00
parent 1e413229a1
commit c151ff3611
7 changed files with 207 additions and 37 deletions

View File

@ -9,7 +9,14 @@ from haystack.generic_views import SearchView
class AdminMixin(LoginRequiredMixin):
def dispatch(self, request, *args, **kwargs):
if request.user.is_authenticated and not request.user.registration.is_admin:
raise PermissionDenied
self.handle_no_permission()
return super().dispatch(request, *args, **kwargs)
class VolunteerMixin(LoginRequiredMixin):
def dispatch(self, request, *args, **kwargs):
if request.user.is_authenticated and not request.user.registration.is_volunteer:
self.handle_no_permission()
return super().dispatch(request, *args, **kwargs)
@ -17,7 +24,7 @@ class UserMixin(LoginRequiredMixin):
def dispatch(self, request, *args, **kwargs):
user = request.user
if user.is_authenticated and not user.registration.is_admin and user.registration.pk != kwargs["pk"]:
raise PermissionDenied
self.handle_no_permission()
return super().dispatch(request, *args, **kwargs)