forked from CGM_Public/pretix_original
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:
@@ -1969,14 +1969,20 @@ class OrderPayment(models.Model):
|
||||
self.order.invoice_dirty
|
||||
)
|
||||
if gen_invoice:
|
||||
if invoices:
|
||||
last_i = self.order.invoices.filter(is_cancellation=False).last()
|
||||
if not last_i.canceled:
|
||||
generate_cancellation(last_i)
|
||||
invoice = generate_invoice(
|
||||
self.order,
|
||||
trigger_pdf=not send_mail or not self.order.event.settings.invoice_email_attachment
|
||||
)
|
||||
try:
|
||||
if invoices:
|
||||
last_i = self.order.invoices.filter(is_cancellation=False).last()
|
||||
if not last_i.canceled:
|
||||
generate_cancellation(last_i)
|
||||
invoice = generate_invoice(
|
||||
self.order,
|
||||
trigger_pdf=not send_mail or not self.order.event.settings.invoice_email_attachment
|
||||
)
|
||||
except Exception as e:
|
||||
logger.exception("Could not generate invoice.")
|
||||
self.order.log_action("pretix.event.order.invoice.failed", data={
|
||||
"exception": str(e)
|
||||
})
|
||||
|
||||
transmit_invoice_task = invoice_transmission_separately(invoice)
|
||||
transmit_invoice_mail = not transmit_invoice_task and self.order.event.settings.invoice_email_attachment and self.order.email
|
||||
|
||||
Reference in New Issue
Block a user