From b364c3cff7901608e55abef7bd3e2005e3e6b4b9 Mon Sep 17 00:00:00 2001 From: "deepsource-autofix-local[bot]" <61578317+deepsource-autofix-local[bot]@users.noreply.github.com> Date: Thu, 20 May 2021 14:30:28 +0000 Subject: [PATCH 1/2] Replace ternary syntax with if expression --- guardian/mixins.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/guardian/mixins.py b/guardian/mixins.py index afaa0e92e..841c21ae0 100644 --- a/guardian/mixins.py +++ b/guardian/mixins.py @@ -158,8 +158,7 @@ def get_required_permissions(self, request=None): def get_permission_object(self): if hasattr(self, 'permission_object'): return self.permission_object - return (hasattr(self, 'get_object') and self.get_object() or - getattr(self, 'object', None)) + return self.get_object() if hasattr(self, 'get_object') else getattr(self, 'object', None) def check_permissions(self, request): """ From 353d60a323cea43f6aec7ee7206cb054292e863e Mon Sep 17 00:00:00 2001 From: "deepsource-autofix-local[bot]" <61578317+deepsource-autofix-local[bot]@users.noreply.github.com> Date: Thu, 20 May 2021 14:30:55 +0000 Subject: [PATCH 2/2] Format code with black --- guardian/mixins.py | 70 +++++++++++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 29 deletions(-) diff --git a/guardian/mixins.py b/guardian/mixins.py index 841c21ae0..8c1bb3866 100644 --- a/guardian/mixins.py +++ b/guardian/mixins.py @@ -4,6 +4,7 @@ from django.contrib.auth.decorators import login_required, REDIRECT_FIELD_NAME from django.core.exceptions import ImproperlyConfigured, PermissionDenied from guardian.utils import get_user_obj_perms_model + UserObjectPermission = get_user_obj_perms_model() from guardian.utils import get_40x_or_None, get_anonymous_user from guardian.shortcuts import get_objects_for_user @@ -38,14 +39,14 @@ class LoginRequiredMixin: *Default*: ``settings.LOGIN_URL`` """ + redirect_field_name = REDIRECT_FIELD_NAME login_url = settings.LOGIN_URL def dispatch(self, request, *args, **kwargs): - return login_required(redirect_field_name=self.redirect_field_name, - login_url=self.login_url)( - super().dispatch - )(request, *args, **kwargs) + return login_required( + redirect_field_name=self.redirect_field_name, login_url=self.login_url + )(super().dispatch)(request, *args, **kwargs) class PermissionRequiredMixin: @@ -127,6 +128,7 @@ class SecureView(PermissionRequiredMixin, View): or ``self.object`` by default. """ + # default class view settings login_url = settings.LOGIN_URL permission_required = None @@ -149,16 +151,22 @@ def get_required_permissions(self, request=None): elif isinstance(self.permission_required, Iterable): perms = [p for p in self.permission_required] else: - raise ImproperlyConfigured("'PermissionRequiredMixin' requires " - "'permission_required' attribute to be set to " - "'.' but is set to '%s' instead" - % self.permission_required) + raise ImproperlyConfigured( + "'PermissionRequiredMixin' requires " + "'permission_required' attribute to be set to " + "'.' but is set to '%s' instead" + % self.permission_required + ) return perms def get_permission_object(self): - if hasattr(self, 'permission_object'): + if hasattr(self, "permission_object"): return self.permission_object - return self.get_object() if hasattr(self, 'get_object') else getattr(self, 'object', None) + return ( + self.get_object() + if hasattr(self, "get_object") + else getattr(self, "object", None) + ) def check_permissions(self, request): """ @@ -169,16 +177,16 @@ def check_permissions(self, request): """ obj = self.get_permission_object() - forbidden = get_40x_or_None(request, - perms=self.get_required_permissions( - request), - obj=obj, - login_url=self.login_url, - redirect_field_name=self.redirect_field_name, - return_403=self.return_403, - return_404=self.return_404, - accept_global_perms=self.accept_global_perms - ) + forbidden = get_40x_or_None( + request, + perms=self.get_required_permissions(request), + obj=obj, + login_url=self.login_url, + redirect_field_name=self.redirect_field_name, + return_403=self.return_403, + return_404=self.return_404, + accept_global_perms=self.accept_global_perms, + ) if forbidden: self.on_permission_check_fail(request, forbidden, obj=obj) if forbidden and self.raise_exception: @@ -207,7 +215,6 @@ def dispatch(self, request, *args, **kwargs): class GuardianUserMixin: - @staticmethod def get_anonymous(): return get_anonymous_user() @@ -250,6 +257,7 @@ class SecureView(PermissionListMixin, ListView): *Default*: ``{}``, A extra params to pass for ```guardian.shortcuts.get_objects_for_user``` """ + permission_required = None get_objects_for_user_extra_kwargs = {} @@ -266,10 +274,12 @@ def get_required_permissions(self, request=None): elif isinstance(self.permission_required, Iterable): perms = [p for p in self.permission_required] else: - raise ImproperlyConfigured("'PermissionRequiredMixin' requires " - "'permission_required' attribute to be set to " - "'.' but is set to '%s' instead" - % self.permission_required) + raise ImproperlyConfigured( + "'PermissionRequiredMixin' requires " + "'permission_required' attribute to be set to " + "'.' but is set to '%s' instead" + % self.permission_required + ) return perms def get_get_objects_for_user_kwargs(self, queryset): @@ -278,10 +288,12 @@ def get_get_objects_for_user_kwargs(self, queryset): :param request: Queryset to filter """ - return dict(user=self.request.user, - perms=self.get_required_permissions(self.request), - klass=queryset, - **self.get_objects_for_user_extra_kwargs) + return dict( + user=self.request.user, + perms=self.get_required_permissions(self.request), + klass=queryset, + **self.get_objects_for_user_extra_kwargs + ) def get_queryset(self, *args, **kwargs): qs = super().get_queryset(*args, **kwargs)