forked from CGM_Public/pretix_original
Invoice generation: Add way for renderers to signal they are not ready (#5905)
This commit is contained in:
@@ -148,6 +148,10 @@ class NumberedCanvas(Canvas):
|
|||||||
self.restoreState()
|
self.restoreState()
|
||||||
|
|
||||||
|
|
||||||
|
class InvoiceNotReadyException(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class BaseInvoiceRenderer:
|
class BaseInvoiceRenderer:
|
||||||
"""
|
"""
|
||||||
This is the base class for all invoice renderers.
|
This is the base class for all invoice renderers.
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ from django_scopes import scope, scopes_disabled
|
|||||||
from i18nfield.strings import LazyI18nString
|
from i18nfield.strings import LazyI18nString
|
||||||
|
|
||||||
from pretix.base.i18n import language
|
from pretix.base.i18n import language
|
||||||
|
from pretix.base.invoicing.pdf import InvoiceNotReadyException
|
||||||
from pretix.base.invoicing.transmission import (
|
from pretix.base.invoicing.transmission import (
|
||||||
get_transmission_types, transmission_providers,
|
get_transmission_types, transmission_providers,
|
||||||
)
|
)
|
||||||
@@ -504,7 +505,7 @@ def generate_invoice(order: Order, trigger_pdf=True):
|
|||||||
return invoice
|
return invoice
|
||||||
|
|
||||||
|
|
||||||
@app.task(base=TransactionAwareTask)
|
@app.task(base=TransactionAwareTask, throws=(InvoiceNotReadyException,))
|
||||||
def invoice_pdf_task(invoice: int):
|
def invoice_pdf_task(invoice: int):
|
||||||
with scopes_disabled():
|
with scopes_disabled():
|
||||||
i = Invoice.objects.get(pk=invoice)
|
i = Invoice.objects.get(pk=invoice)
|
||||||
|
|||||||
Reference in New Issue
Block a user