Use "cancel" method instead of "refund" for free orders (#743)

* Use "cancel" method instead of "refund" for free orders

* Adjust API
This commit is contained in:
Raphael Michel
2018-01-15 21:46:16 +01:00
committed by GitHub
parent db24bd4d78
commit f8cc332ed7
8 changed files with 30 additions and 9 deletions

View File

@@ -219,7 +219,7 @@ class OrderTransition(OrderView):
messages.warning(self.request, _('The order has been marked as paid, but we were unable to send a confirmation mail.'))
else:
messages.success(self.request, _('The order has been marked as paid.'))
elif self.order.status == Order.STATUS_PENDING and to == 'c':
elif self.order.cancel_allowed() and to == 'c':
cancel_order(self.order, user=self.request.user, send_mail=self.request.POST.get("send_email") == "on")
messages.success(self.request, _('The order has been canceled.'))
elif self.order.status == Order.STATUS_PAID and to == 'n':
@@ -241,7 +241,7 @@ class OrderTransition(OrderView):
def get(self, *args, **kwargs):
to = self.request.GET.get('status', '')
if self.order.status == Order.STATUS_PENDING and to == 'c':
if self.order.cancel_allowed() and to == 'c':
return render(self.request, 'pretixcontrol/order/cancel.html', {
'order': self.order,
})