From 2d2e7ae892631423ebcf1adc9fd41a154b47a564 Mon Sep 17 00:00:00 2001 From: Diane Trout Date: Mon, 19 Nov 2012 16:50:49 -0800 Subject: [PATCH] Uniquely merge BCC and Manager lists for sending notification email. This uses a set to only send one email address one copy of a notification. --- htsworkflow/frontend/experiments/tests.py | 2 ++ htsworkflow/frontend/experiments/views.py | 10 ++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/htsworkflow/frontend/experiments/tests.py b/htsworkflow/frontend/experiments/tests.py index 8f535c8..0f24147 100644 --- a/htsworkflow/frontend/experiments/tests.py +++ b/htsworkflow/frontend/experiments/tests.py @@ -561,8 +561,10 @@ class TestEmailNotify(TestCase): response = self.client.get('/experiments/started/153/', {'send':'1','bcc':'on'}) self.assertEqual(response.status_code, 200) self.assertEqual(len(mail.outbox), 4) + bcc = set(settings.NOTIFICATION_BCC).intersect(set(settings.MANAGERS)) for m in mail.outbox: self.assertTrue(len(m.body) > 0) + self.assertEqual(m.bcc, bcc) def test_email_navigation(self): """ diff --git a/htsworkflow/frontend/experiments/views.py b/htsworkflow/frontend/experiments/views.py index 5d4283d..28a355f 100644 --- a/htsworkflow/frontend/experiments/views.py +++ b/htsworkflow/frontend/experiments/views.py @@ -103,9 +103,15 @@ def startedEmail(request, pk): if send: email = EmailMessage(subject, body, sender, to=[user_email]) + notified = set() if bcc_managers: - email.bcc = settings.MANAGERS - email.bcc = settings.NOTIFICATION_BCC + for manager in settings.MANAGERS: + if len(manager) > 0: + notified.add(manager) + for user in settings.NOTIFICATION_BCC: + if len(user) > 0: + notified.add(user) + email.bcc = list(notified) email.send() emails.append((user_email, subject, body, sending)) -- 2.30.2