Coverage for ingadhoc-odoo-saas-adhoc / saas_provider_upgrade / models / adhoc_module_module.py: 54%

11 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-03-09 20:33 +0000

1############################################################################## 

2# For copyright and license notices, see __manifest__.py file in module root 

3# directory 

4############################################################################## 

5from odoo import api, fields, models 

6 

7 

8class AdhocModuleModule(models.Model): 

9 _inherit = "adhoc.module.module" 

10 

11 upgrade_line_ids = fields.One2many( 

12 "saas.upgrade.line", 

13 compute="_compute_upgrade_lines", 

14 ) 

15 

16 @api.depends( 

17 "module_id.upgrade_line_ids.upgrade_ticket_ids", 

18 "module_id.upgrade_line_ids.upgrade_type_ids", 

19 "major_version_id", 

20 ) 

21 def _compute_upgrade_lines(self): 

22 for rec in self: 

23 rec.upgrade_line_ids = rec.module_id.upgrade_line_ids.filtered( 

24 lambda upgrade_line: any( 

25 ticket.upgrade_type_id.target_odoo_version_group_id.major_version_id == rec.major_version_id 

26 for ticket in upgrade_line.upgrade_ticket_ids 

27 ) 

28 or any( 

29 up_type.target_odoo_version_group_id.major_version_id == rec.major_version_id 

30 for up_type in upgrade_line.upgrade_type_ids 

31 ) 

32 ) 

33 

34 def action_create_upgrade_line(self) -> dict: 

35 """ 

36 Creates a new upgrade line with default values for the current module. 

37 

38 :return: Form view action dict 

39 """ 

40 res = ( 

41 self.env["saas.upgrade.line"] 

42 .with_context( 

43 default_type="test", 

44 default_add_customer_note=True, 

45 default_upgrade_type_ids=self.env["saas.upgrade.type"] 

46 .search([("target_odoo_version_group_id.major_version_id", "=", self.major_version_id.id)]) 

47 .ids, 

48 default_module_ids=[self.module_id.id], 

49 ) 

50 .get_formview_action() 

51 ) 

52 return res