Update querysets for remaining job event views

- search should use job creation date
  so that only the table partition with the relevant job events
  is searched
This commit is contained in:
Jim Ladd 2021-02-24 10:57:34 -08:00
parent acfa1c4d1d
commit 2c529f50af

View File

@ -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):