diff --git a/ietf/idtracker/templatetags/ietf_filters.py b/ietf/idtracker/templatetags/ietf_filters.py index 42fc32ac4..0acbaaeb3 100644 --- a/ietf/idtracker/templatetags/ietf_filters.py +++ b/ietf/idtracker/templatetags/ietf_filters.py @@ -120,3 +120,8 @@ def fill(text, width): para = textwrap.fill(para, width, replace_whitespace=False) wrapped.append(para) return "\n\n".join(wrapped) + +@register.filter(name='allononeline') +def allononeline(text): + """Simply removes CRs, LFs, leading and trailing whitespace from the given string.""" + return text.replace("\r", "").replace("\n", "").strip() diff --git a/ietf/mailinglists/forms.py b/ietf/mailinglists/forms.py index 46ecf7cdf..9ff93a1bf 100644 --- a/ietf/mailinglists/forms.py +++ b/ietf/mailinglists/forms.py @@ -169,7 +169,9 @@ class ListReqAuthorized(forms.Form): class ListReqClose(forms.Form): requestor = forms.CharField(label = "Requestor's full name", widget = forms.TextInput(attrs = {'size': 55})) requestor_email = forms.EmailField(label = "Requestor's email address", widget = forms.TextInput(attrs = {'size': 55})) - #mlist_name: with a widget that just displays the value as text + # todo: right widgets for these + mlist_name = forms.CharField(widget = forms.HiddenInput()) + domain_name = forms.CharField(widget = forms.HiddenInput()) reason_to_delete = forms.CharField(label = 'Reason for closing list', widget = forms.Textarea(attrs = {'rows': 4, 'cols': 60})) class AdminRequestor(forms.MultiWidget): diff --git a/ietf/mailinglists/views.py b/ietf/mailinglists/views.py index ead045ca8..c9eeb6362 100644 --- a/ietf/mailinglists/views.py +++ b/ietf/mailinglists/views.py @@ -5,6 +5,7 @@ from django import newforms as forms from django.shortcuts import get_object_or_404, render_to_response from django.template import RequestContext from django.db.models import Q +from django.contrib.sites.models import Site from ietf.contrib import wizard, form_decorator from ietf.utils.mail import send_mail_subj from datetime import datetime @@ -256,17 +257,23 @@ class ListReqWizard(wizard.Wizard): list.approved = 0 list.save() approver_email = list.auth_person.email() - send_mail_subj(request, [ approver_email ], None, 'mailinglists/list_wizard_subject.txt', 'mailinglists/list_wizard_done_email.txt', {'list': list, 'forms': self.clean_forms, 'requestor_is_approver': self.requestor_is_approver}) - return render_to_response('mailinglists/list_wizard_done.html', {'list': list, 'forms': self.clean_forms, 'requestor_is_approver': self.requestor_is_approver}, context_instance=RequestContext(request) ) + site = Site.objects.get_current() + if list.mail_type == 5 or list.mail_type == 6: + req = 'delete' + else: + req = 'add' + send_mail_subj(request, [ approver_email ], None, 'mailinglists/list_wizard_subject.txt', 'mailinglists/list_wizard_done_email.txt', {'list': list, 'forms': self.clean_forms, 'requestor_is_approver': self.requestor_is_approver, 'site': site, 'req': req}) + return render_to_response('mailinglists/list_wizard_done.html', {'list': list, 'forms': self.clean_forms, 'requestor_is_approver': self.requestor_is_approver, 'req': req}, context_instance=RequestContext(request) ) def mlist_approvers(mail_type, domain_name, group): approvers = [] if domain_name == 'ietf.org': approvers += AreaDirector.objects.filter(area__status=Area.ACTIVE) - if mail_type.endswith('wg'): + if mail_type == 'movewg': approvers += WGChair.objects.filter(group_acronym=group) - domain = Domain.objects.get(domain=domain_name) - approvers += domain.approvers.all() + if mail_type.endswith('non'): + domain = Domain.objects.get(domain=domain_name) + approvers += domain.approvers.all() return approvers def list_req_wizard(request): diff --git a/ietf/templates/mailinglists/list_wizard_done_email.txt b/ietf/templates/mailinglists/list_wizard_done_email.txt index 3fa57d7d8..d2a0c75fd 100644 --- a/ietf/templates/mailinglists/list_wizard_done_email.txt +++ b/ietf/templates/mailinglists/list_wizard_done_email.txt @@ -1,9 +1,8 @@ -{% filter wordwrap:"72" %} +{% load ietf_filters %}{% filter wordwrap:"72" %} The Secretariat has received a request from {{ list.requestor }} -to {% include "mailinglists/list_type_message2.txt" %} +to {% filter allononeline %}{% include "mailinglists/list_type_message2.txt" %}{% endfilter %}. Please use the following URL to review and approve or deny this request: -https://datatracker.ietf.org{% url ietf.mailinglists.views.list_approve list.mailing_list_id %} +{# https is only for production #}https://{{ site.domain }}{% url ietf.mailinglists.views.list_approve list.mailing_list_id %} {% endfilter %} -{# gotta set req for list_summary to work #} {% include "mailinglists/list_summary.txt" %}