Do not crash if generate_invoice fails (#5483)

* Do not crash if generate_invoice fails

* Add logging

* Add cancellation to try block

* One last thing…
This commit is contained in:
Raphael Michel
2025-10-07 11:20:31 +02:00
committed by GitHub
parent f447e7b9c4
commit 15cbb3a416
6 changed files with 167 additions and 62 deletions

View File

@@ -764,7 +764,13 @@ class EventOrderViewSet(OrderViewSetMixin, viewsets.ModelViewSet):
) and not order.invoices.last()
invoice = None
if gen_invoice:
invoice = generate_invoice(order, trigger_pdf=True)
try:
invoice = generate_invoice(order, trigger_pdf=True)
except Exception as e:
logger.exception("Could not generate invoice.")
order.log_action("pretix.event.order.invoice.failed", data={
"exception": str(e)
})
# Refresh serializer only after running signals
prefetch_related_objects([order], self._positions_prefetch(request))