From b2c49461bcec86907db8e8facb85e56667b66645 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 20 Jul 2023 14:29:48 +0200 Subject: [PATCH] API: Fix validation issue in sendmail rules --- src/pretix/plugins/sendmail/api.py | 2 +- src/tests/api/test_sendmail.py | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/pretix/plugins/sendmail/api.py b/src/pretix/plugins/sendmail/api.py index f9fbcb9005..825e9d620c 100644 --- a/src/pretix/plugins/sendmail/api.py +++ b/src/pretix/plugins/sendmail/api.py @@ -49,7 +49,7 @@ class RuleSerializer(I18nAwareModelSerializer): if not full_data.get('send_date'): raise ValidationError('send_date is required for date_is_absolute=True') else: - if not all([full_data.get(k) for k in ['send_offset_days', 'send_offset_time']]): + if not all([full_data.get(k) is not None for k in ['send_offset_days', 'send_offset_time']]): raise ValidationError('send_offset_days and send_offset_time are required for date_is_absolute=False') if full_data.get('all_products') is False: diff --git a/src/tests/api/test_sendmail.py b/src/tests/api/test_sendmail.py index f19abefe99..974441d58c 100644 --- a/src/tests/api/test_sendmail.py +++ b/src/tests/api/test_sendmail.py @@ -119,6 +119,23 @@ def test_sendmail_rule_create_min_fail(token_client, organizer, event): ) +@scopes_disabled() +@pytest.mark.django_db +def test_sendmail_rule_offset_zero(token_client, organizer, event): + create_rule( + token_client, organizer, event, + data={ + 'subject': {'en': 'meow'}, + 'template': {'en': 'creative text here'}, + 'send_date': '2018-03-17T13:31Z', + 'send_offset_days': '0', + 'send_offset_time': '08:40', + 'date_is_absolute': False, + }, + expected_failure=False, + ) + + @scopes_disabled() @pytest.mark.django_db def test_sendmail_rule_create_minimal(token_client, organizer, event):