|
|
@ -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 |
|
|
|