Skip to content

Commit e087724

Browse files
committed
Create "allononeline" filter and use it for list_wizard_done_email.
Use the Site to get the URL in list_wizard_done_email. Set req for list_wizard_done_email as it is for approval email. Only use domain-based extra approvers for non-WG requests. Supply hidden fields for mlist_name and domain_name for deletion. (These should be visible but uneditable, but passing them through is a start) - Legacy-Id: 267
1 parent 4e3769c commit e087724

4 files changed

Lines changed: 23 additions & 10 deletions

File tree

ietf/idtracker/templatetags/ietf_filters.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,3 +120,8 @@ def fill(text, width):
120120
para = textwrap.fill(para, width, replace_whitespace=False)
121121
wrapped.append(para)
122122
return "\n\n".join(wrapped)
123+
124+
@register.filter(name='allononeline')
125+
def allononeline(text):
126+
"""Simply removes CRs, LFs, leading and trailing whitespace from the given string."""
127+
return text.replace("\r", "").replace("\n", "").strip()

ietf/mailinglists/forms.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,9 @@ def clean_authorized(self):
169169
class ListReqClose(forms.Form):
170170
requestor = forms.CharField(label = "Requestor's full name", widget = forms.TextInput(attrs = {'size': 55}))
171171
requestor_email = forms.EmailField(label = "Requestor's email address", widget = forms.TextInput(attrs = {'size': 55}))
172-
#mlist_name: with a widget that just displays the value as text
172+
# todo: right widgets for these
173+
mlist_name = forms.CharField(widget = forms.HiddenInput())
174+
domain_name = forms.CharField(widget = forms.HiddenInput())
173175
reason_to_delete = forms.CharField(label = 'Reason for closing list', widget = forms.Textarea(attrs = {'rows': 4, 'cols': 60}))
174176

175177
class AdminRequestor(forms.MultiWidget):

ietf/mailinglists/views.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from django.shortcuts import get_object_or_404, render_to_response
66
from django.template import RequestContext
77
from django.db.models import Q
8+
from django.contrib.sites.models import Site
89
from ietf.contrib import wizard, form_decorator
910
from ietf.utils.mail import send_mail_subj
1011
from datetime import datetime
@@ -256,17 +257,23 @@ def done(self, request, form_list):
256257
list.approved = 0
257258
list.save()
258259
approver_email = list.auth_person.email()
259-
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})
260-
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) )
260+
site = Site.objects.get_current()
261+
if list.mail_type == 5 or list.mail_type == 6:
262+
req = 'delete'
263+
else:
264+
req = 'add'
265+
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})
266+
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) )
261267

262268
def mlist_approvers(mail_type, domain_name, group):
263269
approvers = []
264270
if domain_name == 'ietf.org':
265271
approvers += AreaDirector.objects.filter(area__status=Area.ACTIVE)
266-
if mail_type.endswith('wg'):
272+
if mail_type == 'movewg':
267273
approvers += WGChair.objects.filter(group_acronym=group)
268-
domain = Domain.objects.get(domain=domain_name)
269-
approvers += domain.approvers.all()
274+
if mail_type.endswith('non'):
275+
domain = Domain.objects.get(domain=domain_name)
276+
approvers += domain.approvers.all()
270277
return approvers
271278

272279
def list_req_wizard(request):
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
{% filter wordwrap:"72" %}
1+
{% load ietf_filters %}{% filter wordwrap:"72" %}
22
The Secretariat has received a request from {{ list.requestor }}
3-
to {% include "mailinglists/list_type_message2.txt" %}
3+
to {% filter allononeline %}{% include "mailinglists/list_type_message2.txt" %}{% endfilter %}.
44
Please use the following URL to review and approve or deny this request:
5-
https://datatracker.ietf.org{% url ietf.mailinglists.views.list_approve list.mailing_list_id %}
5+
{# https is only for production #}https://{{ site.domain }}{% url ietf.mailinglists.views.list_approve list.mailing_list_id %}
66
{% endfilter %}
77

8-
{# gotta set req for list_summary to work #}
98
{% include "mailinglists/list_summary.txt" %}

0 commit comments

Comments
 (0)