mirror of
https://github.com/ansible/awx.git
synced 2026-03-09 05:29:26 -02:30
tighten up code for new UJ queryset
This commit is contained in:
@@ -1883,14 +1883,12 @@ class UnifiedJobAccess(BaseAccess):
|
|||||||
qs = self.model.objects.all()
|
qs = self.model.objects.all()
|
||||||
else:
|
else:
|
||||||
inv_pk_qs = Inventory._accessible_pk_qs(Inventory, self.user, 'read_role')
|
inv_pk_qs = Inventory._accessible_pk_qs(Inventory, self.user, 'read_role')
|
||||||
inv_update_qs = InventoryUpdate.objects.filter(inventory_source__inventory__id__in=inv_pk_qs)
|
|
||||||
ad_hoc_command_qs = AdHocCommand.objects.filter(inventory__id__in=inv_pk_qs)
|
|
||||||
org_auditor_qs = Organization.objects.filter(
|
org_auditor_qs = Organization.objects.filter(
|
||||||
Q(admin_role__members=self.user) | Q(auditor_role__members=self.user))
|
Q(admin_role__members=self.user) | Q(auditor_role__members=self.user))
|
||||||
qs = self.model.objects.filter(
|
qs = self.model.objects.filter(
|
||||||
Q(unified_job_template__id__in=UnifiedJobTemplate.accessible_pk_qs(self.user, 'read_role')) |
|
Q(unified_job_template_id__in=UnifiedJobTemplate.accessible_pk_qs(self.user, 'read_role')) |
|
||||||
Q(inventoryupdate__in=inv_update_qs) |
|
Q(inventoryupdate__inventory_source__inventory__id__in=inv_pk_qs) |
|
||||||
Q(adhoccommand__in=ad_hoc_command_qs) |
|
Q(adhoccommand__inventory__id__in=inv_pk_qs) |
|
||||||
Q(job__inventory__organization__in=org_auditor_qs) |
|
Q(job__inventory__organization__in=org_auditor_qs) |
|
||||||
Q(job__project__organization__in=org_auditor_qs)
|
Q(job__project__organization__in=org_auditor_qs)
|
||||||
)
|
)
|
||||||
@@ -1919,9 +1917,6 @@ class UnifiedJobAccess(BaseAccess):
|
|||||||
# 'job_template__credential',
|
# 'job_template__credential',
|
||||||
# 'job_template__cloud_credential',
|
# 'job_template__cloud_credential',
|
||||||
#)
|
#)
|
||||||
# Maybe we can do these, like:
|
|
||||||
# 'projectupdate__project',
|
|
||||||
# 'inventoryupdate__inventory'
|
|
||||||
return qs.all()
|
return qs.all()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -177,8 +177,8 @@ class UnifiedJobTemplate(PolymorphicModel, CommonModelNameNotUnique, Notificatio
|
|||||||
'''
|
'''
|
||||||
ujt_names = [c.__name__.lower() for c in cls.__subclasses__()
|
ujt_names = [c.__name__.lower() for c in cls.__subclasses__()
|
||||||
if c.__name__.lower() not in ['inventorysource', 'systemjobtemplate']]
|
if c.__name__.lower() not in ['inventorysource', 'systemjobtemplate']]
|
||||||
subclass_content_types = ContentType.objects.filter(
|
subclass_content_types = list(ContentType.objects.filter(
|
||||||
model__in=ujt_names).values_list('id', flat=True)
|
model__in=ujt_names).values_list('id', flat=True))
|
||||||
|
|
||||||
return ResourceMixin._accessible_pk_qs(cls, accessor, role_field, content_types=subclass_content_types)
|
return ResourceMixin._accessible_pk_qs(cls, accessor, role_field, content_types=subclass_content_types)
|
||||||
|
|
||||||
|
|||||||
@@ -669,11 +669,11 @@ try:
|
|||||||
job_idx = 0
|
job_idx = 0
|
||||||
for n in spread(n_job_events, n_jobs):
|
for n in spread(n_job_events, n_jobs):
|
||||||
job = jobs[job_idx]
|
job = jobs[job_idx]
|
||||||
|
# Check if job already has events, for idempotence
|
||||||
if not job._is_new:
|
if not job._is_new:
|
||||||
continue
|
continue
|
||||||
sys.stdout.write('\r Creating %d job events for job %d' % (n, job.id))
|
sys.stdout.write('\r Creating %d job events for job %d' % (n, job.id))
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
# Check if job already has events, for idempotence
|
|
||||||
JobEvent.objects.bulk_create([
|
JobEvent.objects.bulk_create([
|
||||||
JobEvent(
|
JobEvent(
|
||||||
created=now(),
|
created=now(),
|
||||||
|
|||||||
Reference in New Issue
Block a user