Send email to statements@ietf.org when a pending liaison statement gets queued.
- Legacy-Id: 5511
This commit is contained in:
parent
d8c765e72c
commit
f55195e3d6
|
@ -30,14 +30,19 @@ def send_liaison_by_email(request, liaison, fake=False):
|
|||
send_mail_text(request, to_email, from_email, subject, body, cc=", ".join(cc), bcc=", ".join(bcc))
|
||||
|
||||
def notify_pending_by_email(request, liaison, fake):
|
||||
from ietf.liaisons.utils import IETFHM
|
||||
|
||||
from_entity = IETFHM.get_entity_by_key(liaison.from_raw_code)
|
||||
if not from_entity:
|
||||
return None
|
||||
to_email = []
|
||||
for person in from_entity.can_approve():
|
||||
to_email.append('%s <%s>' % person.email())
|
||||
# Broken: this does not find the list of approvers for the sending body
|
||||
# For now, we are sending to statements@ietf.org so the Secretariat can nudge
|
||||
# Bug 880: http://trac.tools.ietf.org/tools/ietfdb/ticket/880
|
||||
#
|
||||
# from ietf.liaisons.utils import IETFHM
|
||||
#
|
||||
# from_entity = IETFHM.get_entity_by_key(liaison.from_raw_code)
|
||||
# if not from_entity:
|
||||
# return None
|
||||
# to_email = []
|
||||
# for person in from_entity.can_approve():
|
||||
# to_email.append('%s <%s>' % person.email())
|
||||
subject = u'New Liaison Statement, "%s" needs your approval' % (liaison.title)
|
||||
from_email = settings.LIAISON_UNIVERSAL_FROM
|
||||
body = render_to_string('liaisons/pending_liaison_mail.txt', dict(
|
||||
|
@ -45,7 +50,8 @@ def notify_pending_by_email(request, liaison, fake):
|
|||
url=settings.IDTRACKER_BASE_URL + urlreverse("liaison_approval_detail", kwargs=dict(object_id=liaison.pk)),
|
||||
referenced_url=settings.IDTRACKER_BASE_URL + urlreverse("liaison_detail", kwargs=dict(object_id=liaison.related_to.pk)) if liaison.related_to else None,
|
||||
))
|
||||
send_mail_text(request, to_email, from_email, subject, body)
|
||||
# send_mail_text(request, to_email, from_email, subject, body)
|
||||
send_mail_text(request, ['statements@ietf.org'], from_email, subject, body)
|
||||
|
||||
def send_sdo_reminder(sdo):
|
||||
roles = Role.objects.filter(name="liaiman", group=sdo)
|
||||
|
|
|
@ -148,6 +148,12 @@ class LiaisonDetailProxy(LiaisonStatement):
|
|||
# we don't have a request so just pass None for the time being
|
||||
return send_liaison_by_email(None, self, fake)
|
||||
|
||||
def notify_pending_by_email(self, fake=False):
|
||||
# grab this from module instead of stuffing in on the model
|
||||
from ietf.liaisons.mails import notify_pending_by_email
|
||||
# we don't have a request so just pass None for the time being
|
||||
return notify_pending_by_email(None, self, fake)
|
||||
|
||||
def is_pending(self):
|
||||
return not self.approved
|
||||
|
||||
|
|
|
@ -33,7 +33,10 @@ def add_liaison(request, liaison=None):
|
|||
if form.is_valid():
|
||||
liaison = form.save()
|
||||
if request.POST.get('send', None):
|
||||
liaison.send_by_email()
|
||||
if liaison.is_pending():
|
||||
liaison.notify_pending_by_email()
|
||||
else:
|
||||
liaison.send_by_email()
|
||||
return HttpResponseRedirect(reverse('liaison_list'))
|
||||
else:
|
||||
form = liaison_form_factory(request, liaison=liaison)
|
||||
|
|
|
@ -65,8 +65,8 @@ def send_smtp(msg, bcc=None):
|
|||
log("SMTP server: %s" % repr(server))
|
||||
#if settings.DEBUG:
|
||||
# server.set_debuglevel(1)
|
||||
code, msg = server.connect(settings.EMAIL_HOST, settings.EMAIL_PORT)
|
||||
log("SMTP connect: code: %s; msg: %s" % (code, msg))
|
||||
code, conmsg = server.connect(settings.EMAIL_HOST, settings.EMAIL_PORT)
|
||||
log("SMTP connect: code: %s; msg: %s" % (code, conmsg))
|
||||
if settings.EMAIL_HOST_USER and settings.EMAIL_HOST_PASSWORD:
|
||||
server.ehlo()
|
||||
if 'starttls' not in server.esmtp_features:
|
||||
|
|
Loading…
Reference in a new issue