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:
|
if group:
|
||||||
PermissionCRUD.revoke(rid, permissions, group_id=group.id, rebuild=rebuild)
|
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)
|
resource = self._get_resource(name, resource_type_name)
|
||||||
if resource:
|
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):
|
def has_permission(self, resource_name, resource_type, perm, resource_id=None):
|
||||||
if is_app_admin(self.app_id):
|
if is_app_admin(self.app_id):
|
||||||
|
|
|
@ -309,7 +309,7 @@ class ResourceCRUD(object):
|
||||||
return resource
|
return resource
|
||||||
|
|
||||||
@staticmethod
|
@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)))
|
resource = Resource.get_by_id(_id) or abort(404, ErrFormat.resource_not_found.format("id={}".format(_id)))
|
||||||
|
|
||||||
origin = resource.to_dict()
|
origin = resource.to_dict()
|
||||||
|
@ -322,6 +322,7 @@ class ResourceCRUD(object):
|
||||||
i.soft_delete()
|
i.soft_delete()
|
||||||
rebuilds.append((i.rid, i.app_id))
|
rebuilds.append((i.rid, i.app_id))
|
||||||
|
|
||||||
|
if rebuild:
|
||||||
for rid, app_id in set(rebuilds):
|
for rid, app_id in set(rebuilds):
|
||||||
role_rebuild.apply_async(args=(rid, app_id), queue=ACL_QUEUE)
|
role_rebuild.apply_async(args=(rid, app_id), queue=ACL_QUEUE)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue