diff --git a/ietf/nomcom/urls.py b/ietf/nomcom/urls.py index 10b1a2937..a3b0c42d3 100644 --- a/ietf/nomcom/urls.py +++ b/ietf/nomcom/urls.py @@ -22,8 +22,8 @@ urlpatterns = [ 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 637e91b12..71f76679c 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") @@ -283,7 +281,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, }) @@ -308,13 +305,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 @@ -349,7 +344,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, @@ -376,7 +370,6 @@ def private_merge_person(request, year): {'nomcom': nomcom, 'year': year, 'form': form, - 'selected': 'merge_person', 'is_chair_task' : True, }) @@ -401,7 +394,6 @@ def private_merge_nominee(request, year): {'nomcom': nomcom, 'year': year, 'form': form, - 'selected': 'merge_nominee', 'is_chair_task' : True, }) @@ -411,8 +403,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): @@ -421,8 +412,7 @@ def questionnaires(request, year): return render(request, 'nomcom/questionnaires.html', {'nomcom': nomcom, 'positions': positions, - 'year': year, - 'selected': 'questionnaires'}) + 'year': year}) @login_required @@ -456,15 +446,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: @@ -488,8 +476,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): @@ -553,7 +540,6 @@ def feedback(request, year, public): return render(request, 'nomcom/feedback.html', { 'nomcom': nomcom, 'year': year, - 'selected': 'feedback', 'counts' : counts, 'base_template': base_template }) @@ -564,7 +550,6 @@ def feedback(request, year, public): 'form': None, 'nomcom': nomcom, 'year': year, - 'selected': 'feedback', 'positions': positions, 'topics': topics, 'counts' : counts, @@ -578,7 +563,6 @@ def feedback(request, year, public): 'form': None, 'nomcom': nomcom, 'year': year, - 'selected': 'feedback', 'positions': positions, 'topics': topics, 'counts' : counts, @@ -625,7 +609,6 @@ def feedback(request, year, public): 'year': year, 'positions': positions, 'topics': topics, - 'selected': 'feedback', 'counts': counts, 'topic_counts': topic_counts, 'base_template': base_template @@ -651,7 +634,6 @@ def private_feedback_email(request, year): return render(request, template, {'nomcom': nomcom, 'year': year, - 'selected': 'feedback_email', 'is_chair_task' : True, }) @@ -671,8 +653,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): @@ -694,7 +675,6 @@ def private_questionnaire(request, year): return render(request, template, {'nomcom': nomcom, 'year': year, - 'selected': 'questionnaire', 'is_chair_task' : True, }) @@ -713,8 +693,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): @@ -768,7 +747,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") @@ -833,7 +811,6 @@ def view_feedback(request, year): 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, @@ -930,7 +907,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, @@ -1093,7 +1069,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, @@ -1131,7 +1106,6 @@ def edit_nomcom(request, year): 'formset': formset, 'nomcom': nomcom, 'year': year, - 'selected': 'edit_nomcom', 'is_chair_task' : True, }) @@ -1145,7 +1119,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, }) @@ -1218,7 +1191,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, }) @@ -1285,7 +1257,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, }) @@ -1367,8 +1338,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): @@ -1388,8 +1358,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 7f7e92415..215d80553 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 7f7829915..b92102e7f 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 764a055b1..8fc1e41e9 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 @@ {% 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 %}