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
« 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
8class AdhocModuleModule(models.Model):
9 _inherit = "adhoc.module.module"
11 upgrade_line_ids = fields.One2many(
12 "saas.upgrade.line",
13 compute="_compute_upgrade_lines",
14 )
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 )
34 def action_create_upgrade_line(self) -> dict:
35 """
36 Creates a new upgrade line with default values for the current module.
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