jobs by status breakdown

This commit is contained in:
Flatlogic Bot 2026-01-23 08:41:34 +00:00
parent 36f7290fc7
commit e148cf1df1
3 changed files with 13 additions and 7 deletions

View File

@ -224,12 +224,13 @@
<div class="stat-card"> <div class="stat-card">
<h6 class="mb-3">Jobs by Status</h6> <h6 class="mb-3">Jobs by Status</h6>
<ul class="list-group list-group-flush"> <ul class="list-group list-group-flush">
{% for status in jobs_by_status %} {% for status in client_stat.client_jobs_by_status %}
<li class="list-group-item d-flex justify-content-between align-items-center px-0 py-1"> <li class="list-group-item d-flex justify-content-between align-items-center px-0 py-1">
<span class="badge bg-secondary rounded-pill"></span> {{ status.status__name }}
<span class="badge bg-secondary rounded-pill">{{ status.count }}</span>
</li> </li>
{% empty %} {% empty %}
<li class="list-group-item px-0 py-1">No jobs found.</li> <li class="list-group-item px-0 py-1">No jobs found for this client.</li>
{% endfor %} {% endfor %}
</ul> </ul>
</div> </div>

View File

@ -162,11 +162,14 @@ def dashboard(request):
'missing_count': missing_count, 'missing_count': missing_count,
'folder_id': folder.id '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_stats.append({
'client_name': "No Client Assigned", 'client_name': "No Client Assigned",
'total_jobs': no_client_total_jobs, 'total_jobs': no_client_total_jobs,
'incomplete_jobs': no_client_incomplete_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: for client in clients:
@ -188,12 +191,14 @@ def dashboard(request):
'missing_count': missing_count, 'missing_count': missing_count,
'folder_id': folder.id '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_stats.append({
'client_name': client.name, 'client_name': client.name,
'total_jobs': total_client_jobs, 'total_jobs': total_client_jobs,
'incomplete_jobs': client_incomplete_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
}) })