mirror of
https://github.com/pretix/pretix.git
synced 2026-05-09 15:54:03 +00:00
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,))
|
@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:
|
||||||
try:
|
try:
|
||||||
return _cancel_order(order, user)
|
return _cancel_order(order, user, send_mail)
|
||||||
except LockTimeoutException:
|
except LockTimeoutException:
|
||||||
self.retry(exc=OrderError(error_messages['busy']))
|
self.retry(exc=OrderError(error_messages['busy']))
|
||||||
except (MaxRetriesExceededError, LockTimeoutException):
|
except (MaxRetriesExceededError, LockTimeoutException):
|
||||||
|
|||||||
@@ -13,7 +13,13 @@
|
|||||||
|
|
||||||
<form method="post" href="">
|
<form method="post" href="">
|
||||||
{% csrf_token %}
|
{% 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="row checkout-button-row">
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<a class="btn btn-block btn-default btn-lg"
|
<a class="btn btn-block btn-default btn-lg"
|
||||||
|
|||||||
@@ -206,7 +206,7 @@ class OrderTransition(OrderView):
|
|||||||
else:
|
else:
|
||||||
messages.success(self.request, _('The order has been marked as paid.'))
|
messages.success(self.request, _('The order has been marked as paid.'))
|
||||||
elif self.order.status == Order.STATUS_PENDING and to == 'c':
|
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.'))
|
messages.success(self.request, _('The order has been canceled.'))
|
||||||
elif self.order.status == Order.STATUS_PAID and to == 'n':
|
elif self.order.status == Order.STATUS_PAID and to == 'n':
|
||||||
self.order.status = Order.STATUS_PENDING
|
self.order.status = Order.STATUS_PENDING
|
||||||
|
|||||||
Reference in New Issue
Block a user