forked from CGM_Public/pretix_original
Allow to unselect product or quota from voucher (#1799)
This commit is contained in:
@@ -128,7 +128,7 @@ class VoucherForm(I18nModelForm):
|
|||||||
def clean(self):
|
def clean(self):
|
||||||
data = super().clean()
|
data = super().clean()
|
||||||
|
|
||||||
if not self._errors and self.data.get('itemvar'):
|
if not self._errors:
|
||||||
try:
|
try:
|
||||||
itemid = quotaid = None
|
itemid = quotaid = None
|
||||||
iv = self.data.get('itemvar', '')
|
iv = self.data.get('itemvar', '')
|
||||||
@@ -136,8 +136,10 @@ class VoucherForm(I18nModelForm):
|
|||||||
quotaid = iv[2:]
|
quotaid = iv[2:]
|
||||||
elif '-' in iv:
|
elif '-' in iv:
|
||||||
itemid, varid = iv.split('-')
|
itemid, varid = iv.split('-')
|
||||||
else:
|
elif iv:
|
||||||
itemid, varid = iv, None
|
itemid, varid = iv, None
|
||||||
|
else:
|
||||||
|
itemid, varid = None, None
|
||||||
|
|
||||||
if itemid:
|
if itemid:
|
||||||
self.instance.item = self.instance.event.items.get(pk=itemid)
|
self.instance.item = self.instance.event.items.get(pk=itemid)
|
||||||
@@ -146,11 +148,15 @@ class VoucherForm(I18nModelForm):
|
|||||||
else:
|
else:
|
||||||
self.instance.variation = None
|
self.instance.variation = None
|
||||||
self.instance.quota = None
|
self.instance.quota = None
|
||||||
|
elif quotaid:
|
||||||
else:
|
|
||||||
self.instance.quota = self.instance.event.quotas.get(pk=quotaid)
|
self.instance.quota = self.instance.event.quotas.get(pk=quotaid)
|
||||||
self.instance.item = None
|
self.instance.item = None
|
||||||
self.instance.variation = None
|
self.instance.variation = None
|
||||||
|
else:
|
||||||
|
self.instance.quota = None
|
||||||
|
self.instance.item = None
|
||||||
|
self.instance.variation = None
|
||||||
|
|
||||||
except ObjectDoesNotExist:
|
except ObjectDoesNotExist:
|
||||||
raise ValidationError(_("Invalid product selected."))
|
raise ValidationError(_("Invalid product selected."))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user