diff --git a/src/pretix/base/modelimport_vouchers.py b/src/pretix/base/modelimport_vouchers.py index 13a123fe01..8d2ef87d53 100644 --- a/src/pretix/base/modelimport_vouchers.py +++ b/src/pretix/base/modelimport_vouchers.py @@ -75,7 +75,7 @@ class MaxUsagesColumn(IntegerColumnMixin, ImportColumn): ] def clean(self, value, previous_values): - if value is None: + if value is None and previous_values.get("code"): raise ValidationError(_('The maximum number of usages must be set.')) return super().clean(value, previous_values) diff --git a/src/pretix/base/models/vouchers.py b/src/pretix/base/models/vouchers.py index 5d963f1350..52ddf138c8 100644 --- a/src/pretix/base/models/vouchers.py +++ b/src/pretix/base/models/vouchers.py @@ -370,10 +370,11 @@ class Voucher(LoggedModel): 'redeemed': redeemed } ) - if data.get('max_usages', 1) < data.get('min_usages', 1): - raise ValidationError( - _('The maximum number of usages may not be lower than the minimum number of usages.'), - ) + if data.get('min_usages') is not None: + if data.get('max_usages', 1) < data.get('min_usages', 1): + raise ValidationError( + _('The maximum number of usages may not be lower than the minimum number of usages.'), + ) @staticmethod def clean_subevent(data, event):