diff --git a/ietf/nomcom/forms.py b/ietf/nomcom/forms.py index 0aee2d491..499aa4e3e 100644 --- a/ietf/nomcom/forms.py +++ b/ietf/nomcom/forms.py @@ -207,62 +207,6 @@ class EditMembersFormPreview(FormPreview): return redirect('nomcom_edit_members', year=self.year) -class EditChairForm(BaseNomcomForm, forms.Form): - - chair = forms.EmailField(label="Chair email", required=False, - widget=forms.TextInput(attrs={'size': '40'})) - - fieldsets = [('Chair info', ('chair',))] - - -class EditChairFormPreview(FormPreview): - form_template = 'nomcom/edit_chair.html' - preview_template = 'nomcom/edit_chair_preview.html' - - @method_decorator(role_required("Secretariat")) - def __call__(self, request, *args, **kwargs): - year = kwargs['year'] - group = get_nomcom_group_or_404(year) - self.state['group'] = group - self.state['rolodex_url'] = ROLODEX_URL - self.group = group - self.year = year - - return super(EditChairFormPreview, self).__call__(request, *args, **kwargs) - - def get_initial(self, request): - chair = self.group.get_chair() - if chair: - return { "chair": chair.email.address } - return {} - - def process_preview(self, request, form, context): - chair_email = form.cleaned_data['chair'] - try: - chair_email_obj = Email.objects.get(address=chair_email) - chair_person = chair_email_obj.person - except Email.DoesNotExist: - chair_person = None - chair_email_obj = None - chair_info = {'email': chair_email, - 'email_obj': chair_email_obj, - 'person': chair_person} - - self.state.update({'chair_info': chair_info}) - - def done(self, request, cleaned_data): - chair_info = self.state['chair_info'] - chair_exclude = self.group.role_set.filter(name__slug='chair').exclude(email__address=chair_info['email']) - chair_exclude.delete() - if chair_info['email_obj'] and chair_info['person']: - Role.objects.get_or_create(name=RoleName.objects.get(slug="chair"), - group=self.group, - person=chair_info['person'], - email=chair_info['email_obj']) - - return redirect('nomcom_edit_chair', year=self.year) - - class EditNomcomForm(BaseNomcomForm, forms.ModelForm): fieldsets = [('Edit nomcom settings', ('public_key', 'initial_text', diff --git a/ietf/nomcom/tests.py b/ietf/nomcom/tests.py index f2ea34db0..db2f89873 100644 --- a/ietf/nomcom/tests.py +++ b/ietf/nomcom/tests.py @@ -22,7 +22,7 @@ from ietf.nomcom.test_data import nomcom_test_data, generate_cert, check_comment from ietf.nomcom.models import NomineePosition, Position, Nominee, \ NomineePositionStateName, Feedback, FeedbackTypeName, \ Nomination -from ietf.nomcom.forms import EditChairForm, EditChairFormPreview, EditMembersForm +from ietf.nomcom.forms import EditMembersForm, EditMembersFormPreview from ietf.nomcom.utils import get_nomcom_by_year, get_or_create_nominee from ietf.nomcom.management.commands.send_reminders import Command, is_time_to_send @@ -54,7 +54,6 @@ class NomcomViewsTest(TestCase): self.private_index_url = reverse('nomcom_private_index', kwargs={'year': self.year}) self.private_merge_url = reverse('nomcom_private_merge', kwargs={'year': self.year}) self.edit_members_url = reverse('nomcom_edit_members', kwargs={'year': self.year}) - self.edit_chair_url = reverse('nomcom_edit_chair', kwargs={'year': self.year}) self.edit_nomcom_url = reverse('nomcom_edit_nomcom', kwargs={'year': self.year}) self.private_nominate_url = reverse('nomcom_private_nominate', kwargs={'year': self.year}) self.add_questionnaire_url = reverse('nomcom_private_questionnaire', kwargs={'year': self.year}) @@ -298,7 +297,7 @@ class NomcomViewsTest(TestCase): # preview self.client.post(self.edit_members_url, test_data) - hash = EditChairFormPreview(EditChairForm).security_hash(None, EditMembersForm(test_data)) + hash = EditMembersFormPreview(EditMembersForm).security_hash(None, EditMembersForm(test_data)) test_data.update({'hash': hash, 'stage': 2}) # submit @@ -323,33 +322,6 @@ class NomcomViewsTest(TestCase): self.check_url_status(self.private_index_url, 403) self.client.logout() - def change_chair(self, user): - test_data = {'chair': '%s%s' % (user, EMAIL_DOMAIN), - 'stage': 1} - # preview - self.client.post(self.edit_chair_url, test_data) - - hash = EditChairFormPreview(EditChairForm).security_hash(None, EditChairForm(test_data)) - test_data.update({'hash': hash, 'stage': 2}) - - # submit - self.client.post(self.edit_chair_url, test_data) - - def test_edit_chair_view(self): - self.access_secretariat_url(self.edit_chair_url) - self.change_chair(COMMUNITY_USER) - - # check chair actions - self.client.login(username=COMMUNITY_USER,password=COMMUNITY_USER+"+password") - self.check_url_status(self.edit_members_url, 200) - self.check_url_status(self.edit_nomcom_url, 200) - self.client.logout() - - # revert edit nomcom chair - login_testing_unauthorized(self, SECRETARIAT_USER, self.edit_chair_url) - self.change_chair(CHAIR_USER) - self.client.logout() - def test_edit_nomcom_view(self): r = self.access_chair_url(self.edit_nomcom_url) q = PyQuery(r.content) diff --git a/ietf/nomcom/urls.py b/ietf/nomcom/urls.py index fc380c580..d50141100 100644 --- a/ietf/nomcom/urls.py +++ b/ietf/nomcom/urls.py @@ -1,8 +1,7 @@ from django.conf.urls import patterns, url from django.views.generic import TemplateView -from ietf.nomcom.forms import ( EditChairForm, EditChairFormPreview, - EditMembersForm, EditMembersFormPreview ) +from ietf.nomcom.forms import EditMembersForm, EditMembersFormPreview urlpatterns = patterns('ietf.nomcom.views', url(r'^$', 'index'), @@ -22,7 +21,6 @@ urlpatterns = patterns('ietf.nomcom.views', # url(r'^(?P\d{4})/private/send-reminder-mail/$', RedirectView.as_view(url=reverse_lazy('nomcom_send_reminder_mail',kwargs={'year':year,'type':'accept'}))), url(r'^(?P\d{4})/private/send-reminder-mail/(?P\w+)/$', 'send_reminder_mail', name='nomcom_send_reminder_mail'), url(r'^(?P\d{4})/private/edit-members/$', EditMembersFormPreview(EditMembersForm), name='nomcom_edit_members'), - url(r'^(?P\d{4})/private/edit-chair/$', EditChairFormPreview(EditChairForm), name='nomcom_edit_chair'), url(r'^(?P\d{4})/private/edit-nomcom/$', 'edit_nomcom', name='nomcom_edit_nomcom'), url(r'^(?P\d{4})/private/delete-nomcom/$', 'delete_nomcom', name='nomcom_delete_nomcom'), url(r'^deleted/$', TemplateView.as_view(template_name='nomcom/deleted.html'), name='nomcom_deleted'), diff --git a/ietf/nomcom/views.py b/ietf/nomcom/views.py index 86bfbed5b..a451d1410 100644 --- a/ietf/nomcom/views.py +++ b/ietf/nomcom/views.py @@ -361,17 +361,19 @@ def feedback(request, year, public): positions = Position.objects.get_by_nomcom(nomcom=nomcom).opened() if public: - template = 'nomcom/public_feedback.html' + base_template = "nomcom/nomcom_public_base.html" else: - template = 'nomcom/private_feedback.html' + base_template = "nomcom/nomcom_private_base.html" if not has_publickey: message = ('warning', "This Nomcom is not yet accepting comments") - return render_to_response(template, - {'message': message, - 'nomcom': nomcom, - 'year': year, - 'selected': 'feedback'}, RequestContext(request)) + return render(request, 'nomcom/feedback.html', { + 'message': message, + 'nomcom': nomcom, + 'year': year, + 'selected': 'feedback', + 'base_template': base_template + }) message = None if request.method == 'POST': @@ -385,14 +387,16 @@ def feedback(request, year, public): form = FeedbackForm(nomcom=nomcom, user=request.user, public=public, position=position, nominee=nominee) - return render_to_response(template, - {'form': form, - 'message': message, - 'nomcom': nomcom, - 'year': year, - 'positions': positions, - 'submit_disabled': submit_disabled, - 'selected': 'feedback'}, RequestContext(request)) + return render(request, 'nomcom/feedback.html', { + 'form': form, + 'message': message, + 'nomcom': nomcom, + 'year': year, + 'positions': positions, + 'submit_disabled': submit_disabled, + 'selected': 'feedback', + 'base_template': base_template + }) @role_required("Nomcom Chair", "Nomcom Advisor") diff --git a/ietf/templates/nomcom/deleted.html b/ietf/templates/nomcom/deleted.html index d36b1f382..2f88273a8 100644 --- a/ietf/templates/nomcom/deleted.html +++ b/ietf/templates/nomcom/deleted.html @@ -1,6 +1,9 @@ -{% extends "nomcom/nomcom_base.html" %} +{% extends "ietf.html" %} + +{% block title %}NomCom deleted{% endblock %} {% block content %} +

NomCom deleted

All data about the NomCom has been removed.

diff --git a/ietf/templates/nomcom/edit_chair.html b/ietf/templates/nomcom/edit_chair.html deleted file mode 100644 index 99c1b3f32..000000000 --- a/ietf/templates/nomcom/edit_chair.html +++ /dev/null @@ -1,18 +0,0 @@ -{% extends "base.html" %} - -{% block title %}Edit {{ state.group.acronym }} chair{% endblock %} - -{% block content %} -

Edit {{ state.group.acronym }} chair

- -{% if form.errors %}
Please correct the following errors
{% endif %} - -
{% csrf_token %} - -{{ form }} -
- -

-
- -{% endblock %} diff --git a/ietf/templates/nomcom/edit_chair_preview.html b/ietf/templates/nomcom/edit_chair_preview.html deleted file mode 100644 index 4fb7b8a55..000000000 --- a/ietf/templates/nomcom/edit_chair_preview.html +++ /dev/null @@ -1,44 +0,0 @@ -{% extends "base.html" %} - -{% block title %}Edit {{ state.group.acronym }} chair{% endblock %} - -{% block content %} -

Edit {{ state.group.acronym }} chair

- -

Chair info

-

-{% if state.chair_info.person %} -

    -
  • Email: {{ state.chair_info.email }}
  • -
  • Person name: {{ state.chair_info.person.name }}
  • -
-{% else %} -

Person with {{ state.chair_info.email }} not exists. {% if state.rolodex_url %} Please go to {{ state.rolodex_url }} to add this person.{% endif %}

-{% endif %} -

- -{% if state.chair_info.person %} - - {% csrf_token %} - {% for field in form %}{{ field.as_hidden }} - {% endfor %} - - -

- -{% endif %} - - -

Edit it again

- - {% csrf_token %} -
- {{ form }} -
- -

- - - - -{% endblock %} diff --git a/ietf/templates/nomcom/public_feedback.html b/ietf/templates/nomcom/feedback.html similarity index 85% rename from ietf/templates/nomcom/public_feedback.html rename to ietf/templates/nomcom/feedback.html index a323339c5..4daa8903a 100644 --- a/ietf/templates/nomcom/public_feedback.html +++ b/ietf/templates/nomcom/feedback.html @@ -1,4 +1,4 @@ -{% extends "nomcom/nomcom_public_base.html" %} +{% extends base_template %} {% load bootstrap3 %} {% load nomcom_tags %} @@ -26,9 +26,9 @@ {% for p in positions %} {% if p.nomineeposition_set.accepted.not_duplicated %}

{{ p.name }}

-
+
{% for np in p.nomineeposition_set.accepted.not_duplicated %} - + {{ np.nominee }} {% add_num_nominations user np.position np.nominee %} diff --git a/ietf/templates/nomcom/nomcom_base.html b/ietf/templates/nomcom/nomcom_base.html deleted file mode 100644 index 54481f4b6..000000000 --- a/ietf/templates/nomcom/nomcom_base.html +++ /dev/null @@ -1,3 +0,0 @@ -{% extends "base.html" %} - -{% block title %}NomCom {{ year }}{% block subtitle %}{% endblock %}{% endblock %} diff --git a/ietf/templates/nomcom/private_feedback.html b/ietf/templates/nomcom/private_feedback.html deleted file mode 100644 index 97c7d5010..000000000 --- a/ietf/templates/nomcom/private_feedback.html +++ /dev/null @@ -1,63 +0,0 @@ -{% extends "nomcom/nomcom_private_base.html" %} - -{% load bootstrap3 %} -{% load nomcom_tags %} - -{% block subtitle %} - Feedback{% endblock %} - -{% block nomcom_content %} - -

- First select a nominee from the list of nominees to provide input about that nominee. - This will fill in the non-editable fields in the form. -

- -{% if message %} -

{{ message.1 }}

-{% endif %} - -{% bootstrap_messages %} - -{% if nomcom|has_publickey %} -
-
-

Nominees

- - {% for p in positions %} - {% if p.nomineeposition_set.accepted.not_duplicated %} -

{{ p.name }}

-
- {% for np in p.nomineeposition_set.accepted.not_duplicated %} - - {{ np.nominee }} - {% add_num_nominations user np.position np.nominee %} - - {% endfor %} -
- {% endif %} - {% endfor %} - -

- An number after a name indicates - that you have given comments on this nominee - earlier. If you position the mouse pointer over - it, you should see how many comments - exist from you for this nominee. -

-
- -
-

Provide feedback

- -
- {% csrf_token %} - {% bootstrap_form form %} - {% buttons %} - - {% endbuttons %} -
-
-
-{% endif %} - -{% endblock %} diff --git a/ietf/templates/nomcom/private_feedback_email.html b/ietf/templates/nomcom/private_feedback_email.html index 06b9c771e..86c71c71e 100644 --- a/ietf/templates/nomcom/private_feedback_email.html +++ b/ietf/templates/nomcom/private_feedback_email.html @@ -1,6 +1,7 @@ {% extends "nomcom/nomcom_private_base.html" %} {% load bootstrap3 %} +{% load nomcom_tags %} {% block subtitle %} - Provide feedback email{% endblock %}