diff --git a/awx/api/views/__init__.py b/awx/api/views/__init__.py index a94e98ea39..44baa1020a 100644 --- a/awx/api/views/__init__.py +++ b/awx/api/views/__init__.py @@ -883,6 +883,11 @@ class ProjectUpdateEventsList(SubListAPIView): response['X-UI-Max-Events'] = settings.MAX_UI_JOB_EVENTS 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 = job.job_events.select_related('host').filter(job_created=job.created).order_by('start_line') + return qs.all() class SystemJobEventsList(SubListAPIView): @@ -897,6 +902,11 @@ class SystemJobEventsList(SubListAPIView): response['X-UI-Max-Events'] = settings.MAX_UI_JOB_EVENTS 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.job_events.select_related('host').filter(job_created=job.created).order_by('start_line') + return qs.all() class ProjectUpdateCancel(RetrieveAPIView): @@ -3799,7 +3809,7 @@ class HostJobEventsList(BaseJobEventsList): def get_queryset(self): parent_obj = self.get_parent_object() self.check_parent_access(parent_obj) - qs = self.request.user.get_queryset(self.model).filter(host=parent_obj) + qs = self.request.user.get_queryset(self.model).filter(host=parent_obj, job_created=parent_obj.created) return qs @@ -3995,6 +4005,12 @@ class BaseAdHocCommandEventsList(NoTruncateMixin, SubListAPIView): name = _('Ad Hoc Command Events List') search_fields = ('stdout',) + def get_queryset(self): + job = self.get_parent_object() + self.check_parent_access(job) + qs = job.job_events.select_related('host').filter(job_created=job.created).order_by('start_line') + return qs.all() + class HostAdHocCommandEventsList(BaseAdHocCommandEventsList):