Fixed issue when trying to empty user forward.

This commit is contained in:
Antoine Nguyen
2025-11-12 16:04:22 +01:00
parent 2d9578bace
commit bbfabdb54a
2 changed files with 28 additions and 2 deletions
+5 -1
View File
@@ -725,10 +725,14 @@ class AliasSerializer(v1_serializers.AliasSerializer):
class UserForwardSerializer(serializers.Serializer):
"""Serializer to define user forward."""
recipients = serializers.CharField(required=False)
recipients = serializers.CharField(
required=False, allow_blank=True, allow_null=True
)
keepcopies = serializers.BooleanField(default=False)
def validate_recipients(self, value):
if not value:
return value
value = value.strip()
recipients = []
if not value:
+23 -1
View File
@@ -727,12 +727,24 @@ class UserAccountViewSetTestCase(ModoAPITestCase):
url = reverse("v2:user_account-forward")
resp = self.client.get(url)
self.assertEqual(resp.status_code, 200)
self.assertNotIn("recipients", resp.json())
self.assertIs(resp.json()["recipients"], None)
self.assertEqual(
models.Alias.objects.filter(
internal=False, address=self.da.username
).count(),
0,
)
data = {"recipients": "user@domain.ext"}
resp = self.client.post(url, data, format="json")
self.assertEqual(resp.status_code, 200)
self.assertEqual(self.da.mailbox.aliasrecipient_set.count(), 1)
self.assertEqual(
models.Alias.objects.filter(
internal=False, address=self.da.username
).count(),
1,
)
data = {"recipients": "user@domain.ext", "keepcopies": True}
resp = self.client.post(url, data, format="json")
@@ -753,6 +765,16 @@ class UserAccountViewSetTestCase(ModoAPITestCase):
models.Alias.objects.filter(address=self.da.username).count(), 1
)
data = {"recipients": "", "keepcopies": False}
resp = self.client.post(url, data, format="json")
self.assertEqual(resp.status_code, 200)
self.assertEqual(
models.Alias.objects.filter(
internal=False, address=self.da.username
).count(),
0,
)
class AlarmViewSetTestCase(ModoAPITestCase):
@classmethod