{# tickets/ticket.html — one ticket: what is wrong and where, what it links to, its log (opened, comments, edits, resolved, reopened), then for operators a comment box and Resolve, or Reopen once resolved. #} {% extends "base.html" %} {% from "_macros.html" import crumbs, page_header, status_badge %} {% block title %}#{{ t.id }} {{ t.title }} — Tickets — Steward{% endblock %} {% block breadcrumb %}{{ crumbs([("Tickets", "/tickets/"), ("#" ~ t.id, "")]) }}{% endblock %} {% block content %} {% set can_edit = session.user_role in ('operator', 'admin') %} {% call page_header("#" ~ t.id ~ " " ~ t.title) %} {% if can_edit %}Edit{% endif %} {% endcall %}

{{ status_badge(t.status) }} {{ area_label }} {%- for h in t.hosts %}{% if loop.first %} · {% endif %}{{ h }}{{ ", " if not loop.last }}{% endfor %} {%- if t.subject %} · {{ t.subject }}{% endif %} · opened by {{ t.opened_by }}, {{ t.opened_at|when }} {%- if t.status == 'resolved' %} · resolved by {{ t.resolved_by }}, {{ t.resolved_at|when }}{% endif %}

{% if error %}{% endif %} {% if t.status == 'resolved' %}

Resolution

{{ t.resolution }}

{% endif %}

What is wrong

{% if t.body %}

{{ t.body }}

{% else %}

No description.

{% endif %} {% if links %}

Linked

{% endif %}

Log ({{ tz_label() }})

{% set said = {"opened": "opened it", "comment": "commented", "edited": "edited", "resolved": "resolved it", "reopened": "reopened it"} %} {% for n in log %} {% endfor %}
{{ n.at|when }} {{ n.actor }} {{ said.get(n.kind, n.kind) }}{% if n.kind == "edited" and n.body %}: {{ n.body }}{% endif %} {%- if n.body and n.kind != "edited" %}
{{ n.body }}
{% endif %}
{% if can_edit %}
{{ csrf_field() }}
{% if t.status == 'open' %} {% else %} {% endif %}
{% endif %}
{% endblock %}