From 85cfe0ed8af266ce8f9e4dd3ef75d58aa5b9d303 Mon Sep 17 00:00:00 2001 From: Robert Sparks Date: Thu, 7 May 2015 16:29:17 +0000 Subject: [PATCH] Show leadership when and where mail was sent at the time it is sent. Commit ready for merge. - Legacy-Id: 9608 --- ietf/iesg/tests.py | 4 ++-- ietf/utils/mail.py | 19 +++++++++++++++++++ static/css/ietf.css | 4 ++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/ietf/iesg/tests.py b/ietf/iesg/tests.py index dfcc7d7fa..295c00c67 100644 --- a/ietf/iesg/tests.py +++ b/ietf/iesg/tests.py @@ -435,8 +435,8 @@ class RescheduleOnAgendaTests(TestCase): r = self.client.get(url) self.assertEqual(r.status_code, 200) d_header_pos = r.content.find("IESG telechat %s" % d.isoformat()) - draft_pos = r.content.find(draft.name) - self.assertTrue(d_header_pos < draft_pos) + draft_pos = r.content[d_header_pos:].find(draft.name) + self.assertTrue(draft_pos>0) self.assertTrue(draft.latest_event(TelechatDocEvent, "scheduled_for_telechat")) self.assertEqual(draft.latest_event(TelechatDocEvent, "scheduled_for_telechat").telechat_date, d) diff --git a/ietf/utils/mail.py b/ietf/utils/mail.py index d2aa78a3c..deeaa67e2 100644 --- a/ietf/utils/mail.py +++ b/ietf/utils/mail.py @@ -21,6 +21,7 @@ import time import copy import textwrap import traceback +import datetime # Testing mode: # import ietf.utils.mail @@ -228,6 +229,19 @@ def condition_message(to, frm, subject, msg, cc, extra): if v: msg[k] = v +def show_that_mail_was_sent(request,leadline,msg,bcc): + if request and request.user: + from ietf.ietfauth.utils import has_role + if has_role(request.user,['Area Director','Secretariat','IANA','RFC Editor','ISE','IAD','IRTF Chair','WG Chair','RG Chair','WG Secretary','RG Secretary']): + info = "%s at %s %s\n" % (leadline,datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"),settings.TIME_ZONE) + info += "Subject: %s\n" % msg.get('Subject','[no subject]') + info += "To: %s\n" % msg.get('To','[no to]') + if msg.get('Cc'): + info += "Cc: %s\n" % msg.get('Cc') + if bcc: + info += "Bcc: %s\n" % bcc + messages.info(request,info,extra_tags='preformatted',fail_silently=True) + def send_mail_mime(request, to, frm, subject, msg, cc=None, extra=None, toUser=False, bcc=None): """Send MIME message with content already filled in.""" @@ -238,6 +252,9 @@ def send_mail_mime(request, to, frm, subject, msg, cc=None, extra=None, toUser=F # and EMAIL_PORT=2025 in settings_local.py debugging = getattr(settings, "USING_DEBUG_EMAIL_SERVER", False) and settings.EMAIL_HOST == 'localhost' and settings.EMAIL_PORT == 2025 + if settings.SERVER_MODE == 'development': + show_that_mail_was_sent(request,'In production, email would have been sent',msg,bcc) + if test_mode or debugging or settings.SERVER_MODE == 'production': try: send_smtp(msg,bcc) @@ -245,6 +262,8 @@ def send_mail_mime(request, to, frm, subject, msg, cc=None, extra=None, toUser=F log_smtp_exception(e) build_warning_message(request, e) send_error_email(e) + + show_that_mail_was_sent(request,'Email was sent',msg,bcc) elif settings.SERVER_MODE == 'test': if toUser: diff --git a/static/css/ietf.css b/static/css/ietf.css index be6b4c09e..84a193dc8 100644 --- a/static/css/ietf.css +++ b/static/css/ietf.css @@ -178,6 +178,10 @@ pre { font-size: 14px; } +.preformatted { + white-space: pre; +} + /* Make ampersands pretty */ /* This sets ampersand in a different font than the rest of the text. Fancy, but it's really better to select a pretty font in the first place. Additionally, _which_ 'pretty'