From 88cbd5bea2e78a9682a01a1c89c81fb997ab06b4 Mon Sep 17 00:00:00 2001 From: Risvana Cybro Date: Fri, 29 Aug 2025 17:00:44 +0530 Subject: [PATCH] Aug 29: [FIX] Bug Fixed 'invoice_format_editor' --- invoice_format_editor/__manifest__.py | 2 +- invoice_format_editor/doc/RELEASE_NOTES.md | 6 ++ .../models/base_document_layout.py | 56 ++++++++++--------- 3 files changed, 37 insertions(+), 27 deletions(-) diff --git a/invoice_format_editor/__manifest__.py b/invoice_format_editor/__manifest__.py index ccd012c6e..493530077 100644 --- a/invoice_format_editor/__manifest__.py +++ b/invoice_format_editor/__manifest__.py @@ -21,7 +21,7 @@ ############################################################################# { 'name': 'Invoice Format Editor', - 'version': '18.0.1.0.0', + 'version': '18.0.1.0.1', 'category': 'Accounting', 'summary': 'Invoice Report, Report Editor, Customise Invoice Report, ' 'Invoice Report Templates, Account Reports, Odoo18, ' diff --git a/invoice_format_editor/doc/RELEASE_NOTES.md b/invoice_format_editor/doc/RELEASE_NOTES.md index f74c4c09a..70d221e2d 100644 --- a/invoice_format_editor/doc/RELEASE_NOTES.md +++ b/invoice_format_editor/doc/RELEASE_NOTES.md @@ -4,3 +4,9 @@ #### Version 18.0.1.0.0 #### ADD - Initial commit for Invoice Format Editor + +#### 27.18.2025 +#### Version 18.0.1.0.1 +#### BUG_FIX +- Commit for fix issue with configure document layout + diff --git a/invoice_format_editor/models/base_document_layout.py b/invoice_format_editor/models/base_document_layout.py index c613cc4a9..f955223c2 100644 --- a/invoice_format_editor/models/base_document_layout.py +++ b/invoice_format_editor/models/base_document_layout.py @@ -39,35 +39,39 @@ class BaseDocumentLayout(models.TransientModel): 'secondary_color', 'report_header', 'report_footer', 'base_layout', 'document_layout_id') def _compute_preview(self): - """ compute a qweb based preview to display on the wizard """ + """Compute a qweb based preview to display on the wizard""" styles = self._get_asset_style() for wizard in self: if wizard.report_layout_id: - if wizard.base_layout == 'default': - preview_css = self._get_css_for_preview(styles, wizard.id) - ir_ui_view = wizard.env['ir.ui.view'] - wizard.preview = ir_ui_view._render_template( - 'web.report_invoice_wizard_preview', - {'company': wizard, 'preview_css': preview_css}) - elif wizard.base_layout == 'normal': - preview_css = self._get_css_for_preview(styles, wizard.id) - ir_ui_view = wizard.env['ir.ui.view'] - wizard.preview = ir_ui_view._render_template( - 'invoice_format_editor.report_preview_normal', - {'company': wizard, 'preview_css': preview_css, }) - elif wizard.base_layout == 'modern': - preview_css = self._get_css_for_preview(styles, wizard.id) - ir_ui_view = wizard.env['ir.ui.view'] - wizard.preview = ir_ui_view._render_template( - 'invoice_format_editor.report_preview_modern', - {'company': wizard, 'preview_css': preview_css, }) - elif wizard.base_layout == 'old': - preview_css = self._get_css_for_preview(styles, wizard.id) - ir_ui_view = wizard.env['ir.ui.view'] - wizard.preview = ir_ui_view._render_template( - 'invoice_format_editor.report_preview_old', - {'company': wizard, 'preview_css': preview_css, }) - else: + preview_css = self._get_css_for_preview(styles, wizard.id) + ir_ui_view = wizard.env['ir.ui.view'] + + # Define helper functions and context variables + def is_html_empty(value): + return not bool(value) + + values = { + 'company': wizard, + 'preview_css': preview_css, + 'is_html_empty': is_html_empty + } + try: + if wizard.base_layout == 'default': + wizard.preview = ir_ui_view._render_template( + 'web.report_invoice_wizard_preview', values) + elif wizard.base_layout == 'normal': + wizard.preview = ir_ui_view._render_template( + 'invoice_format_editor.report_preview_normal', values) + elif wizard.base_layout == 'modern': + wizard.preview = ir_ui_view._render_template( + 'invoice_format_editor.report_preview_modern', values) + elif wizard.base_layout == 'old': + wizard.preview = ir_ui_view._render_template( + 'invoice_format_editor.report_preview_old', values) + else: + wizard.preview = False + except Exception as e: + print(f"Error rendering preview: {str(e)}") wizard.preview = False else: wizard.preview = False