details:   https://code.tryton.org/tryton/commit/0584bf63e7bb
branch:    default
user:      Cédric Krier <[email protected]>
date:      Mon Jun 15 15:25:20 2026 +0200
description:
        Allow to customize the storage of invoice report
diffstat:

 modules/account_invoice/invoice.py |  21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 deletions(-)

diffs (31 lines):

diff -r ccb26ad8dd0e -r 0584bf63e7bb modules/account_invoice/invoice.py
--- a/modules/account_invoice/invoice.py        Mon Sep 07 18:12:38 2026 +0200
+++ b/modules/account_invoice/invoice.py        Mon Jun 15 15:25:20 2026 +0200
@@ -3783,15 +3783,18 @@
                 invoice.invoice_report_cache)
         else:
             result = super()._execute(records, header, data, action)
-            if invoice.invoice_report_versioned:
-                format_, data = result
-                if isinstance(data, str):
-                    data = bytes(data, 'utf-8')
-                invoice.invoice_report_format = format_
-                invoice.invoice_report_cache = \
-                    Invoice.invoice_report_cache.cast(data)
-                invoice.save()
-            return result
+            return cls.store(invoice, *result)
+
+    @classmethod
+    def store(cls, invoice, format_, data):
+        if invoice.invoice_report_versioned:
+            if isinstance(data, str):
+                data = bytes(data, 'utf-8')
+            invoice.invoice_report_format = format_
+            invoice.invoice_report_cache = \
+                Invoice.invoice_report_cache.cast(data)
+            invoice.save()
+        return format_, data
 
     @classmethod
     def render(cls, *args, **kwargs):

Reply via email to