Public release from ruodoo-project: 19.0 - 2026-07-26 21:17:35 UTC
This commit is contained in:
35
directive_layer/wizard/directive_choose_group_wizard.py
Normal file
35
directive_layer/wizard/directive_choose_group_wizard.py
Normal file
@ -0,0 +1,35 @@
|
||||
from odoo import api, fields, models
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
|
||||
class DirectiveChooseGroupWizard(models.TransientModel):
|
||||
_name = "directive.choose.group.wizard"
|
||||
_description = "Choose Directive Template Group"
|
||||
|
||||
template_group_id = fields.Many2one(
|
||||
"directive.template.group",
|
||||
string="Группа шаблонов",
|
||||
required=True,
|
||||
# domain=lambda self: self._domain_template_group(),
|
||||
)
|
||||
|
||||
@api.model
|
||||
def _domain_template_group(self):
|
||||
active_model = self.env.context.get("active_model")
|
||||
return ["|", ("applicable_model", "=", False), ("applicable_model", "=", active_model or False)]
|
||||
|
||||
def action_confirm(self):
|
||||
active_model = self.env.context.get("active_model")
|
||||
active_id = self.env.context.get("active_id")
|
||||
if not active_model or not active_id:
|
||||
raise UserError("No active record in context.")
|
||||
|
||||
record = self.env[active_model].browse(active_id).exists()
|
||||
if not record:
|
||||
raise UserError("Source record not found.")
|
||||
|
||||
if not hasattr(record, "directive_template_group_id"):
|
||||
raise UserError("Model does not support directive template group (directive.mixin is not applied).")
|
||||
|
||||
record.write({"directive_template_group_id": self.template_group_id.id})
|
||||
return {"type": "ir.actions.act_window_close"}
|
||||
Reference in New Issue
Block a user