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
This commit is contained in:
Bill Fenner 2007-06-08 18:21:44 +00:00
parent 4e3769c963
commit e08772430a
4 changed files with 23 additions and 10 deletions

View file

@ -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()

View file

@ -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):

View file

@ -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,15 +257,21 @@ 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)
if mail_type.endswith('non'):
domain = Domain.objects.get(domain=domain_name)
approvers += domain.approvers.all()
return approvers

View file

@ -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" %}