diff --git a/core/__pycache__/views.cpython-311.pyc b/core/__pycache__/views.cpython-311.pyc index 16832d8..a3c02c1 100644 Binary files a/core/__pycache__/views.cpython-311.pyc and b/core/__pycache__/views.cpython-311.pyc differ diff --git a/core/templates/core/dashboard.html b/core/templates/core/dashboard.html index cea194e..6207ced 100644 --- a/core/templates/core/dashboard.html +++ b/core/templates/core/dashboard.html @@ -224,12 +224,13 @@
Jobs by Status
diff --git a/core/views.py b/core/views.py index de75828..86b22f1 100644 --- a/core/views.py +++ b/core/views.py @@ -162,11 +162,14 @@ def dashboard(request): 'missing_count': missing_count, 'folder_id': folder.id }) + # Calculate status breakdown for jobs with no client + no_client_jobs_by_status = jobs_no_client.values('status__name').annotate(count=Count('id')).order_by('status__name') client_stats.append({ 'client_name': "No Client Assigned", 'total_jobs': no_client_total_jobs, 'incomplete_jobs': no_client_incomplete_jobs, - 'incomplete_folder_breakdown': no_client_incomplete_folder_breakdown + 'incomplete_folder_breakdown': no_client_incomplete_folder_breakdown, + 'client_jobs_by_status': no_client_jobs_by_status }) for client in clients: @@ -188,12 +191,14 @@ def dashboard(request): 'missing_count': missing_count, 'folder_id': folder.id }) - + # Calculate status breakdown for the current client's jobs + client_jobs_by_status = client_jobs.values('status__name').annotate(count=Count('id')).order_by('status__name') client_stats.append({ 'client_name': client.name, 'total_jobs': total_client_jobs, 'incomplete_jobs': client_incomplete_jobs, - 'incomplete_folder_breakdown': client_incomplete_folder_breakdown + 'incomplete_folder_breakdown': client_incomplete_folder_breakdown, + 'client_jobs_by_status': client_jobs_by_status }) @@ -831,4 +836,4 @@ def user_delete(request, pk): user_to_delete.delete() messages.success(request, f"User {username} deleted.") - return redirect('user_list') + return redirect('user_list') \ No newline at end of file