Merged in [12665] from rjsparks@nostrum.com:
Make it easier to see who's really next in reviewer rotation.
- Legacy-Id: 12668
Note: SVN reference [12665] has been migrated to Git commit 49dcf67fd5
This commit is contained in:
commit
79dc639f46
|
@ -509,6 +509,10 @@ class Document(DocumentInfo):
|
|||
e = self.latest_event(TelechatDocEvent, type="scheduled_for_telechat")
|
||||
return e.telechat_date if e and e.telechat_date and e.telechat_date >= datetime.date.today() else None
|
||||
|
||||
def past_telechat_date(self):
|
||||
e = self.latest_event(TelechatDocEvent, type="scheduled_for_telechat")
|
||||
return e.telechat_date if e and e.telechat_date and e.telechat_date < datetime.date.today() else None
|
||||
|
||||
def area_acronym(self):
|
||||
g = self.group
|
||||
if g:
|
||||
|
|
|
@ -26,7 +26,9 @@ from ietf.review.utils import (can_manage_review_requests_for_team,
|
|||
reviewer_rotation_list,
|
||||
latest_review_requests_for_reviewers,
|
||||
augment_review_requests_with_events,
|
||||
get_default_filter_re,)
|
||||
get_default_filter_re,
|
||||
days_needed_to_fulfill_min_interval_for_reviewers,
|
||||
)
|
||||
from ietf.doc.models import LastCallDocEvent
|
||||
from ietf.group.models import Role
|
||||
from ietf.group.utils import get_group_or_404, construct_group_menu_context
|
||||
|
@ -142,6 +144,8 @@ def reviewer_overview(request, acronym, group_type=None):
|
|||
req_data_for_reviewers = latest_review_requests_for_reviewers(group)
|
||||
review_state_by_slug = { n.slug: n for n in ReviewRequestStateName.objects.all() }
|
||||
|
||||
days_needed = days_needed_to_fulfill_min_interval_for_reviewers(group)
|
||||
|
||||
for person in reviewers:
|
||||
person.settings = reviewer_settings.get(person.pk) or ReviewerSettings(team=group, person=person)
|
||||
person.settings_url = None
|
||||
|
@ -155,6 +159,8 @@ def reviewer_overview(request, acronym, group_type=None):
|
|||
person.completely_unavailable = any(p.availability == "unavailable"
|
||||
and (p.start_date is None or p.start_date <= today) and (p.end_date is None or today <= p.end_date)
|
||||
for p in person.unavailable_periods)
|
||||
person.busy = person.id in days_needed
|
||||
|
||||
|
||||
MAX_CLOSED_REQS = 10
|
||||
req_data = req_data_for_reviewers.get(person.pk, [])
|
||||
|
|
|
@ -550,7 +550,15 @@ table.simple-table td:last-child {
|
|||
}
|
||||
|
||||
.reviewer-overview .completely-unavailable {
|
||||
opacity: 0.6;
|
||||
background-color: #D8D8D8;
|
||||
}
|
||||
|
||||
.reviewer-overview .skip-next {
|
||||
background-color: #E4E4E4;
|
||||
}
|
||||
|
||||
.reviewer-overview .busy {
|
||||
background-color: #F0F0F0;
|
||||
}
|
||||
|
||||
/* === Statistics =========================================================== */
|
||||
|
|
|
@ -148,6 +148,7 @@
|
|||
|
||||
<span class="close-action">
|
||||
<button type="button" class="btn btn-default btn-danger">Close...</button>
|
||||
{% if r.doc.past_telechat_date %} (was on {{r.doc.past_telechat_date}} telechat) {% endif %}
|
||||
</span>
|
||||
|
||||
<span class="close-controls form-inline">
|
||||
|
|
|
@ -16,7 +16,13 @@
|
|||
<h2>Reviewers</h2>
|
||||
|
||||
<p>Status of the reviewers in {{ group.acronym }}, ordered by their
|
||||
rotation with the next reviewer in the rotation at the top.</p>
|
||||
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="busy">Has already been assigned a document within the given interval.</p>
|
||||
<p class="skip-next">Will be skipped the next time at the top of rotation.</p>
|
||||
<p class="completely-unavailable">Is not available to do reviews at this time.</p>
|
||||
</div>
|
||||
|
||||
{% if reviewers %}
|
||||
<table class="table reviewer-overview">
|
||||
|
@ -29,7 +35,10 @@
|
|||
</thead>
|
||||
<tbody>
|
||||
{% for person in reviewers %}
|
||||
<tr {% if person.completely_unavailable %}class="completely-unavailable"{% endif %}>
|
||||
<tr {% if person.completely_unavailable %}class="completely-unavailable"
|
||||
{% elif person.busy %}class="busy"
|
||||
{% elif person.settings.skip_next %}class="skip-next"
|
||||
{% endif %}>
|
||||
<td>{% if person.settings_url %}<a href="{{ person.settings_url }}">{% endif %}{{ person }}{% if person.settings_url %}</a>{% endif %}</td>
|
||||
<td>
|
||||
<table class="simple-table">
|
||||
|
|
Loading…
Reference in a new issue