From 646231ba840bac08d0393b11f74f020053cec870 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jean-S=C3=A9bastien=20Caux?= <git@jscaux.org>
Date: Thu, 25 Apr 2024 17:36:55 +0200
Subject: [PATCH] Debug `MailEngine` default arguments

---
 scipost_django/mails/core.py  | 7 ++++---
 scipost_django/mails/forms.py | 6 ++++--
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/scipost_django/mails/core.py b/scipost_django/mails/core.py
index 7ece3c069..1225035c5 100644
--- a/scipost_django/mails/core.py
+++ b/scipost_django/mails/core.py
@@ -39,9 +39,9 @@ class MailEngine:
         self,
         mail_code,
         subject="",
-        recipient_list=[],
-        cc=[],
-        bcc=[],
+        recipient_list=None,
+        cc=None,
+        bcc=None,
         from_email="",
         from_name="",
         **kwargs,
@@ -62,6 +62,7 @@ class MailEngine:
         -- from_email (str, optional): Plain email address.
         -- from_name (str, optional): Display name for from address.
         """
+
         self.mail_code = mail_code
         self.extra_config = {
             "cc": cc,
diff --git a/scipost_django/mails/forms.py b/scipost_django/mails/forms.py
index af8ef8f9e..21f77127f 100644
--- a/scipost_django/mails/forms.py
+++ b/scipost_django/mails/forms.py
@@ -28,7 +28,6 @@ class EmailForm(forms.Form):
 
     def __init__(self, *args, **kwargs):
         self.mail_code = kwargs.pop("mail_code")
-
         # Check if all exta configurations are valid.
         self.extra_config.update(kwargs.pop("mail_config", {}))
 
@@ -82,7 +81,10 @@ class EmailForm(forms.Form):
         self.engine.render_template(self.cleaned_data["text"])
         self.engine.mail_data["subject"] = self.cleaned_data["subject"]
         if cc_mail_str := self.cleaned_data["cc_mail_field"]:
-            self.engine.mail_data["cc"] += [m.strip() for m in cc_mail_str.split(",")]
+            if self.engine.mail_data["cc"]:
+                self.engine.mail_data["cc"] += [m.strip() for m in cc_mail_str.split(",")]
+            else:
+                self.engine.mail_data["cc"] = [m.strip() for m in cc_mail_str.split(",")]
         if bcc_mail_str := self.cleaned_data["bcc_mail_field"]:
             self.engine.mail_data["bcc"] += [m.strip() for m in bcc_mail_str.split(",")]
         self.engine.send_mail()
-- 
GitLab