Self-service order change: Fix price constraints not actually being enforced

This commit is contained in:
Raphael Michel
2021-12-03 10:04:07 +01:00
parent 9fa935099f
commit c6fd5bc864
2 changed files with 13 additions and 0 deletions

View File

@@ -1421,6 +1421,7 @@ class OrderChange(EventViewMixin, OrderDetailMixin, TemplateView):
self._validate_total_diff(ocm)
except OrderError as e:
messages.error(self.request, str(e))
return self.get(request, *args, **kwargs)
if "confirm" in request.POST:
try:

View File

@@ -1134,6 +1134,18 @@ class OrderChangeAddonsTest(BaseOrdersTest):
assert 'alert-danger' 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):
self.event.settings.change_allow_user_price = 'eq'
response = self.client.post(