Don't mark orders as pending unnecessarily

This commit is contained in:
Raphael Michel
2019-01-03 09:49:44 +01:00
parent 687c85eb58
commit 3c57895101
3 changed files with 37 additions and 9 deletions

View File

@@ -627,7 +627,7 @@ class RefundViewSet(CreateModelMixin, viewsets.ReadOnlyModelViewSet):
if request.data.get('mark_refunded', False):
mark_order_refunded(refund.order, user=self.request.user if self.request.user.is_authenticated else None,
auth=self.request.auth)
else:
elif not (refund.order.status == Order.STATUS_PAID and refund.order.pending_sum <= 0):
refund.order.status = Order.STATUS_PENDING
refund.order.set_expires(
now(),

View File

@@ -464,7 +464,7 @@ class OrderRefundProcess(OrderView):
if self.request.POST.get("action") == "r":
mark_order_refunded(self.order, user=self.request.user)
else:
elif not (self.order.status == Order.STATUS_PAID and self.order.pending_sum <= 0):
self.order.status = Order.STATUS_PENDING
self.order.set_expires(
now(),
@@ -750,13 +750,14 @@ class OrderRefundView(OrderView):
if self.start_form.cleaned_data.get('action') == 'mark_refunded':
mark_order_refunded(self.order, user=self.request.user)
elif self.start_form.cleaned_data.get('action') == 'mark_pending':
self.order.status = Order.STATUS_PENDING
self.order.set_expires(
now(),
self.order.event.subevents.filter(
id__in=self.order.positions.values_list('subevent_id', flat=True))
)
self.order.save(update_fields=['status', 'expires'])
if not (self.order.status == Order.STATUS_PAID and self.order.pending_sum <= 0):
self.order.status = Order.STATUS_PENDING
self.order.set_expires(
now(),
self.order.event.subevents.filter(
id__in=self.order.positions.values_list('subevent_id', flat=True))
)
self.order.save(update_fields=['status', 'expires'])
return redirect(self.get_order_url())
else: