mirror of
https://github.com/pretix/pretix.git
synced 2026-05-10 16:04:02 +00:00
Add-on step: Catch ValueError on invalid input
This commit is contained in:
@@ -620,12 +620,18 @@ class AddOnsStep(CartMixin, AsyncAction, TemplateFlowStep):
|
|||||||
for i in category['items']:
|
for i in category['items']:
|
||||||
if i.has_variations:
|
if i.has_variations:
|
||||||
for v in i.available_variations:
|
for v in i.available_variations:
|
||||||
val = int(self.request.POST.get(f'cp_{form["pos"].pk}_variation_{i.pk}_{v.pk}') or '0')
|
try:
|
||||||
|
val = int(self.request.POST.get(f'cp_{form["pos"].pk}_variation_{i.pk}_{v.pk}') or '0')
|
||||||
|
except ValueError:
|
||||||
|
raise ValidationError(_('Please enter numbers only.'))
|
||||||
price = self.request.POST.get(f'cp_{form["pos"].pk}_variation_{i.pk}_{v.pk}_price') or '0'
|
price = self.request.POST.get(f'cp_{form["pos"].pk}_variation_{i.pk}_{v.pk}_price') or '0'
|
||||||
if val:
|
if val:
|
||||||
selected[i, v] = val, price
|
selected[i, v] = val, price
|
||||||
else:
|
else:
|
||||||
val = int(self.request.POST.get(f'cp_{form["pos"].pk}_item_{i.pk}') or '0')
|
try:
|
||||||
|
val = int(self.request.POST.get(f'cp_{form["pos"].pk}_item_{i.pk}') or '0')
|
||||||
|
except ValueError:
|
||||||
|
raise ValidationError(_('Please enter numbers only.'))
|
||||||
price = self.request.POST.get(f'cp_{form["pos"].pk}_item_{i.pk}_price') or '0'
|
price = self.request.POST.get(f'cp_{form["pos"].pk}_item_{i.pk}_price') or '0'
|
||||||
if val:
|
if val:
|
||||||
selected[i, None] = val, price
|
selected[i, None] = val, price
|
||||||
|
|||||||
@@ -1370,12 +1370,18 @@ class OrderChangeMixin:
|
|||||||
for i in category['items']:
|
for i in category['items']:
|
||||||
if i.has_variations:
|
if i.has_variations:
|
||||||
for v in i.available_variations:
|
for v in i.available_variations:
|
||||||
val = int(self.request.POST.get(f'cp_{form["pos"].pk}_variation_{i.pk}_{v.pk}') or '0')
|
try:
|
||||||
|
val = int(self.request.POST.get(f'cp_{form["pos"].pk}_variation_{i.pk}_{v.pk}') or '0')
|
||||||
|
except ValueError:
|
||||||
|
raise ValidationError(_('Please enter numbers only.'))
|
||||||
price = self.request.POST.get(f'cp_{form["pos"].pk}_variation_{i.pk}_{v.pk}_price') or '0'
|
price = self.request.POST.get(f'cp_{form["pos"].pk}_variation_{i.pk}_{v.pk}_price') or '0'
|
||||||
if val:
|
if val:
|
||||||
selected[i, v] = val, price
|
selected[i, v] = val, price
|
||||||
else:
|
else:
|
||||||
val = int(self.request.POST.get(f'cp_{form["pos"].pk}_item_{i.pk}') or '0')
|
try:
|
||||||
|
val = int(self.request.POST.get(f'cp_{form["pos"].pk}_item_{i.pk}') or '0')
|
||||||
|
except ValueError:
|
||||||
|
raise ValidationError(_('Please enter numbers only.'))
|
||||||
price = self.request.POST.get(f'cp_{form["pos"].pk}_item_{i.pk}_price') or '0'
|
price = self.request.POST.get(f'cp_{form["pos"].pk}_item_{i.pk}_price') or '0'
|
||||||
if val:
|
if val:
|
||||||
selected[i, None] = val, price
|
selected[i, None] = val, price
|
||||||
|
|||||||
Reference in New Issue
Block a user