Add option to ignore quota when extending expired orders

This commit is contained in:
Raphael Michel
2017-10-10 12:40:18 +02:00
parent 645e82fb04
commit bbade75061
3 changed files with 39 additions and 1 deletions

View File

@@ -463,7 +463,7 @@ class OrderExtend(OrderView):
try:
with self.order.event.lock() as now_dt:
is_available = self.order._is_still_available(now_dt, count_waitinglist=False)
if is_available is True:
if is_available is True or self.form.cleaned_data.get('quota_ignore', False) is True:
self.form.save()
self.order.status = Order.STATUS_PENDING
self.order.save()
@@ -474,6 +474,7 @@ class OrderExtend(OrderView):
messages.success(self.request, _('The payment term has been changed.'))
else:
messages.error(self.request, is_available)
return self._redirect_here()
except LockTimeoutException:
messages.error(self.request, _('We were not able to process the request completely as the '
'server was too busy.'))
@@ -487,6 +488,12 @@ class OrderExtend(OrderView):
return self._redirect_back()
return super().dispatch(request, *kwargs, **kwargs)
def _redirect_here(self):
return redirect('control:event.order.extend',
event=self.request.event.slug,
organizer=self.request.event.organizer.slug,
code=self.order.code)
def get(self, *args, **kwargs):
return render(self.request, 'pretixcontrol/order/extend.html', {
'order': self.order,