{% from "leeuwenhoek/_macros.html" import time_ago, traceback, resolve_button with context %} {% macro head() %}ClassMessageFamilyWhen{% endmacro %} {#- `resolved` (family hash -> resolve time) is only set by the Exceptions listing and its rows endpoint, which then also show the Resolve / Reopen buttons. #} {% macro row(e) %} {% set families = resolved if resolved is defined else none %} {% set resolved_at = families.get(e.family_hash) if families is not none and e.family_hash else none %} {{ e.content['class'].split('.')[-1] }} {%- if resolved_at %} resolved{% endif %} {{ e.content.message | lw_truncate(90) }} {% if e.family_hash %}view occurrences {%- if families is not none %} {{ resolve_button(e.family_hash, resolved_at, small=true) }}{% endif %}{% endif %} {{ time_ago(e.created_at) }} {% endmacro %} {% macro summary(e) %}{{ e.content['class'].split('.')[-1] }} {{ e.content.message | lw_truncate(100) }}{% endmacro %} {% macro detail(e) %} {% set c = e.content %}

{{ c['class'] }}

{{ c.message }}

{{ c.file }}:{{ c.line }} {% if e.family_hash %} ยท other occurrences{% endif %}

{% if e.family_hash and resolved_at is defined %}
{%- if resolved_at %}Resolved {{ time_ago(resolved_at) }}{% endif %} {{ resolve_button(e.family_hash, resolved_at) }}
{% endif %} {{ traceback(c.frames, c.traceback) }} {% endmacro %}