diff --git a/ietf/nomcom/urls.py b/ietf/nomcom/urls.py index 10b1a29377..a3b0c42d3c 100644 --- a/ietf/nomcom/urls.py +++ b/ietf/nomcom/urls.py @@ -22,8 +22,8 @@ url(r'^(?P\d{4})/private/view-feedback/nominee/(?P\d+)$', views.view_feedback_nominee), url(r'^(?P\d{4})/private/view-feedback/topic/(?P\d+)$', views.view_feedback_topic), url(r'^(?P\d{4})/private/edit/nominee/(?P\d+)$', views.edit_nominee), - url(r'^(?P\d{4})/private/merge-nominee/?$', views.private_merge_nominee), - url(r'^(?P\d{4})/private/merge-person/?$', views.private_merge_person), + url(r'^(?P\d{4})/private/merge-nominee/$', views.private_merge_nominee), + url(r'^(?P\d{4})/private/merge-person/$', views.private_merge_person), url(r'^(?P\d{4})/private/send-reminder-mail/(?P\w+)/$', views.send_reminder_mail), url(r'^(?P\d{4})/private/extract-email-lists/$', views.extract_email_lists), url(r'^(?P\d{4})/private/edit-members/$', views.edit_members), diff --git a/ietf/nomcom/views.py b/ietf/nomcom/views.py index 6bd85dad81..180e68a598 100644 --- a/ietf/nomcom/views.py +++ b/ietf/nomcom/views.py @@ -77,7 +77,6 @@ def year_index(request, year): return render(request, 'nomcom/year_index.html', {'nomcom': nomcom, 'year': year, - 'selected': 'index', 'template': template}) def announcements(request): @@ -182,8 +181,7 @@ def private_key(request, year): {'nomcom': nomcom, 'year': year, 'back_url': back_url, - 'form': form, - 'selected': 'private_key'}) + 'form': form}) @role_required("Nomcom") @@ -280,7 +278,6 @@ def private_index(request, year): 'positions': positions, 'selected_state': selected_state, 'selected_position': selected_position and int(selected_position) or None, - 'selected': 'index', 'is_chair': is_chair, 'mailto': mailto, }) @@ -305,13 +302,11 @@ def send_reminder_mail(request, year, type): interesting_state = 'pending' mail_path = nomcom_template_path + NOMINEE_ACCEPT_REMINDER_TEMPLATE reminder_description = 'accept (or decline) a nomination' - selected_tab = 'send_accept_reminder' state_description = NomineePositionStateName.objects.get(slug=interesting_state).name elif type=='questionnaire': interesting_state = 'accepted' mail_path = nomcom_template_path + NOMINEE_QUESTIONNAIRE_REMINDER_TEMPLATE reminder_description = 'complete the questionnaire for a nominated position' - selected_tab = 'send_questionnaire_reminder' state_description = NomineePositionStateName.objects.get(slug=interesting_state).name+' but no questionnaire has been received' else: raise Http404 @@ -346,7 +341,6 @@ def send_reminder_mail(request, year, type): 'year': year, 'nominees': annotated_nominees, 'mail_template': mail_template, - 'selected': selected_tab, 'reminder_description': reminder_description, 'state_description': state_description, 'is_chair_task' : True, @@ -373,7 +367,6 @@ def private_merge_person(request, year): {'nomcom': nomcom, 'year': year, 'form': form, - 'selected': 'merge_person', 'is_chair_task' : True, }) @@ -398,7 +391,6 @@ def private_merge_nominee(request, year): {'nomcom': nomcom, 'year': year, 'form': form, - 'selected': 'merge_nominee', 'is_chair_task' : True, }) @@ -408,8 +400,7 @@ def requirements(request, year): return render(request, 'nomcom/requirements.html', {'nomcom': nomcom, 'positions': positions, - 'year': year, - 'selected': 'requirements'}) + 'year': year}) def questionnaires(request, year): @@ -418,8 +409,7 @@ def questionnaires(request, year): return render(request, 'nomcom/questionnaires.html', {'nomcom': nomcom, 'positions': positions, - 'year': year, - 'selected': 'questionnaires'}) + 'year': year}) @login_required @@ -453,15 +443,13 @@ def nominate(request, year, public, newperson): messages.warning(request, "This Nomcom is not yet accepting nominations") return render(request, template, {'nomcom': nomcom, - 'year': year, - 'selected': 'nominate'}) + 'year': year}) if nomcom.group.state_id == 'conclude': messages.warning(request, "Nominations to this Nomcom are closed.") return render(request, template, {'nomcom': nomcom, - 'year': year, - 'selected': 'nominate'}) + 'year': year}) if request.method == 'POST': if newperson: @@ -485,8 +473,7 @@ def nominate(request, year, public, newperson): {'form': form, 'nomcom': nomcom, 'year': year, - 'positions': nomcom.position_set.filter(is_open=True), - 'selected': 'nominate'}) + 'positions': nomcom.position_set.filter(is_open=True)}) @login_required def public_feedback(request, year): @@ -550,7 +537,6 @@ def feedback(request, year, public): return render(request, 'nomcom/feedback.html', { 'nomcom': nomcom, 'year': year, - 'selected': 'feedback', 'counts' : counts, 'base_template': base_template }) @@ -561,7 +547,6 @@ def feedback(request, year, public): 'form': None, 'nomcom': nomcom, 'year': year, - 'selected': 'feedback', 'positions': positions, 'topics': topics, 'counts' : counts, @@ -575,7 +560,6 @@ def feedback(request, year, public): 'form': None, 'nomcom': nomcom, 'year': year, - 'selected': 'feedback', 'positions': positions, 'topics': topics, 'counts' : counts, @@ -622,7 +606,6 @@ def feedback(request, year, public): 'year': year, 'positions': positions, 'topics': topics, - 'selected': 'feedback', 'counts': counts, 'topic_counts': topic_counts, 'base_template': base_template @@ -648,7 +631,6 @@ def private_feedback_email(request, year): return render(request, template, {'nomcom': nomcom, 'year': year, - 'selected': 'feedback_email', 'is_chair_task' : True, }) @@ -668,8 +650,7 @@ def private_feedback_email(request, year): return render(request, template, {'form': form, 'nomcom': nomcom, - 'year': year, - 'selected': 'feedback_email'}) + 'year': year}) @role_required("Nomcom Chair", "Nomcom Advisor") def private_questionnaire(request, year): @@ -691,7 +672,6 @@ def private_questionnaire(request, year): return render(request, template, {'nomcom': nomcom, 'year': year, - 'selected': 'questionnaire', 'is_chair_task' : True, }) @@ -710,8 +690,7 @@ def private_questionnaire(request, year): {'form': form, 'questionnaire_response': questionnaire_response, 'nomcom': nomcom, - 'year': year, - 'selected': 'questionnaire'}) + 'year': year}) def process_nomination_status(request, year, nominee_position_id, state, date, hash): @@ -765,7 +744,6 @@ def process_nomination_status(request, year, nominee_position_id, state, date, h 'nominee_position': nominee_position, 'state': state, 'need_confirmation': need_confirmation, - 'selected': 'feedback', 'form': form }) @role_required("Nomcom") @@ -830,7 +808,6 @@ def nominee_staterank(nominee): return render(request, 'nomcom/view_feedback.html', {'year': year, - 'selected': 'view_feedback', 'nominees': nominees, 'nominee_feedback_types': nominee_feedback_types, 'independent_feedback_types': independent_feedback_types, @@ -927,7 +904,6 @@ def view_feedback_pending(request, year): form.set_nomcom(nomcom, request.user) return render(request, 'nomcom/view_feedback_pending.html', {'year': year, - 'selected': 'feedback_pending', 'formset': formset, 'extra_step': extra_step, 'extra_ids': extra_ids, @@ -1090,7 +1066,6 @@ def edit_nominee(request, year, nominee_id): return render(request, 'nomcom/edit_nominee.html', {'year': year, - 'selected': 'index', 'nominee': nominee, 'form': form, 'nomcom': nomcom, @@ -1128,7 +1103,6 @@ def edit_nomcom(request, year): 'formset': formset, 'nomcom': nomcom, 'year': year, - 'selected': 'edit_nomcom', 'is_chair_task' : True, }) @@ -1142,7 +1116,6 @@ def list_templates(request, year): return render(request, 'nomcom/list_templates.html', {'template_list': template_list, 'year': year, - 'selected': 'edit_templates', 'nomcom': nomcom, 'is_chair_task' : True, }) @@ -1215,7 +1188,6 @@ def list_positions(request, year): return render(request, 'nomcom/list_positions.html', {'positions': positions, 'year': year, - 'selected': 'edit_positions', 'nomcom': nomcom, 'is_chair_task' : True, }) @@ -1282,7 +1254,6 @@ def list_topics(request, year): return render(request, 'nomcom/list_topics.html', {'topics': topics, 'year': year, - 'selected': 'edit_topics', 'nomcom': nomcom, 'is_chair_task' : True, }) @@ -1364,8 +1335,7 @@ def edit_members(request, year): return render(request, 'nomcom/new_edit_members.html', {'nomcom' : nomcom, 'year' : year, - 'form': form, - }) + 'form': form}) @role_required("Nomcom Chair", "Nomcom Advisor") def extract_email_lists(request, year): @@ -1385,8 +1355,7 @@ def extract_email_lists(request, year): 'pending': pending, 'accepted': accepted, 'noresp': noresp, - 'bypos': bypos, - }) + 'bypos': bypos}) @login_required def volunteer(request): diff --git a/ietf/static/js/ietf.js b/ietf/static/js/ietf.js index 7f7e924153..215d80553c 100644 --- a/ietf/static/js/ietf.js +++ b/ietf/static/js/ietf.js @@ -57,7 +57,7 @@ $(document) var text = $(this) .text(); // insert some at strategic places - var newtext = text.replace(/([@._])/g, "$1"); + var newtext = text.replace(/([@._+])/g, "$1"); if (newtext === text) { return; } diff --git a/ietf/templates/nomcom/nomcom_private_base.html b/ietf/templates/nomcom/nomcom_private_base.html index 7f78299154..b92102e7ff 100644 --- a/ietf/templates/nomcom/nomcom_private_base.html +++ b/ietf/templates/nomcom/nomcom_private_base.html @@ -9,6 +9,7 @@ {% endblock %} {% block content %} {% origin %} + {% with selected=request.path|split:'/'|slice:'4:-1'|join:'-' %}

