Coverage for ingadhoc-odoo-saas-adhoc / saas_provider_upgrade / wizards / customer_note_preview.py: 42%
17 statements
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-09 19:24 +0000
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-09 19:24 +0000
1from odoo import fields, models
2from odoo.tools import is_html_empty
5class CustomerNotePreview(models.TransientModel):
6 """
7 Wizard to preview a Customer Note with placeholders
8 """
10 _name = "customer.note.preview.wizard"
11 _description = "customer.note.preview.wizard"
13 title = fields.Char()
14 message = fields.Html()
16 def default_get(self, fields_list: list) -> dict:
17 """
18 Renders customer note message with placeholders for preview.
20 :param fields_list: List of field names to get defaults for
21 :return: Dict with default values including rendered message
22 """
23 defaults = super().default_get(fields_list)
24 upgrade_line_id = self.env["saas.upgrade.line"].browse(self.env.context.get("upgrade_line_id"))
25 message_to_render = upgrade_line_id.dev_message or ""
26 used_vars = upgrade_line_id.extract_qweb_variables(message_to_render)
27 message, _ = self.env["helpdesk.ticket.customer_note"].render(
28 message_to_render, upgrade_line_id.placeholders, bool(used_vars)
29 )
30 if is_html_empty(message):
31 message = False
32 defaults.update(
33 {
34 "title": upgrade_line_id.title,
35 "message": message,
36 }
37 )
38 return defaults