From: Diane Trout Date: Tue, 20 Nov 2012 00:50:49 +0000 (-0800) Subject: Uniquely merge BCC and Manager lists for sending notification email. X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=htsworkflow.git;a=commitdiff_plain;h=2d2e7ae892631423ebcf1adc9fd41a154b47a564 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. --- 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))