{% extends "base.html" %} {% block title %}Issues Aging{% endblock %} {% block content %} {# ── Sub-nav ── #} {% include 'reports/_subnav.html' %}

Issues Aging

All currently open issues grouped by how long they have been waiting.

Export Excel
{# ── Filters ── #}
{% if projects %}
{% endif %}
Clear
{% if projects %} {% endif %} {# ── KPI row ── #}
Total Open
{{ total }}
unresolved issues
SLA Breached
{{ sla_breached }}
past resolution deadline
SLA At Risk
{{ sla_at_risk }}
approaching deadline
{# ── Bucket accordions ── #}
{% for label in bucket_labels %} {% set bucket = buckets[label] %} {% set bucket_id = 'bucket-' ~ loop.index %} {% set is_danger = label in ['>4 weeks', '1–4 weeks'] %} {% set is_warning = label == '3–7 days' %}

{% if bucket %}
{% for item in bucket %} {% set issue = item.issue %} {% set sla = item.sla %} {% endfor %}
# Age Severity Facility / Area Description Status SLA Assigned
#{{ issue.id }} {{ item.age_h }}h {{ issue.severity|title }} {{ issue.resolved_facility.name if issue.resolved_facility else '—' }}
{{ issue.area.name if issue.area else '—' }}
{{ issue.description[:70] }}{% if issue.description|length > 70 %}…{% endif %} {{ issue.status|replace('_',' ')|title }} {% if sla == 'breached' %}Breached {% elif sla == 'at_risk' %}At Risk {% elif sla == 'ok' %}OK {% else %}{% endif %} {{ issue.assigned_user.display_name if issue.assigned_user else '—' }}
{% else %}
No issues in this age range.
{% endif %}
{% endfor %}
{% if total == 0 %}
No open issues match the selected filters.
{% endif %} {% endblock %}