diff --git a/awx/main/access.py b/awx/main/access.py index d8f0dac031..ba545b1952 100644 --- a/awx/main/access.py +++ b/awx/main/access.py @@ -711,10 +711,12 @@ class UserAccess(BaseAccess): return False if settings.ANSIBLE_BASE_ROLE_SYSTEM_ACTIVATED: target_perms = set( - RoleEvaluation.objects.filter(**RoleEvaluation._actor_role_filter(obj)).values_list('object_id', 'content_type_id', 'codename').distinct() + RoleEvaluation.objects.filter(role_id__in=RoleEvaluation.actor_role_ids(obj)) + .values_list('object_id', 'content_type_id', 'codename') + .distinct() ) user_perms = set( - RoleEvaluation.objects.filter(**RoleEvaluation._actor_role_filter(self.user)) + RoleEvaluation.objects.filter(role_id__in=RoleEvaluation.actor_role_ids(self.user)) .values_list('object_id', 'content_type_id', 'codename') .distinct() ) diff --git a/awx/main/models/unified_jobs.py b/awx/main/models/unified_jobs.py index 3fd0fb1e94..a29e408af3 100644 --- a/awx/main/models/unified_jobs.py +++ b/awx/main/models/unified_jobs.py @@ -234,7 +234,7 @@ class UnifiedJobTemplate(PolymorphicModel, CommonModelNameNotUnique, ExecutionEn return ( RoleEvaluation.objects.filter( - **RoleEvaluation._actor_role_filter(accessor), + role_id__in=RoleEvaluation.actor_role_ids(accessor), codename__in=all_codenames, content_type_id__in=[ct.id for ct in dab_role_cts], )