{% load dlux_tags %} {% for backup in backups %} {% with quiet_for=backup.seconds_since_signal eta=backup.eta_seconds %} {{ backup.created_at|date:'Y-m-d H:i' }} {{ backup.requested_by_username|default:'-' }} {{ backup.get_trigger_display }} {% if backup.is_incremental %} {{ DLUX_STRINGS.sysbackup_incremental_badge|default:'Incremental' }}{% if backup.sequence %} #{{ backup.sequence }}{% endif %} {% elif backup.index_root and backup.status == 'completed' %} {{ DLUX_STRINGS.sysbackup_base_badge|default:'Full' }} {% endif %} {% if not backup.media_included %} {{ DLUX_STRINGS.sysbackup_data_only_badge|default:'Data only' }} {% endif %} {% if not backup.system_data_included %} {{ DLUX_STRINGS.sysbackup_portable_badge|default:'Portable' }} {% endif %} {% if backup.status == 'completed' %}{{ backup.get_status_display }} {% elif backup.status == 'failed' %}{{ backup.get_status_display }} {% elif backup.status == 'cancelled' %}{{ DLUX_STRINGS.sysbackup_status_cancelled|default:'Cancelled' }} {% elif backup.next_attempt_at %}{{ DLUX_STRINGS.sysbackup_status_retrying|default:'Retrying' }} {% elif backup.is_active and quiet_for > backup_stall_warn_seconds %}{{ DLUX_STRINGS.sysbackup_status_no_progress|default:'No progress' }} {% else %}{{ backup.get_status_display }}{% endif %} {% if backup.encryption == 'none' %} {{ DLUX_STRINGS.sysbackup_unencrypted_badge|default:'Not encrypted' }} {% elif backup.passphrase_required %} {{ DLUX_STRINGS.sysbackup_passphrase_badge }} {% endif %} {% if backup.attempt_count > 1 %} {{ DLUX_STRINGS.sysbackup_attempt_short|default:'Try' }} {{ backup.attempt_count }}/{{ backup_policy.max_attempts }} {% endif %} {% if backup.is_active %} {{ backup.progress_percent }}% {% if backup.progress_message %}{{ backup.progress_message }}{% endif %} {{ DLUX_STRINGS.sysbackup_last_signal|default:'Last update' }}: {{ quiet_for }}{{ DLUX_STRINGS.sysbackup_seconds_short|default:'s' }} {% if eta is not None %}{{ DLUX_STRINGS.sysbackup_eta_short|default:'~{duration} left'|dlux_format_duration:eta }}{% endif %} {% if quiet_for > backup_stall_warn_seconds %} · {{ DLUX_STRINGS.sysbackup_stall_warning|default:'No progress reported. It will be marked failed after the stall timeout.' }} ({{ backup_policy.stall_timeout_minutes }}{{ DLUX_STRINGS.sysbackup_minutes_short|default:'m' }}) {% endif %} {% if backup.next_attempt_at %} {{ DLUX_STRINGS.sysbackup_next_attempt|default:'Next attempt' }}: {{ backup.next_attempt_at|date:'H:i' }} {% endif %} {% elif backup.status == 'failed' %} {% if backup.error %}{{ backup.error|truncatechars:120 }}{% endif %} {% elif backup.duration_seconds is not None %} {{ backup.duration_seconds|dlux_duration }} {% endif %} {{ backup.row_count }} {{ backup.file_count }} {{ backup.file_size|filesizeformat }} {% if backup.status == 'completed' %} {% if backup.is_incremental %} {{ DLUX_STRINGS.sysbackup_download_chain|default:'Download chain' }} {% else %} {{ DLUX_STRINGS.sysbackup_download }} {% endif %} {% elif backup.status == 'failed' or backup.status == 'cancelled' %} {% endif %} {% if backup.is_active %}
{% csrf_token %}
{% else %}
{% csrf_token %}
{% endif %} {% endwith %} {% empty %} {% include 'dlux/tables/empty_row.html' with colspan=9 text=DLUX_STRINGS.sysbackup_empty %} {% endfor %}