mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-08 10:49:08 +00:00
revert: 回滚权限树
This commit is contained in:
committed by
Jiangjie.Bai
parent
9725f0c963
commit
4044a71aea
@@ -51,4 +51,3 @@ class PermissionViewSet(JMSModelViewSet):
|
|||||||
# perms = RoleBinding.get_user_perms(request.user)
|
# perms = RoleBinding.get_user_perms(request.user)
|
||||||
# serializer = super().get_serializer(data={'perms': perms})
|
# serializer = super().get_serializer(data={'perms': perms})
|
||||||
# return Res
|
# return Res
|
||||||
|
|
||||||
|
@@ -64,12 +64,22 @@ class Permission(DjangoPermission):
|
|||||||
q |= Q(**kwargs)
|
q |= Q(**kwargs)
|
||||||
return q
|
return q
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def clean_permissions(cls, permissions, scope=Scope.system):
|
||||||
|
if scope == Scope.org:
|
||||||
|
excludes = const.org_exclude_permissions
|
||||||
|
else:
|
||||||
|
excludes = const.system_exclude_permissions
|
||||||
|
q = cls.get_define_permissions_q(excludes)
|
||||||
|
if q:
|
||||||
|
permissions = permissions.exclude(q)
|
||||||
|
return permissions
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def create_tree_nodes(permissions, scope, check_disabled=False):
|
def create_tree_nodes(permissions, scope, check_disabled=False):
|
||||||
from ..ztree.tree import ZTree
|
from ..tree import PermissionTreeUtil
|
||||||
ztree = ZTree(permissions, scope, check_disabled)
|
util = PermissionTreeUtil(permissions, scope, check_disabled)
|
||||||
tree_nodes = ztree.get_tree_nodes()
|
return util.create_tree_nodes()
|
||||||
return tree_nodes
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_permissions(cls, scope):
|
def get_permissions(cls, scope):
|
||||||
@@ -77,13 +87,3 @@ class Permission(DjangoPermission):
|
|||||||
permissions = cls.clean_permissions(permissions, scope=scope)
|
permissions = cls.clean_permissions(permissions, scope=scope)
|
||||||
return permissions
|
return permissions
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def clean_permissions(cls, permissions, scope=Scope.system):
|
|
||||||
from ..ztree.tree import ZTree
|
|
||||||
perms_app_label_codename = ZTree.get_permissions_app_label_codename(scope)
|
|
||||||
q = Q()
|
|
||||||
for app_label_codename in perms_app_label_codename:
|
|
||||||
app_label, codename = app_label_codename.split('.')
|
|
||||||
q |= Q(**{'content_type__app_label': app_label, 'codename': codename})
|
|
||||||
permissions = permissions.filter(q)
|
|
||||||
return permissions
|
|
||||||
|
Reference in New Issue
Block a user