Skip to content

Commit 2197259

Browse files
committed
Reorganized the tab navigation on the nomcom private pages. Made it more obvious when the chair is doing something that only the chair gets to see. Fixes ietf-tools#1788 and ietf-tools#1795.
- Legacy-Id: 10505
1 parent 00e5762 commit 2197259

3 files changed

Lines changed: 61 additions & 20 deletions

File tree

ietf/nomcom/templatetags/nomcom_tags.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
from ietf.utils.pipe import pipe
99
from ietf.utils.log import log
10-
from ietf.ietfauth.utils import has_role
1110
from ietf.doc.templatetags.ietf_filters import wrap_text
1211

1312
from ietf.person.models import Person
@@ -19,13 +18,11 @@
1918

2019

2120
@register.filter
22-
def is_chair(user, year):
21+
def is_chair_or_advisor(user, year):
2322
if not user or not year:
2423
return False
2524
nomcom = get_nomcom_by_year(year=year)
26-
if has_role(user, "Secretariat"):
27-
return True
28-
return nomcom.group.has_role(user, "chair")
25+
return nomcom.group.has_role(user, ["chair","advisor"])
2926

3027

3128
@register.filter

ietf/nomcom/views.py

Lines changed: 37 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,9 @@ def send_reminder_mail(request, year, type):
249249
'selected': selected_tab,
250250
'reminder_description': reminder_description,
251251
'state_description': state_description,
252-
'message': message}, RequestContext(request))
252+
'message': message,
253+
'is_chair_task' : True,
254+
}, RequestContext(request))
253255

254256

255257
@role_required("Nomcom Chair", "Nomcom Advisor")
@@ -269,7 +271,9 @@ def private_merge(request, year):
269271
'year': year,
270272
'form': form,
271273
'message': message,
272-
'selected': 'merge'}, RequestContext(request))
274+
'selected': 'merge',
275+
'is_chair_task' : True,
276+
}, RequestContext(request))
273277

274278

275279
def requirements(request, year):
@@ -414,7 +418,9 @@ def private_feedback_email(request, year):
414418
{'message': message,
415419
'nomcom': nomcom,
416420
'year': year,
417-
'selected': 'feedback_email'}, RequestContext(request))
421+
'selected': 'feedback_email',
422+
'is_chair_task' : True,
423+
}, RequestContext(request))
418424

419425
form = FeedbackEmailForm(nomcom=nomcom)
420426

@@ -448,7 +454,9 @@ def private_questionnaire(request, year):
448454
{'message': message,
449455
'nomcom': nomcom,
450456
'year': year,
451-
'selected': 'questionnaire'}, RequestContext(request))
457+
'selected': 'questionnaire',
458+
'is_chair_task' : True,
459+
}, RequestContext(request))
452460

453461
if request.method == 'POST':
454462
form = QuestionnaireForm(data=request.POST,
@@ -649,7 +657,9 @@ def view_feedback_pending(request, year):
649657
'type_dict': type_dict,
650658
'extra_ids': extra_ids,
651659
'types': FeedbackTypeName.objects.all().order_by('pk'),
652-
'nomcom': nomcom}, RequestContext(request))
660+
'nomcom': nomcom,
661+
'is_chair_task' : True,
662+
}, RequestContext(request))
653663

654664

655665
@role_required("Nomcom")
@@ -704,7 +714,9 @@ def edit_nominee(request, year, nominee_id):
704714
'nominee': nominee,
705715
'form': form,
706716
'message': message,
707-
'nomcom': nomcom}, RequestContext(request))
717+
'nomcom': nomcom,
718+
'is_chair_task' : True,
719+
}, RequestContext(request))
708720

709721

710722
@role_required("Nomcom Chair", "Nomcom Advisor")
@@ -739,7 +751,9 @@ def edit_nomcom(request, year):
739751
'nomcom': nomcom,
740752
'message': message,
741753
'year': year,
742-
'selected': 'edit_nomcom'}, RequestContext(request))
754+
'selected': 'edit_nomcom',
755+
'is_chair_task' : True,
756+
}, RequestContext(request))
743757

744758

745759
@role_required("Nomcom Chair", "Nomcom Advisor")
@@ -755,6 +769,7 @@ def delete_nomcom(request, year):
755769
'year': year,
756770
'selected': 'edit_nomcom',
757771
'nomcom': nomcom,
772+
'is_chair_task' : True,
758773
})
759774

760775

@@ -769,7 +784,9 @@ def list_templates(request, year):
769784
'positions': positions,
770785
'year': year,
771786
'selected': 'edit_templates',
772-
'nomcom': nomcom}, RequestContext(request))
787+
'nomcom': nomcom,
788+
'is_chair_task' : True,
789+
}, RequestContext(request))
773790

774791

775792
@role_required("Nomcom Chair", "Nomcom Advisor")
@@ -782,7 +799,9 @@ def edit_template(request, year, template_id):
782799
formclass=NomComTemplateForm,
783800
extra_context={'year': year,
784801
'return_url': return_url,
785-
'nomcom': nomcom})
802+
'nomcom': nomcom,
803+
'is_chair_task' : True,
804+
})
786805

787806

