oca-technical/odoo-bringout-oca-automation-automation_oca/automation_oca/wizards/automation_configuration_test.py
2025-08-29 15:43:03 +02:00

43 lines
1.3 KiB
Python

# Copyright 2024 Dixmit
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
class AutomationConfigurationTest(models.TransientModel):
_name = "automation.configuration.test"
_description = "Test automation configuration"
configuration_id = fields.Many2one("automation.configuration", required=True)
model = fields.Char(related="configuration_id.model")
resource_ref = fields.Reference(
selection="_selection_target_model",
readonly=False,
required=True,
store=True,
compute="_compute_resource_ref",
)
@api.model
def _selection_target_model(self):
return [
(model.model, model.name)
for model in self.env["ir.model"]
.sudo()
.search([("is_mail_thread", "=", True)])
]
@api.depends("model")
def _compute_resource_ref(self):
for record in self:
if record.model and record.model in self.env:
res = self.env[record.model].search([], limit=1)
record.resource_ref = "%s,%s" % (record.model, res.id)
else:
record.resource_ref = None
def test_record(self):
return self.configuration_id._create_record(
self.resource_ref, is_test=True
).get_formview_action()