{% extends "base.html" %} {% block title %}Dashboard — BackupWatch{% endblock %} {% block main_class %}dash{% endblock %} {% block content %} {% set names = {'missed':'missed','failed':'failed','warning':'warning','success':'successful','nodata':'no-data'} %} {% set qs = (('&q=' ~ q|urlencode) if q else '') ~ (('&vendor=' ~ vendor) if vendor else '') %} {% macro dots(r) %}{% for d in r.dots %}{% if staff and d.id %}{% else %}{% endif %}{% endfor %}{% endmacro %} {% macro sorth(key, label) %}{% set nd = 'desc' if (sort == key and sdir == 'asc') else 'asc' %}{{ label }}{% if sort == key %} {{ '▲' if sdir == 'asc' else '▼' }}{% endif %}{% endmacro %}
TRIAGE BY STATUS

Dashboard

Triage All jobs
{% if only %}{% endif %} {% if view == 'list' %}{% endif %}
{% for t in tile_specs %} {% set sel = (only == t.key) %}
{{ counts[t.key] }}
{% if t.p1 %}
P1
{% endif %}
{{ t.label }}
{% endfor %}
{% if vendor %} {{ vendor_labels[vendor] }} jobs only. All vendors {% endif %} {% if only %} Showing {{ names[only] }} jobs only. Show every status {% else %} {{ issue_count }} of {{ total }} monitored jobs need a decision. Work top to bottom. {% endif %} {% if silenced_count %}· {{ silenced_count }} silenced (off-dashboard){% endif %} UPDATED JUST NOW
{% if view == 'list' %}
← NEWEST{{ sorth('client','CLIENT') }}{{ sorth('job','BACKUP JOB') }}{{ sorth('status','STATUS') }}{{ sorth('stamp','LAST SEEN') }}
{% for r in all_rows %}
{{ dots(r) }} {{ r.client }} {{ r.job }}{% if r.platform %} {{ r.platform }}{% endif %} {{ group_map[r.group].name }} {{ r.stamp|dt if r.stamp else '—' }}
{% else %}
No active jobs yet. Add a client and jobs to begin.
{% endfor %}
{% else %} {% for g in group_specs %} {% if (only == g.key) or (not only and counts[g.key] > 0) %} {% set rows = groups[g.key] %}
{{ g.ord }} {{ g.name }} {{ counts[g.key] }} {{ g.definition }} HIDESHOW
{% if g.col6 %}
← NEWEST{{ sorth('client','CLIENT') }}{{ sorth('job','BACKUP JOB') }}{{ sorth('stamp', g.col6) }}
{% endif %} {% for r in rows %}
{% if g.key in ['missed','failed','warning'] %}{% else %}{% endif %} {{ dots(r) }} {{ r.client }} {{ r.job }}{% if r.platform %} {{ r.platform }}{% endif %} {{ r.stamp|dt if r.stamp else '—' }} {% if g.action in ['investigate','viewlog','review'] %}
{% endif %} {% if g.action == 'investigate' %}Investigate {% elif g.action == 'viewlog' %}View log {% elif g.action == 'review' %}Review {% elif g.action == 'checksetup' %}Check setup {% endif %}
{% else %} {% if g.empty %}
{{ g.empty }}
{% endif %} {% endfor %}
{% endif %} {% endfor %} {% if total == 0 %}
No active jobs yet. Add a client and jobs to begin.
{% endif %} {% endif %}
{% if staff %}
0 SELECTED
{% endif %} {% endblock %}