{% extends "base.html" %} {% block title %}{{ bracket.name }} — POPS{% endblock %} {% block content %} {% set total = bracket.jobs | length %} {% set done = bracket.jobs | selectattr('status.value', 'equalto', 'done') | list | length %} {% set printing = bracket.jobs | selectattr('status.value', 'equalto', 'printing') | list | length %} {% set pct = (done / total * 100) | int if total else 0 %}
{{ bracket.name }}
{% if bracket.customer %}{{ bracket.customer }}{% endif %}
{# ── Progress ── #} {% if total %}
{{ done }} done · {{ printing }} printing · {{ total - done - printing }} queued {{ pct }}%
{% endif %} {# ── Jobs table ── #}
{% if bracket.jobs %} {% for j in bracket.jobs %} {% endfor %}
UUID File Material Printer Status Created
{{ j.job_uuid[:8] if j.job_uuid else '—' }} {{ j.file_name or j.name }} {% if j.filament %}{{ j.filament.material.value }}{% if j.filament.color %} · {{ j.filament.color }}{% endif %}{% else %}—{% endif %} {{ j.printer.name if j.printer else '—' }} {% set s = j.status.value %} {% if s == 'printing' %}printing {% elif s == 'done' %}done {% elif s == 'failed' %}failed {% elif s == 'cancelled' %}cancelled {% else %}queued {% endif %} {{ j.created_at.strftime('%d.%m %H:%M') }}
{% else %}
No jobs in this bracket yet.
{% endif %}
{# ── Add Jobs Modal ── #} {% endblock %}