From 589fa0f9def363b4bb591165b6f82c385939476b Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Fri, 20 Mar 2020 12:38:57 +0100 Subject: [PATCH] Cancelling events: Send email even if refund failed --- src/pretix/base/services/cancelevent.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/pretix/base/services/cancelevent.py b/src/pretix/base/services/cancelevent.py index c324e9a63..a69b5a522 100644 --- a/src/pretix/base/services/cancelevent.py +++ b/src/pretix/base/services/cancelevent.py @@ -166,11 +166,12 @@ def cancel_event(self, event: Event, subevent: int, auto_refund: bool, keep_fee_ _cancel_order(o.pk, user, send_mail=False, cancellation_fee=fee, keep_fees=keep_fee_objects) refund_amount = o.payment_refund_sum - if auto_refund: - _try_auto_refund(o.pk, manual_refund=manual_refund, allow_partial=True, source=OrderRefund.REFUND_SOURCE_ADMIN) - - if send: - _send_mail(o, send_subject, send_message, subevent, refund_amount, user, o.positions.all()) + try: + if auto_refund: + _try_auto_refund(o.pk, manual_refund=manual_refund, allow_partial=True, source=OrderRefund.REFUND_SOURCE_ADMIN) + finally: + if send: + _send_mail(o, send_subject, send_message, subevent, refund_amount, user, o.positions.all()) except LockTimeoutException: logger.exception("Could not cancel order") failed += 1