web/web_create_write_confirm/models/popup_message.py

31 lines
1.0 KiB
Python

from odoo import api, fields, models
class PopupMessage(models.Model):
_name = "popup.message"
_rec_name = "title"
_description = "Popup message"
model_id = fields.Many2one(
comodel_name="ir.model", string="Model", required=True, ondelete="cascade"
)
model = fields.Char(related="model_id.model")
field_ids = fields.Many2many(
comodel_name="ir.model.fields", required=True, string="Fields"
)
field_name = fields.Char(compute="_compute_field_name")
popup_type = fields.Selection(
string="Type",
required=True,
default="confirm",
selection=[("confirm", "Confirmation"), ("alert", "Alert")],
)
title = fields.Char(string="Title", translate=True)
message = fields.Text(string="Message", required=True, translate=True)
active = fields.Boolean(string="Active", default=True)
@api.depends("field_ids")
def _compute_field_name(self):
for message in self:
message.field_name = ",".join(f.name for f in message.field_ids)