diff --git a/l10n_it_edi_extension/__manifest__.py b/l10n_it_edi_extension/__manifest__.py index 1412f8e00bf4..519cf46da285 100644 --- a/l10n_it_edi_extension/__manifest__.py +++ b/l10n_it_edi_extension/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Italy - E-invoicing - Base Feature", - "version": "17.5.1.0.0", + "version": "18.0.1.0.0", "category": "Accounting/Localizations/EDI", "development_status": "Production/Stable", "summary": "E-invoice base feature", @@ -14,6 +14,7 @@ "l10n_it_edi", ], "data": [ + "data/invoice_it_template.xml", "views/l10n_it_view.xml", ], "installable": True, diff --git a/l10n_it_edi_extension/data/invoice_it_template.xml b/l10n_it_edi_extension/data/invoice_it_template.xml new file mode 100644 index 000000000000..a4d59e79bed0 --- /dev/null +++ b/l10n_it_edi_extension/data/invoice_it_template.xml @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/l10n_it_edi_extension/models/account_move.py b/l10n_it_edi_extension/models/account_move.py index 00f8d7270f29..6d3caf084b6b 100644 --- a/l10n_it_edi_extension/models/account_move.py +++ b/l10n_it_edi_extension/models/account_move.py @@ -2,6 +2,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import api, fields, models +from odoo.tools import html2plaintext class AccountMoveInherit(models.Model): @@ -40,3 +41,32 @@ def action_l10n_it_edi_attachment_preview(self): "url": self.l10n_it_edi_attachment_preview_link, "target": "new", } + + # ------------------------------------------------------------------------- + # Helpers + # ------------------------------------------------------------------------- + + def _l10n_it_edi_get_values(self, pdf_values=None): + res = super()._l10n_it_edi_get_values(pdf_values) + + causale_list = [] + if self.narration: + + try: + narration_text = html2plaintext(self.narration) + except Exception: + narration_text = "" + + # max length of Causale is 200 + for causale in narration_text.split("\n"): + if not causale: + continue + causale_list_200 = [ + causale[i : i + 200] for i in range(0, len(causale), 200) + ] + for causale200 in causale_list_200: + causale_list.append(causale200) + + res["causale"] = causale_list + + return res