{% extends "base.html" %} {% load static %} {% load issues %} {% load humanize %} {% load stricter_templates %} {% load add_to_qs %} {% load i18n %} {% block title %}{{ issue.title }} ยท {{ block.super }}{% endblock %} {% block content %}
{% csrf_token %} {% if issue.is_resolved %}{# i.e. buttons disabled #} {# see issues/tests.py for why this is turned off ATM #} {# #} {% spaceless %}{# needed to avoid whitespace between the looks-like-one-buttons #} {% if issue.project.has_releases %} {# we just hide the whole dropdown; this is the easiest implementation of not-showing the dropdown #} {% else %} {% endif %} {% endspaceless %} {% else %}{# not resolved, i.e. buttons enabled #} {% spaceless %}{# needed to avoid whitespace between the looks-like-one-buttons #} {% if issue.project.has_releases %} {# 'by next' is shown even if 'by current' is also shown: just because you haven't seen 'by current' doesn't mean it's actually already solved; and in fact we show this option first precisely because we can always show it #} {% else %} {% endif %} {% endspaceless %} {% endif %}{# end of the resolved/not-resolved branch; (which implies disabled/enabled) #} {% spaceless %}{# needed to avoid whitespace between the looks-like-one-buttons #} {% if not issue.is_muted and not issue.is_resolved %} {% else %} {% endif %} {% if issue.is_muted and not issue.is_resolved %} {% else %} {% endif %} {% endspaceless %}
{# top, RHS (buttons) #}

{{ issue.calculated_type }}

{{ issue.calculated_value }}
{% if request_repr %}
{{ request_repr }}
{% endif %}
{% if issue.last_frame_module %}{{ issue.last_frame_module}}{% else %}{{ issue.last_frame_filename }}{% endif %}{% if issue.last_frame_function %} in {{ issue.last_frame_function }}{% endif %}
{# top, LHS (various texts) #}
{# overflow-x-auto is needed at the level of the flex item such that it works at the level where we need it (the code listings)#}
{# 96rem is 1536px, which matches the 2xl class; this is no "must" but eyeballing revealed: good result #}
{% block tab_content %} {% endblock %}
{% if is_event_page %}
{% blocktranslate with digest_order=event.digest_order|intcomma total_events=issue.digested_event_count|intcomma ingested_at=event.ingested_at|date:"j M G:i T" %}Event {{ digest_order }} of {{ total_events }} which occured at {{ ingested_at }}{% endblocktranslate %}
{% endif %}
{% if is_event_page %} {% translate "Download" %} | {% translate "JSON" %} | {% translate "Plain" %} {% endif %} {% if app_settings.USE_ADMIN and user.is_staff %} {% if is_event_page %} | {% translate "Event Admin" %} | {% endif %} {% translate "Issue Admin" %} {% endif %}
{# bottom nav bar #}
{# the whole of the big tabbed view #} {% if tab != "tags" and issue.tags_summary %}
{% translate "Issue Tags" %}
{% for issuetags in issue.tags_summary %}
{{ issuetags.0.key.key }}:
{% for issuetag in issuetags %} {{ issuetag.value.value }} ({{ issuetag.pct }}%){% if not forloop.last %},{% endif %} {% endfor %}
{% endfor %}
{% endif %}
{# RHS container #} {% endblock %}{# block content #}