{% extends "base.html" %} {% load static add_to_qs %} {% load humanize %} {% load add_to_qs %} {% block title %}Issues · {{ project.name }} · {{ site_title }}{% endblock %} {% block content %}

{{ project.name }} - Issues

{% if unapplied_issue_ids %}
The chosen action is not applicable to all selected issues. Issues for which it has not been applied have been left with checkboxes checked so that you can try again with another action.
{% endif %}
{% csrf_token %} {# I briefly considered hiding this thead 'if not issue_list' but it actually looks worse; instead, we just hide that one checkbox #} {% for issue in page_obj %} {% empty %} {% endfor %}
{% if issue_list %}{% endif %}
{% if disable_resolve_buttons %} {# see issues/tests.py for why this is turned off ATM #} {# #} {% spaceless %}{# needed to avoid whitespace between the looks-like-one-buttons #} {% if project.has_releases %} {# we just hide the whole dropdown; this is the easiest implementation of not-showing the dropdown #} {% else %} {% endif %} {% endspaceless %} {% else %}{# i.e. resolve buttons enabled #} {% spaceless %}{# needed to avoid whitespace between the looks-like-one-buttons #} {% if 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 disabled/enabled branch #} {% spaceless %}{# needed to avoid whitespace between the looks-like-one-buttons #} {% if not disable_mute_buttons %} {% else %} {% endif %} {% if not disable_unmute_buttons %} {% else %} {% endif %} {% endspaceless %} {# NOTE: "reopen" is not available in the UI as per the notes in issue_detail #} {# only for resolved/muted items #}
from {{ issue.first_seen|date:"j M G:i T" }} | last {{ issue.last_seen|date:"j M G:i T" }} | with {{ issue.digested_event_count|intcomma }} events {% if issue.digested_event_count != issue.stored_event_count %} ({{ issue.stored_event_count|intcomma }} av{#ilable#}) {% endif %} {% if issue.transaction %}| {{ issue.transaction }} {% endif %}
{% if q %}{# a single text is the catch-all for searching w/o results; 'seems enough' because one would generally only search after already having seen some issues (or not), i.e. having seen the relevant message as per below #} No {{ state_filter }} issues found for "{{ q }}" {% else %} {% if state_filter == "open" %} Congratulations! You have no open issues. {% if project.digested_event_count == 0 %} This might mean you have not yet set up your SDK. {% endif %} {% else %} No {{ state_filter }} issues found. {% endif %} {% endif %}
{# the 'footer' of the page, with the page navigation and the project-related icons #}
{# pagination #} {% if page_obj.has_previous %} {% else %} {% endif %} {% if page_obj.paginator.num_pages > 1 %} Issues {{ page_obj.start_index|intcomma }}–{{ page_obj.end_index|intcomma }} of {{ page_obj.paginator.count|intcomma }} {% elif page_obj.paginator.count > 0 %} {{ page_obj.paginator.count|intcomma }} Issues {% endif %} {% if page_obj.has_next %} {% else %} {% endif %}
{# the div with a few project-related icons (pjt-members, pjt-settings, my settings, dsn) on the lower RHS #} {% if not app_settings.SINGLE_USER %}{% if member.is_admin or request.user.is_superuser %} {% endif %}{% endif %} {% if member.is_admin or request.user.is_superuser %} {% endif %} {# member-existance is implied if you can see this page #} {# member-existance is implied if you can see this page #}
{# end of the div with a few project-related icons (pjt-members, pjt-settings, my settings, dsn) on the lower RHS #}
{# 'footer' (containing the icons as well as the pagination) #}
{% endblock %} {% block extra_js %} {% endblock %}