forked from CGM_Public/pretix_original
Make cancel notifications optional
This commit is contained in:
@@ -732,10 +732,10 @@ def perform_order(self, event: str, payment_provider: str, positions: List[str],
|
||||
|
||||
|
||||
@app.task(base=ProfiledTask, bind=True, max_retries=5, default_retry_delay=1, throws=(OrderError,))
|
||||
def cancel_order(self, order: int, user: int=None):
|
||||
def cancel_order(self, order: int, user: int=None, send_mail: bool=True):
|
||||
try:
|
||||
try:
|
||||
return _cancel_order(order, user)
|
||||
return _cancel_order(order, user, send_mail)
|
||||
except LockTimeoutException:
|
||||
self.retry(exc=OrderError(error_messages['busy']))
|
||||
except (MaxRetriesExceededError, LockTimeoutException):
|
||||
|
||||
@@ -13,7 +13,13 @@
|
||||
|
||||
<form method="post" href="">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="status" value="c" />
|
||||
<input type="hidden" name="status" value="c"/>
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox" name="send_email" value="on" checked="checked">
|
||||
{% trans "Notify user by e-mail" %}
|
||||
</label>
|
||||
</div>
|
||||
<div class="row checkout-button-row">
|
||||
<div class="col-md-4">
|
||||
<a class="btn btn-block btn-default btn-lg"
|
||||
|
||||
@@ -206,7 +206,7 @@ class OrderTransition(OrderView):
|
||||
else:
|
||||
messages.success(self.request, _('The order has been marked as paid.'))
|
||||
elif self.order.status == Order.STATUS_PENDING and to == 'c':
|
||||
cancel_order(self.order, user=self.request.user)
|
||||
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':
|
||||
self.order.status = Order.STATUS_PENDING
|
||||
|
||||
Reference in New Issue
Block a user