From 2a58605727860f7fdae6316c7d09911a4730fa3b Mon Sep 17 00:00:00 2001 From: Ryan Petrello Date: Thu, 25 Feb 2021 15:47:59 -0500 Subject: [PATCH] some more events view cleanup --- awx/api/views/__init__.py | 27 +++++++++------------------ awx/api/views/inventory.py | 8 ++++++++ 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/awx/api/views/__init__.py b/awx/api/views/__init__.py index e7784a81d8..506c439544 100644 --- a/awx/api/views/__init__.py +++ b/awx/api/views/__init__.py @@ -888,12 +888,9 @@ class ProjectUpdateEventsList(SubListAPIView): return super(ProjectUpdateEventsList, self).finalize_response(request, response, *args, **kwargs) def get_queryset(self): - job = self.get_parent_object() - self.check_parent_access(job) - qs = super(ProjectUpdateEventsList, self).get_queryset() - return qs.filter( - job_created__in=(job.created, EPOCH) - ).order_by('start_line').all() + return super(ProjectUpdateEventsList, self).get_queryset().filter( + job_created__in=(self.get_parent_object().created, EPOCH) + ) class SystemJobEventsList(SubListAPIView): @@ -909,12 +906,9 @@ class SystemJobEventsList(SubListAPIView): return super(SystemJobEventsList, self).finalize_response(request, response, *args, **kwargs) def get_queryset(self): - job = self.get_parent_object() - self.check_parent_access(job) - qs = job.system_job_events.select_related('host').filter( - job_created__in=(job.created, EPOCH) - ).order_by('start_line') - return qs.all() + return super(SystemJobEventsList, self).get_queryset().filter( + job_created__in=(self.get_parent_object().created, EPOCH) + ) class ProjectUpdateCancel(RetrieveAPIView): @@ -4016,12 +4010,9 @@ class BaseAdHocCommandEventsList(NoTruncateMixin, SubListAPIView): search_fields = ('stdout',) def get_queryset(self): - job = self.get_parent_object() - self.check_parent_access(job) - qs = job.ad_hoc_command_events.select_related('host').filter( - job_created__in=(job.created, EPOCH) - ).order_by('start_line') - return qs.all() + return super(BaseAdHocCommandEventsList, self).get_queryset().filter( + job_created__in=(self.get_parent_object().created, EPOCH) + ) class HostAdHocCommandEventsList(BaseAdHocCommandEventsList): diff --git a/awx/api/views/inventory.py b/awx/api/views/inventory.py index f494833927..a812f757d0 100644 --- a/awx/api/views/inventory.py +++ b/awx/api/views/inventory.py @@ -2,6 +2,7 @@ # All Rights Reserved. # Python +import datetime import logging # Django @@ -40,6 +41,8 @@ from awx.api.views.mixin import RelatedJobsPreventDeleteMixin, ControlledByScmMi logger = logging.getLogger('awx.api.views.organization') +EPOCH = datetime.datetime.utcfromtimestamp(0) + class InventoryUpdateEventsList(SubListAPIView): @@ -50,6 +53,11 @@ class InventoryUpdateEventsList(SubListAPIView): name = _('Inventory Update Events List') search_fields = ('stdout',) + def get_queryset(self): + return super(InventoryUpdateEventsList, self).get_queryset().filter( + job_created__in=(self.get_parent_object().created, EPOCH) + ) + def finalize_response(self, request, response, *args, **kwargs): response['X-UI-Max-Events'] = settings.MAX_UI_JOB_EVENTS return super(InventoryUpdateEventsList, self).finalize_response(request, response, *args, **kwargs)