mirror of
https://github.com/pretix/pretix.git
synced 2026-05-04 15:04:03 +00:00
Vouchers: Fix validation of quota when copying a blocking voucher (Z#23152799) (#4133)
* Vouchers: Fix validation of quota when copying a blocking voucher * Bugfixes
This commit is contained in:
@@ -460,7 +460,7 @@ class Voucher(LoggedModel):
|
||||
new_quotas = set(
|
||||
Quota.objects.filter(
|
||||
pk__in=Quota.variations.through.objects.filter(
|
||||
itemvariation__item=old_instance.item,
|
||||
itemvariation__item=item,
|
||||
quota__subevent=data.get('subevent'),
|
||||
).values('quota_id')
|
||||
)
|
||||
|
||||
@@ -90,8 +90,10 @@ class VoucherForm(I18nModelForm):
|
||||
def __init__(self, *args, **kwargs):
|
||||
instance = kwargs.get('instance')
|
||||
initial = kwargs.get('initial')
|
||||
self.initial_instance_data = None
|
||||
if instance:
|
||||
self.initial_instance_data = modelcopy(instance)
|
||||
if instance.pk:
|
||||
self.initial_instance_data = modelcopy(instance)
|
||||
try:
|
||||
if instance.variation:
|
||||
initial['itemvar'] = '%d-%d' % (instance.item.pk, instance.variation.pk)
|
||||
@@ -101,8 +103,6 @@ class VoucherForm(I18nModelForm):
|
||||
initial['itemvar'] = 'q-%d' % instance.quota.pk
|
||||
except Item.DoesNotExist:
|
||||
pass
|
||||
else:
|
||||
self.initial_instance_data = None
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
if instance.event.has_subevents:
|
||||
@@ -234,8 +234,8 @@ class VoucherForm(I18nModelForm):
|
||||
)
|
||||
if check_quota:
|
||||
Voucher.clean_quota_check(
|
||||
data, cnt, self.initial_instance_data, self.instance.event,
|
||||
self.instance.quota, self.instance.item, self.instance.variation
|
||||
data, cnt, self.initial_instance_data,
|
||||
self.instance.event, self.instance.quota, self.instance.item, self.instance.variation
|
||||
)
|
||||
Voucher.clean_voucher_code(data, self.instance.event, self.instance.pk)
|
||||
if 'seat' in self.fields and data.get('seat'):
|
||||
|
||||
Reference in New Issue
Block a user