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 18:15 +0000

1from odoo import fields, models 

2from odoo.tools import is_html_empty 

3 

4 

5class CustomerNotePreview(models.TransientModel): 

6 """ 

7 Wizard to preview a Customer Note with placeholders 

8 """ 

9 

10 _name = "customer.note.preview.wizard" 

11 _description = "customer.note.preview.wizard" 

12 

13 title = fields.Char() 

14 message = fields.Html() 

15 

16 def default_get(self, fields_list: list) -> dict: 

17 """ 

18 Renders customer note message with placeholders for preview. 

19 

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