Skip to content

Commit 5e0632e

Browse files
committed
Regroup the view-feedback view to make it easier to see where to spend review effort. Fixes ietf-tools#1866.
- Legacy-Id: 10592
1 parent 9ddcd62 commit 5e0632e

2 files changed

Lines changed: 58 additions & 27 deletions

File tree

ietf/nomcom/views.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -598,8 +598,23 @@ def view_feedback(request, year):
598598
feedback_types.append(ft)
599599
else:
600600
independent_feedback_types.append(ft)
601-
nominees_feedback = {}
601+
nominees_feedback = []
602+
603+
def nominee_staterank(nominee):
604+
states=nominee.nomineeposition_set.values_list('state_id',flat=True)
605+
if 'accepted' in states:
606+
return 0
607+
elif 'pending' in states:
608+
return 1
609+
else:
610+
return 2
611+
602612
for nominee in nominees:
613+
nominee.staterank = nominee_staterank(nominee)
614+
615+
sorted_nominees = sorted(nominees,key=lambda x:x.staterank)
616+
617+
for nominee in sorted_nominees:
603618
last_seen = FeedbackLastSeen.objects.filter(reviewer=request.user.person,nominee=nominee).first()
604619
nominee_feedback = []
605620
for ft in feedback_types:
@@ -612,7 +627,7 @@ def view_feedback(request, year):
612627
else:
613628
newflag = qs.filter(time__gt=last_seen.time).exists()
614629
nominee_feedback.append( (ft.name,count,newflag) )
615-
nominees_feedback.update({nominee: nominee_feedback})
630+
nominees_feedback.append( {'nominee':nominee, 'feedback':nominee_feedback} )
616631
independent_feedback = [ft.feedback_set.get_by_nomcom(nomcom).count() for ft in independent_feedback_types]
617632

618633
return render_to_response('nomcom/view_feedback.html',

ietf/templates/nomcom/view_feedback.html

Lines changed: 41 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,32 +10,48 @@
1010
{% origin %}
1111
<h2>Feedback related to nominees</h2>
1212

13-
<table class="table table-condensed table-striped">
14-
<thead>
15-
<tr>
16-
<th class="col-sm-9">Nominee</th>
17-
{% for ft in feedback_types %}
18-
<th class="col-sm-1 text-center">{{ ft.name }}</th>
19-
{% endfor %}
20-
</tr>
21-
</thead>
22-
<tbody>
23-
{% for nominee, feedback in nominees_feedback.items %}
24-
<tr>
25-
<td>
26-
<a href="{% url "nomcom_view_feedback_nominee" year nominee.id %}">{{ nominee.name }}</a>
27-
<span class="hidden-xs">&lt;{{nominee.email.address}}&gt;</span>
28-
</td>
29-
{% for f in feedback %}
30-
<td class="text-right">
31-
{% if f.2 %}<span class="label label-success">New</span>{% endif %}
32-
{{ f.1 }}
33-
</td>
13+
{% regroup nominees_feedback by nominee.staterank as stateranked_nominees %}
14+
{% for staterank in stateranked_nominees %}
15+
<div class="panel panel-default">
16+
<div class="panel-heading">
17+
{% if staterank.grouper == 0 %}
18+
Accepted nomination for at least one position
19+
{% elif staterank.grouper == 1 %}
20+
Pending for at least one position and has not accepted any nomination
21+
{% else %}
22+
Declined each nominated position
23+
{% endif %}
24+
</div>
25+
<div class="panel-body">
26+
<table class="table table-condensed table-striped">
27+
<thead>
28+
<tr>
29+
<th class="col-sm-9">Nominee</th>
30+
{% for ft in feedback_types %}
31+
<th class="col-sm-1 text-center">{{ ft.name }}</th>
32+
{% endfor %}
33+
</tr>
34+
</thead>
35+
<tbody>
36+
{% for fb_dict in staterank.list %}
37+
<tr>
38+
<td>
39+
<a href="{% url "nomcom_view_feedback_nominee" year fb_dict.nominee.id %}">{{ fb_dict.nominee.name }}</a>
40+
<span class="hidden-xs">&lt;{{fb_dict.nominee.email.address}}&gt;</span>
41+
</td>
42+
{% for fbtype_name, fbtype_count, fbtype_newflag in fb_dict.feedback %}
43+
<td class="text-right">
44+
{% if fbtype_newflag %}<span class="label label-success">New</span>{% endif %}
45+
{{ fbtype_count }}
46+
</td>
47+
{% endfor %}
48+
</tr>
3449
{% endfor %}
35-
</tr>
36-
{% endfor %}
37-
</tbody>
38-
</table>
50+
</tbody>
51+
</table>
52+
</div>
53+
</div>
54+
{% endfor %}
3955

4056
{% if independent_feedback_types %}
4157
<h2>Feedback not related to Nominees</h2>

0 commit comments

Comments
 (0)