{% extends "layout/base.html" %} {% block content %}

Job details

Customer
{{ job.customer.name if job.customer else "" }}
Backup
{{ job.backup_software }}
Type
{{ job.backup_type }}
Job name
{{ job.job_name }}
Tickets
{{ ticket_open_count }} open / {{ ticket_total_count }} total
Remarks
{{ remark_open_count }} open / {{ remark_total_count }} total
First backup detected
{% if first_detected_run_at %} {{ first_detected_run_at|local_datetime }} {% else %} Not detected yet {% endif %}
Schedule (effective)
{% if effective_schedule_source == 'manual' %} Manual override {% elif effective_schedule_source == 'inferred_weekly' %} Inferred (weekly) {% elif effective_schedule_source == 'inferred_monthly' %} Inferred (monthly) {% else %} No schedule {% endif %}
{{ schedule_desc }}
{% if effective_weekly_schedule_map and (effective_weekly_schedule_map[0] or effective_weekly_schedule_map[1] or effective_weekly_schedule_map[2] or effective_weekly_schedule_map[3] or effective_weekly_schedule_map[4] or effective_weekly_schedule_map[5] or effective_weekly_schedule_map[6]) %}
Effective schedule
DayTimes (15 min blocks)
Mon{{ ', '.join(effective_weekly_schedule_map[0]) if effective_weekly_schedule_map[0] else '—' }}
Tue{{ ', '.join(effective_weekly_schedule_map[1]) if effective_weekly_schedule_map[1] else '—' }}
Wed{{ ', '.join(effective_weekly_schedule_map[2]) if effective_weekly_schedule_map[2] else '—' }}
Thu{{ ', '.join(effective_weekly_schedule_map[3]) if effective_weekly_schedule_map[3] else '—' }}
Fri{{ ', '.join(effective_weekly_schedule_map[4]) if effective_weekly_schedule_map[4] else '—' }}
Sat{{ ', '.join(effective_weekly_schedule_map[5]) if effective_weekly_schedule_map[5] else '—' }}
Sun{{ ', '.join(effective_weekly_schedule_map[6]) if effective_weekly_schedule_map[6] else '—' }}
{% endif %} {% if effective_monthly_schedule %}
Effective monthly
Day {{ effective_monthly_schedule.day_of_month }} at {{ ', '.join(effective_monthly_schedule.times or []) }}
{% endif %} {% if schedule_map %}
Schedule (inferred)
DayTimes (15 min blocks)
Mon{{ ', '.join(schedule_map[0]) if schedule_map[0] else '—' }}
Tue{{ ', '.join(schedule_map[1]) if schedule_map[1] else '—' }}
Wed{{ ', '.join(schedule_map[2]) if schedule_map[2] else '—' }}
Thu{{ ', '.join(schedule_map[3]) if schedule_map[3] else '—' }}
Fri{{ ', '.join(schedule_map[4]) if schedule_map[4] else '—' }}
Sat{{ ', '.join(schedule_map[5]) if schedule_map[5] else '—' }}
Sun{{ ', '.join(schedule_map[6]) if schedule_map[6] else '—' }}
{% endif %}
{% if can_manage_jobs %}
Schedule Override
{% set selected_weekdays = ((job.schedule_days_of_week or '').split(',')) %} {% for idx, label in [(0, 'Mon'), (1, 'Tue'), (2, 'Wed'), (3, 'Thu'), (4, 'Fri'), (5, 'Sat'), (6, 'Sun')] %}
{% endfor %}
Manual schedule override is leading for Expected/Missed and missed-run generation.
{% endif %} {% if cove_enabled and can_manage_jobs %}
Cove Integration
{% if job.cove_account_id %} {% endif %}
{% if job.cove_account_id %} Linked to Cove account {{ job.cove_account_id }} {% else %} Not linked to a Cove account – runs will not be imported automatically. {% endif %}
{% endif %}

Job history

{% if active_role == 'admin' %} {% endif %} {% if history_rows %} {% for r in history_rows %} {% set _s = (r.status or "")|lower %} {% set _is_override = (r.override_applied is defined and r.override_applied) or ('override' in _s) %} {% set _dot = '' %} {% if _is_override %}{% set _dot = 'dot-override' %} {% elif _s == 'success' %}{% set _dot = 'dot-success' %} {% elif _s == 'warning' %}{% set _dot = 'dot-warning' %} {% elif _s == 'error' %}{% set _dot = 'dot-failed' %} {% elif _s == 'failed' %}{% set _dot = 'dot-failed' %} {% elif _s == 'missed' %}{% set _dot = 'dot-missed' %} {% endif %} {% if active_role == 'admin' %} {% endif %} {% endfor %} {% else %} {% endif %}
Day run Run time Status Tickets Remarks OverrideReviewed by Reviewed at
{{ r.run_day }} {{ r.run_at|local_datetime }}{% if _dot %}{% endif %}{{ r.status }} {% if r.ticket_codes %}🎫 {{ r.ticket_codes|join(", ") }}{% endif %} {% if r.has_remark %}💬{% endif %} {% if r.override_applied %}Override{% endif %}{{ r.reviewed_by }} {{ r.reviewed_at|local_datetime }}
No runs found.
{% if total_pages > 1 %}
{% if has_prev %} Previous {% else %} {% endif %} {% if has_next %} Next {% else %} {% endif %}
Page {{ page }} of {{ total_pages }}
{% endif %} {% endblock %}