This commit is contained in:
2026-03-26 19:58:14 +01:00
parent f0b0666773
commit c06ea3bd99

View File

@@ -3695,13 +3695,19 @@ class InvoiceReport(Report):
Invoice = pool.get('account.invoice')
# Re-instantiate because records are TranslateModel
invoice, = Invoice.browse(records)
if invoice.invoice_report_cache:
report_path = cls._get_action_report_path(action)
use_cache = (
report_path in (None, 'account_invoice/invoice.fodt')
and invoice.invoice_report_cache
)
if use_cache:
return (
invoice.invoice_report_format,
invoice.invoice_report_cache)
else:
result = super()._execute(records, header, data, action)
if invoice.invoice_report_versioned:
if (invoice.invoice_report_versioned
and report_path in (None, 'account_invoice/invoice.fodt')):
format_, data = result
if isinstance(data, str):
data = bytes(data, 'utf-8')
@@ -3718,6 +3724,12 @@ class InvoiceReport(Report):
with Transaction().set_context(language=False):
return super().render(*args, **kwargs)
@staticmethod
def _get_action_report_path(action):
if isinstance(action, dict):
return action.get('report')
return getattr(action, 'report', None)
@classmethod
def execute(cls, ids, data):
pool = Pool()