Merge pull request #1203 from GSA/1189-bug-norfolk-batches-table-repeats-one-batch

Bugfix: Recent Batches table repeats #1189
This commit is contained in:
Carlo Costino
2024-02-20 10:34:12 -05:00
committed by GitHub
4 changed files with 108 additions and 82 deletions

View File

@@ -1,4 +1,5 @@
import calendar
from collections import defaultdict
from datetime import datetime
from functools import partial
from itertools import groupby
@@ -47,31 +48,38 @@ def service_dashboard(service_id):
if not current_user.has_permissions("view_activity"):
return redirect(url_for("main.choose_template", service_id=service_id))
notifications = notification_api_client.get_notifications_for_service(
service_id=service_id,
)["notifications"]
job_response = job_api_client.get_jobs(service_id)
job_response = job_api_client.get_jobs(service_id)["data"]
notifications_response = notification_api_client.get_notifications_for_service(service_id)["notifications"]
service_data_retention_days = 7
jobs = [
aggregate_notifications_by_job = defaultdict(list)
for notification in notifications_response:
job_id = notification.get("job", {}).get("id", None)
if job_id:
aggregate_notifications_by_job[job_id].append(notification)
job_and_notifications = [
{
"job_id": job["id"],
"time_left": get_time_left(job["created_at"]),
"download_link": url_for(
".view_job_csv", service_id=current_service.id, job_id=job["id"]
),
"view_job_link": url_for(
".view_job", service_id=current_service.id, job_id=job["id"]
),
"created_at": job["created_at"],
"notification_count": job["notification_count"],
"created_by": job["created_by"],
"notifications": aggregate_notifications_by_job.get(job["id"], []),
}
for job in job_response["data"]
for job in job_response
]
return render_template(
"views/dashboard/dashboard.html",
updates_url=url_for(".service_dashboard_updates", service_id=service_id),
partials=get_dashboard_partials(service_id),
notifications=notifications,
jobs=jobs,
job_and_notifications=job_and_notifications,
service_data_retention_days=service_data_retention_days,
)