From ff09ed422ccea92e292458cecddeccc1ffbbd66d Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Fri, 6 Jan 2023 23:16:46 +0100 Subject: [PATCH] Prevent requiring a membership without selecting any types --- src/pretix/control/forms/item.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/pretix/control/forms/item.py b/src/pretix/control/forms/item.py index 38157b470..360812a3e 100644 --- a/src/pretix/control/forms/item.py +++ b/src/pretix/control/forms/item.py @@ -595,6 +595,13 @@ class ItemUpdateForm(I18nModelForm): "Gift card products should not be admission products at the same time." ) ) + if d.get('require_membership') and not d.get('require_membership_types'): + self.add_error( + 'require_membership_types', + _( + "If a valid membership is required, at least one valid membership type needs to be selected." + ) + ) return d def clean_picture(self): @@ -792,6 +799,17 @@ class ItemVariationForm(I18nModelForm): }), } + def clean(self): + d = super().clean() + if d.get('require_membership') and not d.get('require_membership_types'): + self.add_error( + 'require_membership_types', + _( + "If a valid membership is required, at least one valid membership type needs to be selected." + ) + ) + return d + def save(self, commit=True): instance = super().save(commit) self.meta_fields = []