{% extends "django_forms_workflows/base.html" %} {% load static %} {% block title %}Analytics Dashboard — {{ site_name }}{% endblock %} {% block extra_css %} {% endblock %} {% block content %}
{# ── Header + Filters ─────────────────────────────────────────────── #}

Analytics Dashboard

{# ── Summary Cards ────────────────────────────────────────────────── #}
{{ total_submissions }}
Total Submissions
{{ pending_count }}
Pending
{{ approved_count }}
Approved
{{ rejected_count }}
Rejected
{{ withdrawn_count }}
Withdrawn
{{ overdue_count }}
Overdue Tasks
{# ── Turnaround Cards ─────────────────────────────────────────────── #}
{{ turnaround.avg }}
Avg Approval Time
{{ turnaround.fastest }}
Fastest Approval
{{ turnaround.slowest }}
Slowest Approval
{# ── Charts Row 1 ─────────────────────────────────────────────────── #}
Submissions Over Time
Status Breakdown
{# ── Charts Row 2 ─────────────────────────────────────────────────── #}
Monthly Volume
{# ── Tables Row ───────────────────────────────────────────────────── #}
{# Bottleneck stages #}
Bottleneck Stages
{% if bottleneck_stages %} {% for s in bottleneck_stages %} {% endfor %}
StageFormPending
{{ s.workflow_stage__name }} {{ s.workflow_stage__workflow__form_definition__name }} {{ s.pending }}
{% else %}

No pending tasks right now 🎉

{% endif %}
{# Stage turnaround #}
Avg Turnaround by Stage
{% if stage_turnaround %} {% for s in stage_turnaround %} {% endfor %}
StageAvg TimeTasks
{{ s.workflow_stage__name }} {{ s.avg_display }} {{ s.task_count }}
{% else %}

No completed tasks yet.

{% endif %}
{# Top approvers #}
Top Approvers
{% if top_approvers %} {% for a in top_approvers %} {% endfor %}
ApproverCompleted
{% if a.completed_by__first_name %} {{ a.completed_by__first_name }} {{ a.completed_by__last_name }} {% else %} {{ a.completed_by__username }} {% endif %} {{ a.completed }}
{% else %}

No approvals completed yet.

{% endif %}
{% endblock %} {% block extra_js %} {% endblock %}