From e7dc797620b7e2917ad5a67df63a30924afc6c47 Mon Sep 17 00:00:00 2001
From: Jorran de Wit <jorrandewit@outlook.com>
Date: Fri, 21 Apr 2017 09:46:27 +0200
Subject: [PATCH] Add BCC to reinvite

---
 common/utils.py      | 7 +++++--
 submissions/utils.py | 4 +++-
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/common/utils.py b/common/utils.py
index a5cc8ad12..4a778d100 100644
--- a/common/utils.py
+++ b/common/utils.py
@@ -13,7 +13,7 @@ class BaseMailUtil(object):
         for var_name in _dict:
             setattr(cls, var_name, _dict[var_name])
 
-    def _send_mail(cls, template_name, recipients, subject):
+    def _send_mail(cls, template_name, recipients, subject, extra_bcc=None):
         """
         Call this method from a classmethod to send emails.
         The template will have context variables defined appended from the `load` method.
@@ -30,12 +30,15 @@ class BaseMailUtil(object):
         html_template = loader.get_template('email/%s_html.html' % template_name)
         message = template.render(Context(cls._context))
         html_message = html_template.render(Context(cls._context))
+        bcc_list = [cls.mail_sender]
+        if extra_bcc:
+            bcc_list += extra_bcc
         email = EmailMultiAlternatives(
             'SciPost: ' + subject,  # message,
             message,
             '%s <%s>' % (cls.mail_sender_title, cls.mail_sender),
             recipients,
-            bcc=[cls.mail_sender],
+            bcc=bcc_list,
             reply_to=[cls.mail_sender])
         email.attach_alternative(html_message, 'text/html')
         email.send(fail_silently=False)
diff --git a/submissions/utils.py b/submissions/utils.py
index 425364b5a..fb2039cc6 100644
--- a/submissions/utils.py
+++ b/submissions/utils.py
@@ -283,9 +283,11 @@ class SubmissionUtils(BaseMailUtil):
         Requires context to contain:
         - `invitation`
         """
+        extra_bcc_list = [cls._context['invitation'].submission.editor_in_charge.user.email]
         cls._send_mail(cls, 'submission_cycle_reinvite_referee',
                        [cls._context['invitation'].email_address],
-                       'Invitation on resubmission')
+                       'Invitation on resubmission',
+                       extra_bcc=extra_bcc_list)
 
 
     @classmethod
-- 
GitLab