forked from adamlaska/datatracker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathreviewer_overview.html
More file actions
141 lines (141 loc) · 7.25 KB
/
reviewer_overview.html
File metadata and controls
141 lines (141 loc) · 7.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
{% extends "group/group_base.html" %}
{# Copyright The IETF Trust 2015-2020, All Rights Reserved #}
{% load origin %}
{% origin %}
{% load ietf_filters static django_bootstrap5 person_filters %}
{% block group_subtitle %}Reviewers{% endblock %}
{% block group_content %}
{% origin %}
{% block pagehead %}
<link rel="stylesheet" href="{% static "ietf/css/list.css" %}">
{% endblock %}
{% if can_access_stats %}
<div class="float-end">
<a href="{% url "ietf.stats.views.review_stats" stats_type="completion" acronym=group.acronym %}"
class="icon-link">
<i class="bi bi-bar-chart-line"></i>
</a>
</div>
{% endif %}
<h2 class="mt-3">Reviewers</h2>
<p>
Status of the reviewers in {{ group.acronym }}, ordered by their
rotation with the next reviewer in the rotation at the top. Rows with darker backgrounds have the following meaning:
</p>
<div class="reviewer-overview">
<p class="alert alert-secondary my-3">
Has already been assigned a document within the given interval.
</p>
<p class="alert alert-warning my-3">
Will be skipped the next time at the top of rotation.
</p>
<p class="alert alert-danger my-3">
Is not available to do reviews at this time.
</p>
</div>
{% if can_reset_next_reviewer %}
<div>
<a href="{% url 'ietf.group.views.reset_next_reviewer' acronym=group.acronym %}"
class="btn btn-primary"
id="reset_next_reviewer">
Reset head of queue
</a>
</div>
{% endif %}
{% if reviewers %}
<table class="table reviewer-overview tablesorter">
<thead>
<tr>
<th data-sort="num">Next</th>
<th data-sort="reviewer">Reviewer</th>
<th data-sort="assigned">Recent history</th>
<th data-sort="num">Days since completed</th>
<th data-sort="settings">Settings</th>
</tr>
</thead>
<tbody>
{% for person in reviewers %}
<tr {% if person.completely_unavailable %}class="table-danger" title="Is not available to do reviews at this time." {% elif person.busy %}class="table-secondary" title="Has already been assigned a document within the given interval." {% elif person.settings.skip_next %}class="table-warning" title="Will be skipped the next time at the top of rotation." {% endif %}>
<td>{{ forloop.counter }}</td>
<td>
{% person_link person %}
{% if person.settings_url %}
<a href="{{ person.settings_url }}" class="btn btn-primary btn-small float-end"
title="{{ person.settings.expertise }}">Edit
</a>
{% endif %}
</td>
<td>
{% if person.latest_reqs %}
<table class="table table-sm table-borderless">
<thead>
<tr>
<th>Assigned</th>
<th>Deadline</th>
<th>State</th>
<th>Review time</th>
<th>Document</th>
</tr>
</thead>
{% for assn_pk, req_pk, doc_name, reviewed_rev, assigned_time, deadline, state, assignment_to_closure_days in person.latest_reqs %}
<tr>
<td>
<span style="display:none">X</span>{{ assigned_time|date }}
</td>
<td>
<a href="{% url 'ietf.doc.views_review.review_request' name=doc_name request_id=req_pk %}">{{ deadline|date }}</a>
</td>
<td>
<span class="badge bg-{% if state.slug == 'completed' or state.slug == 'part-completed' %}success{% elif state.slug == 'no-response' %}danger{% elif state.slug == 'overtaken' %}warning{% elif state.slug == 'requested' or state.slug == 'accepted' %}primary{% else %}secondary{% endif %}">{{ state.name }}</span>
</td>
<td>
{% if assignment_to_closure_days != None %}
{{ assignment_to_closure_days }} day{{ assignment_to_closure_days|pluralize }}
{% endif %}
</td>
<td>
{{ doc_name }}
{% if reviewed_rev %}-{{ reviewed_rev }}{% endif %}
</td>
</tr>
{% endfor %}
</table>
{% endif %}
</td>
<td>
{% if person.days_since_completed_review != 9999 %}
{{ person.days_since_completed_review }}
{% else %}
<span style="display:none">9999</span>
</td>
{% endif %}
<td>
{% if person.settings.min_interval %}
<b>{{ person.settings.get_min_interval_display }}</b>
<br>
{% endif %}
{% if person.settings.skip_next %}
<b>Skip:</b> {{ person.settings.skip_next }}
<br>
{% endif %}
{% if person.settings.filter_re %}
<b>Filter:</b> <code title="{{ person.settings.filter_re }}">{{ person.settings.filter_re|truncatechars:15 }}</code>
<br>
{% endif %}
{% if person.unavailable_periods %}
{% include "review/unavailable_table.html" with unavailable_periods=person.unavailable_periods %}
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p>
No reviewers found.
</p>
{% endif %}
{% endblock %}
{% block js %}
<script src="{% static "ietf/js/list.js" %}"></script>
{% endblock %}