788807
@role_required("Nomcom Chair", "Nomcom Advisor")
@@ -794,7 +813,9 @@ def list_positions(request, year):
794813
{'positions': positions,
795814
'year': year,
796815
'selected': 'edit_positions',
797-
'nomcom': nomcom}, RequestContext(request))
816+
'nomcom': nomcom,
817+
'is_chair_task' : True,
818+
}, RequestContext(request))
798819

799820

800821
@role_required("Nomcom Chair", "Nomcom Advisor")
@@ -811,7 +832,9 @@ def remove_position(request, year, position_id):
811832
return render_to_response('nomcom/remove_position.html',
812833
{'year': year,
813834
'position': position,
814-
'nomcom': nomcom}, RequestContext(request))
835+
'nomcom': nomcom,
836+
'is_chair_task' : True,
837+
}, RequestContext(request))
815838

816839

817840
@role_required("Nomcom Chair", "Nomcom Advisor")
@@ -837,4 +860,6 @@ def edit_position(request, year, position_id=None):
837860
{'form': form,
838861
'position': position,
839862
'year': year,
840-
'nomcom': nomcom}, RequestContext(request))
863+
'nomcom': nomcom,
864+
'is_chair_task' : True,
865+
}, RequestContext(request))

ietf/templates/nomcom/nomcom_private_base.html

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,39 @@
99
{% block content %}
1010
{% origin %}
1111

12-
<h1>NomCom {{ year }} <small>Private area</small></h1>
12+
<h1>NomCom {{ year }} <small>Private area {% if is_chair_task %}- Chair/Advisors only{% endif %}</small></h1>
1313

1414
<ul class="nav nav-tabs" role="tablist">
1515
<li {% if selected == "index" %}class="active"{% endif %}><a href="{% url "nomcom_private_index" year %}">Nominees</a></li>
1616

1717
{% if nomcom|has_publickey %}
1818
<li {% if selected == "nominate" %}class="active"{% endif %}><a href="{% url "nomcom_private_nominate" year %}">Nominate</a></li>
1919
<li {% if selected == "feedback" %}class="active"{% endif %}><a href="{% url "nomcom_private_feedback" year %}">Enter feedback</a></li>
20-
<li {% if selected == "questionnaire" %}class="active"{% endif %}><a href="{% url "nomcom_private_questionnaire" year %}">Questionnaire response</a></li>
2120
{% endif %}
2221

2322
<li {% if selected == "view_feedback" %}class="active"{% endif %}><a href="{% url "nomcom_view_feedback" year %}">View feedback</a></li>
2423
<li {% if selected == "private_key" %}class="active"{% endif %}><a href="{% url "nomcom_private_key" year %}">Private key</a></li>
2524

26-
{% if user|is_chair:year %}
25+
{% if user|is_chair_or_advisor:year %}
26+
<li class="dropdown">
27+
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Chair/Advisor Tasks <span class="caret"></span></a>
28+
<ul class="dropdown-menu" role="menu">
29+
<li role = "presentation" class = "dropdown-header">Feedback Management</li>
30+
<li {% if selected == "feedback_pending" %}class="active"{% endif %}><a href="{% url "nomcom_view_feedback_pending" year %}">Classify pending feedback</a></li>
31+
<li {% if selected == "feedback_email" %}class="active"{% endif %}><a href="{% url "nomcom_private_feedback_email" year %}">Enter email feedback</a></li>
32+
<li {% if selected == "questionnaire" %}class="active"{% endif %}><a href="{% url "nomcom_private_questionnaire" year %}">Enter questionnaire response</a></li>
33+
<li {% if selected == "send_accept_reminder" %}class="active"{% endif %}><a href="{% url "nomcom_send_reminder_mail" year "accept" %}">Send accept reminder</a></li>
34+
<li {% if selected == "send_questionnaire_reminder" %}class="active"{% endif %}><a href="{% url "nomcom_send_reminder_mail" year "questionnaire" %}">Send questionnaire reminder</a></li>
35+
<li {% if selected == "merge" %}class="active"{% endif %}><a href="{% url "nomcom_private_merge" year %}">Merge Email Addresses</a></li>
36+
<li role = "presentation" class = "dropdown-header">Nomcom Configuration</li>
37+
<li {% if selected == "edit_nomcom" %}class="active"{% endif %}><a href="{% url "nomcom_edit_nomcom" year %}">Edit Settings</a></li>
38+
<li {% if selected == "edit_templates" %}class="active"{% endif %}><a href="{% url "nomcom_list_templates" year %}">Edit Pages</a></li>
39+
<li {% if selected == "edit_positions" %}class="active"{% endif %}><a href="{% url "nomcom_list_positions" year %}">Edit Positions</a></li>
40+
<li {% if selected == "edit_members" %}class="active"{% endif %}><a href="{% url "nomcom_edit_members" year %}">Edit Members</a></li>
41+
</ul>
42+
</li>
43+
44+
{% comment %}
2745
<li class="dropdown">
2846
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Chair <span class="caret"></span></a>
2947
<ul class="dropdown-menu" role="menu">
@@ -44,6 +62,7 @@ <h1>NomCom {{ year }} <small>Private area</small></h1>
4462
<li {% if selected == "edit_members" %}class="active"{% endif %}><a href="{% url "nomcom_edit_members" year %}">Edit Nomcom Members</a></li>
4563
</ul>
4664
</li>
65+
{% endcomment %}
4766
{% endif %}
4867
</ul>
4968

0 commit comments

Comments
 (0)