refactor: 移动 PermissionsMixin 位置

This commit is contained in:
xinwen
2021-04-08 14:59:14 +08:00
committed by 老广
parent 607b7fd29f
commit 7e4f20f443
7 changed files with 27 additions and 22 deletions

View File

@@ -2,7 +2,6 @@
#
import time
from rest_framework import permissions
from django.contrib.auth.mixins import UserPassesTestMixin
from django.conf import settings
from orgs.utils import current_org
@@ -95,20 +94,6 @@ class WithBootstrapToken(permissions.BasePermission):
return settings.BOOTSTRAP_TOKEN == request_bootstrap_token
class PermissionsMixin(UserPassesTestMixin):
permission_classes = [permissions.IsAuthenticated]
def get_permissions(self):
return self.permission_classes
def test_func(self):
permission_classes = self.get_permissions()
for permission_class in permission_classes:
if not permission_class().has_permission(self.request, self):
return False
return True
class UserCanAnyPermCurrentOrg(permissions.BasePermission):
def has_permission(self, request, view):
return current_org.can_any_by(request.user)