diff --git a/addons/web/models/base_document_layout.py b/addons/web/models/base_document_layout.py index 47df92452da..47260ba25be 100644 --- a/addons/web/models/base_document_layout.py +++ b/addons/web/models/base_document_layout.py @@ -6,6 +6,7 @@ from odoo import api, fields, models, tools from odoo.addons.base.models.ir_qweb_fields import nl2br from odoo.modules import get_resource_path +from odoo.tools import html2plaintext try: import sass as libsass @@ -62,6 +63,7 @@ class BaseDocumentLayout(models.TransientModel): report_header = fields.Html(related='company_id.report_header', readonly=False) report_footer = fields.Html(related='company_id.report_footer', readonly=False, default=_default_report_footer) company_details = fields.Html(related='company_id.company_details', readonly=False, default=_default_company_details) + is_company_details_empty = fields.Boolean(compute='_compute_empty_company_details') # The paper format changes won't be reflected in the preview. paperformat_id = fields.Many2one(related='company_id.paperformat_id', readonly=False) @@ -304,3 +306,10 @@ class BaseDocumentLayout(models.TransientModel): ) except libsass.CompileError as e: raise libsass.CompileError(e.args[0]) + + @api.depends('company_details') + def _compute_empty_company_details(self): + # In recent change when an html field is empty a
balise remains with a
in it,
+ # but when company details is empty we want to put the info of the company
+ for record in self:
+ record.is_company_details_empty = not html2plaintext(record.company_details or '')
diff --git a/addons/web/views/report_templates.xml b/addons/web/views/report_templates.xml
index 18306b6cd9b..5545f7134e9 100644
--- a/addons/web/views/report_templates.xml
+++ b/addons/web/views/report_templates.xml
@@ -304,8 +304,9 @@
balise remains with a
in it,
+ # but when company details is empty we want to put the info of the company
+ for record in self:
+ record.is_company_details_empty = not html2plaintext(record.company_details or '')
+
def cache_restart(self):
warnings.warn("Since 17.0, deprecated method, use `clear_caches` instead", DeprecationWarning, 2)
self.clear_caches()