From 9b7b96a31086f290e60c8d75e7eeb66e6c018062 Mon Sep 17 00:00:00 2001 From: Bartuccio Antoine Date: Mon, 15 Jul 2019 12:26:04 +0200 Subject: [PATCH] core: add UserIsLoggedMixin to check if an user is not anonymous --- core/views/__init__.py | 11 +++++++++++ core/views/user.py | 8 ++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/core/views/__init__.py b/core/views/__init__.py index 202b08fa..41bd5eee 100644 --- a/core/views/__init__.py +++ b/core/views/__init__.py @@ -214,6 +214,17 @@ class FormerSubscriberMixin(View): return super(FormerSubscriberMixin, self).dispatch(request, *args, **kwargs) +class UserIsLoggedMixin(View): + """ + This view check if the user is logged + """ + + def dispatch(self, request, *args, **kwargs): + if request.user.is_anonymous: + raise PermissionDenied + return super(UserIsLoggedMixin, self).dispatch(request, *args, **kwargs) + + class TabedViewMixin(View): """ This view provide the basic functions for displaying tabs in the template diff --git a/core/views/user.py b/core/views/user.py index 5cbc2d88..63135872 100644 --- a/core/views/user.py +++ b/core/views/user.py @@ -52,6 +52,7 @@ from core.views import ( CanViewMixin, CanEditMixin, CanEditPropMixin, + UserIsLoggedMixin, TabedViewMixin, QuickNotifMixin, ) @@ -762,7 +763,7 @@ class UserUpdateGroupView(UserTabsMixin, CanEditPropMixin, UpdateView): current_tab = "groups" -class UserToolsView(QuickNotifMixin, UserTabsMixin, TemplateView): +class UserToolsView(QuickNotifMixin, UserTabsMixin, UserIsLoggedMixin, TemplateView): """ Displays the logged user's tools """ @@ -770,11 +771,6 @@ class UserToolsView(QuickNotifMixin, UserTabsMixin, TemplateView): template_name = "core/user_tools.jinja" current_tab = "tools" - def dispatch(self, request, *args, **kwargs): - if request.user.is_anonymous: - raise PermissionDenied - return super(UserToolsView, self).dispatch(request, *args, **kwargs) - def get_context_data(self, **kwargs): self.object = self.request.user from launderette.models import Launderette