diff --git a/app/main/views/activity.py b/app/main/views/activity.py index 43f51dfa7..0021f4a84 100644 --- a/app/main/views/activity.py +++ b/app/main/views/activity.py @@ -57,7 +57,7 @@ def all_jobs_activity(service_id): if limit_days: jobs = job_api_client.get_page_of_jobs( - service_id, page=page, limit_days=limit_days + service_id, page=page, limit_days=limit_days, use_processing_time=True ) else: jobs = job_api_client.get_page_of_jobs(service_id, page=page) @@ -109,8 +109,13 @@ def all_jobs_activity(service_id): def handle_pagination(jobs, service_id, page): if page is None: abort(404, "Invalid page argument ({}).".format(request.args.get("page"))) + + url_args = {} + if request.args.get("filter"): + url_args["filter"] = request.args.get("filter") + prev_page = ( - generate_previous_dict("main.all_jobs_activity", service_id, page) + generate_previous_dict("main.all_jobs_activity", service_id, page, url_args) if page > 1 else None ) @@ -119,7 +124,7 @@ def handle_pagination(jobs, service_id, page): total_pages = (total_items + page_size - 1) // page_size has_next_link = jobs.get("links", {}).get("next") is not None next_page = ( - generate_next_dict("main.all_jobs_activity", service_id, page) + generate_next_dict("main.all_jobs_activity", service_id, page, url_args) if has_next_link and total_items > 50 and page < total_pages else None ) diff --git a/app/notify_client/job_api_client.py b/app/notify_client/job_api_client.py index 0e04cfc74..9de84f0d4 100644 --- a/app/notify_client/job_api_client.py +++ b/app/notify_client/job_api_client.py @@ -32,12 +32,14 @@ class JobApiClient(NotifyAdminAPIClient): return job - def get_jobs(self, service_id, *, limit_days=None, statuses=None, page=1): + def get_jobs(self, service_id, *, limit_days=None, statuses=None, page=1, use_processing_time=False): params = {"page": page} if limit_days is not None: params["limit_days"] = limit_days if statuses is not None: params["statuses"] = ",".join(statuses) + if use_processing_time: + params["use_processing_time"] = "true" job = self.get(url=f"/service/{service_id}/job", params=params) return job @@ -61,12 +63,13 @@ class JobApiClient(NotifyAdminAPIClient): if job["job_status"] != JobStatus.CANCELLED ) - def get_page_of_jobs(self, service_id, *, page, statuses=None, limit_days=None): + def get_page_of_jobs(self, service_id, *, page, statuses=None, limit_days=None, use_processing_time=False): return self.get_jobs( service_id, statuses=statuses or self.NON_SCHEDULED_JOB_STATUSES, page=page, limit_days=limit_days, + use_processing_time=use_processing_time, ) def get_immediate_jobs(self, service_id): diff --git a/app/templates/views/activity/all-activity.html b/app/templates/views/activity/all-activity.html index 2a3daac97..edbaf5f04 100644 --- a/app/templates/views/activity/all-activity.html +++ b/app/templates/views/activity/all-activity.html @@ -30,7 +30,7 @@ {% else %}