def get_principals_with_access_content(obj): if obj is None: return {} active_roles = get_principals_with_access_content( removeSecurityProxy(getattr(obj, '__parent__', None))) prinperm = IPrincipalPermissionMap(obj) for role, permission in prinperm.getRow('plone.AccessContent'): active_roles[role] = permission return active_roles