mirror of https://github.com/veops/cmdb.git
fix(acl): del resource
This commit is contained in:
parent
4b5906770f
commit
c1bcd0ce45
|
@ -148,10 +148,10 @@ class ACLManager(object):
|
|||
if group:
|
||||
PermissionCRUD.revoke(rid, permissions, group_id=group.id, rebuild=rebuild)
|
||||
|
||||
def del_resource(self, name, resource_type_name=None):
|
||||
def del_resource(self, name, resource_type_name=None, rebuild=True):
|
||||
resource = self._get_resource(name, resource_type_name)
|
||||
if resource:
|
||||
return ResourceCRUD.delete(resource.id)
|
||||
return ResourceCRUD.delete(resource.id, rebuild=rebuild)
|
||||
|
||||
def has_permission(self, resource_name, resource_type, perm, resource_id=None):
|
||||
if is_app_admin(self.app_id):
|
||||
|
|
|
@ -309,7 +309,7 @@ class ResourceCRUD(object):
|
|||
return resource
|
||||
|
||||
@staticmethod
|
||||
def delete(_id):
|
||||
def delete(_id, rebuild=True):
|
||||
resource = Resource.get_by_id(_id) or abort(404, ErrFormat.resource_not_found.format("id={}".format(_id)))
|
||||
|
||||
origin = resource.to_dict()
|
||||
|
@ -322,8 +322,9 @@ class ResourceCRUD(object):
|
|||
i.soft_delete()
|
||||
rebuilds.append((i.rid, i.app_id))
|
||||
|
||||
for rid, app_id in set(rebuilds):
|
||||
role_rebuild.apply_async(args=(rid, app_id), queue=ACL_QUEUE)
|
||||
if rebuild:
|
||||
for rid, app_id in set(rebuilds):
|
||||
role_rebuild.apply_async(args=(rid, app_id), queue=ACL_QUEUE)
|
||||
|
||||
AuditCRUD.add_resource_log(resource.app_id, AuditOperateType.delete,
|
||||
AuditScope.resource, resource.id, origin, {}, {})
|
||||
|
|
Loading…
Reference in New Issue