mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-07 18:31:04 +00:00
fix: 修复工单相应bug
This commit is contained in:
@@ -54,6 +54,7 @@ class RBACPermission(permissions.DjangoModelPermissions):
|
||||
def get_default_action_perms(self, model_cls):
|
||||
if model_cls is None:
|
||||
return {}
|
||||
|
||||
perms = {}
|
||||
for action, tmpl in dict(self.default_rbac_perms_tmpl).items():
|
||||
perms[action] = self.format_perms(tmpl, model_cls)
|
||||
@@ -62,9 +63,11 @@ class RBACPermission(permissions.DjangoModelPermissions):
|
||||
def get_rbac_perms(self, view, model_cls) -> dict:
|
||||
if hasattr(view, 'get_rbac_perms'):
|
||||
return dict(view.get_rbac_perms())
|
||||
perms = self.get_default_action_perms(model_cls)
|
||||
perms = {}
|
||||
if hasattr(view, 'rbac_perms'):
|
||||
perms.update(dict(view.rbac_perms))
|
||||
if '*' not in perms:
|
||||
perms.update(self.get_default_action_perms(model_cls))
|
||||
return perms
|
||||
|
||||
def _get_action_perms(self, action, model_cls, view):
|
||||
@@ -116,8 +119,8 @@ class RBACPermission(permissions.DjangoModelPermissions):
|
||||
if request.user.is_anonymous and self.authenticated_users_only:
|
||||
return False
|
||||
|
||||
action = getattr(view, 'action', None)
|
||||
if action == 'metadata':
|
||||
raw_action = getattr(view, 'raw_action', None)
|
||||
if raw_action == 'metadata':
|
||||
return True
|
||||
|
||||
perms = self.get_require_perms(request, view)
|
||||
|
Reference in New Issue
Block a user