NomCom {{ year }} {% if nomcom.group.state_id == 'conclude' %}Concluded{% endif %} @@ -19,127 +20,137 @@

{% block nomcom_content %}{% endblock %} + {% endwith %} {% endblock %} {% block js %} -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/ietf/templates/nomcom/volunteers.html b/ietf/templates/nomcom/volunteers.html index 764a055b1b..8fc1e41e98 100644 --- a/ietf/templates/nomcom/volunteers.html +++ b/ietf/templates/nomcom/volunteers.html @@ -1,7 +1,7 @@ {% extends public|yesno:"nomcom/nomcom_public_base.html,nomcom/nomcom_private_base.html" %} {# Copyright The IETF Trust 2021, All Rights Reserved #} {% load origin %} -{% load django_bootstrap5 textfilters person_filters %} +{% load django_bootstrap5 textfilters person_filters ietf_filters%} {% load static %} {% block subtitle %}- Volunteers{% endblock %} {% block pagehead %} @@ -34,7 +34,7 @@

{{ eligibility_group.grouper|yesno:"Eligible, Not Eligible" }}< {% for v in eligibility_group.list %} {{ forloop.counter }} - {{ v.person.last_name }} + {{ v.person.last_name|split:'+'|join:'+' }} {{ v.person.first_name }} {{ v.person.ascii_name }} {% person_link v.person %}