mirror of https://github.com/jumpserver/jumpserver
revert: 回滚权限树
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
|
|
||||||
|
|
Loading…
Reference in New Issue