diff --git a/cmdb-api/api/lib/perm/acl/acl.py b/cmdb-api/api/lib/perm/acl/acl.py index e40a9bd..d1edd12 100644 --- a/cmdb-api/api/lib/perm/acl/acl.py +++ b/cmdb-api/api/lib/perm/acl/acl.py @@ -127,8 +127,9 @@ def is_app_admin(app=None): app = app or 'cmdb' app_id = AppCache.get(app).id - for role in session.get("acl", {}).get("parentRoles", []): - if RoleCache.get_by_name(app_id, role).is_app_admin: + for role_name in session.get("acl", {}).get("parentRoles", []): + role = RoleCache.get_by_name(app_id, role_name) + if role and role.is_app_admin: return True return False