{% extends "partials/layout.html" %} {% set singular = "%d package request found." %} {% set plural = "%d package requests found." %} {% block pageContent %}

{{ "Requests" | tr }}

{{ "Total Statistics" | tr }}

{{ "Total" | tr }}: {{ total_requests }}
{{ "Pending" | tr }}: {{ pending_requests }}
{{ "Closed" | tr }}: {{ closed_requests }}
{{ "Accepted" | tr }}: {{ accepted_requests }}
{{ "Rejected" | tr }}: {{ rejected_requests }}

{{ "Filters" | tr }}

{{ "Select filter criteria" | tr }}

{% if not total %}

{{ "No requests matched your search criteria." | tr }}

{% else %} {% include "partials/pager.html" %} {% for result in results %} {% if result.PackageBase %} {# If the PackageBase still exists, link to it. #} {% else %} {# Otherwise, just display PackageBaseName unlinked. #} {% endif %} {# Type #} {# Comments #} {% set idle_time = config_getint("options", "request_idle_time") %} {% set time_delta = (utcnow - result.RequestTS) | int %} {% set due = result.Status == 0 and time_delta > idle_time %} {% endfor %}
{{ "Package" | tr }} {{ "Type" | tr }} {{ "Comments" | tr }} {{ "Filed by" | tr }} {{ "Date" | tr }} {{ "Status" | tr }}
{{ result.PackageBaseName }} {{ result.PackageBaseName }} {{ result.RequestType.name_display() | tr }} {# If the RequestType is a merge and request.MergeBaseName is valid... #} {% if result.RequestType.ID == 3 and result.MergeBaseName %} ({{ result.MergeBaseName }}) {% endif %} {{ result.Comments }} {# Filed by #} {# If the record has an associated User, display a link to that user. #} {# Otherwise, display nothing (an empty column). #} {% if result.User %} {{ result.User.Username }}   {% endif %} (PRQ#{{ result.ID }}) {# Date #} {{ datetime_display(result.RequestTS) }} {# Status #} {% if result.Status == 0 %} {% set temp_q = { "next": "/requests" } %} {% if result.RequestType.ID == 1 %} {% set action = "delete" %} {% elif result.RequestType.ID == 2 %} {% set action = "disown" %} {% elif result.RequestType.ID == 3 %} {% set action = "merge" %} {# Add the 'via' url query parameter. #} {% set temp_q = temp_q | extend_query( ["into", result.MergeBaseName] ) %} {% endif %} {% if request.user.is_elevated() and not result.ClosedTS %} {# If RequestType is an orphan and it's not yet due, it's locked to allow the maintainer time to react to such a request. On request, orphans are locked for two weeks. #} {% if result.RequestType.ID == 2 and not due %} {% set time_left = idle_time - time_delta %} {% if time_left > 48 * 3600 %} {% set n = round(time_left / (24 * 3600)) %} {% set time_left_fmt = (n | tn("~%d day left", "~%d days left") | format(n)) %} {% elif time_left > 3600 %} {% set n = round(time_left / 3600) %} {% set time_left_fmt = (n | tn("~%d hour left", "~%d hours left") | format(n)) %} {% else %} {% set time_left_fmt = ("<1 hour left" | tr) %} {% endif %} {{ "Locked" | tr }} ({{ time_left_fmt }}) {% else %} {# Only elevated users (PM or Dev) are allowed to accept requests. #} {{ "Accept" | tr }} {% endif %}
{% endif %} {% if not result.ClosedTS %} {{ "Close" | tr }} {% endif %} {% else %} {{ result.status_display() }} {% endif %}
{% include "partials/pager.html" %} {% endif %}
{% endblock %}