mirror of
https://github.com/pretix/pretix.git
synced 2026-05-09 15:54:03 +00:00
Self-service order change: Fix price constraints not actually being enforced
This commit is contained in:
@@ -1421,6 +1421,7 @@ class OrderChange(EventViewMixin, OrderDetailMixin, TemplateView):
|
|||||||
self._validate_total_diff(ocm)
|
self._validate_total_diff(ocm)
|
||||||
except OrderError as e:
|
except OrderError as e:
|
||||||
messages.error(self.request, str(e))
|
messages.error(self.request, str(e))
|
||||||
|
return self.get(request, *args, **kwargs)
|
||||||
|
|
||||||
if "confirm" in request.POST:
|
if "confirm" in request.POST:
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -1134,6 +1134,18 @@ class OrderChangeAddonsTest(BaseOrdersTest):
|
|||||||
assert 'alert-danger' in response.content.decode()
|
assert 'alert-danger' in response.content.decode()
|
||||||
assert 'reduces' in response.content.decode()
|
assert 'reduces' in response.content.decode()
|
||||||
|
|
||||||
|
response = self.client.post(
|
||||||
|
'/%s/%s/order/%s/%s/change' % (self.orga.slug, self.event.slug, self.order.code, self.order.secret),
|
||||||
|
{
|
||||||
|
'confirm': 'true'
|
||||||
|
},
|
||||||
|
follow=True
|
||||||
|
)
|
||||||
|
assert 'alert-danger' in response.content.decode()
|
||||||
|
assert 'reduces' in response.content.decode()
|
||||||
|
self.order.refresh_from_db()
|
||||||
|
assert self.order.total == Decimal('35.00')
|
||||||
|
|
||||||
def test_allow_user_price_eq(self):
|
def test_allow_user_price_eq(self):
|
||||||
self.event.settings.change_allow_user_price = 'eq'
|
self.event.settings.change_allow_user_price = 'eq'
|
||||||
response = self.client.post(
|
response = self.client.post(
|
||||||
|
|||||||
Reference in New Issue
Block a user