from odoo import fields, models class RepairFsmZone(models.Model): _name = "repair.fsm.zone" _description = "FSM Zone" _order = "name" _inherit = ["mail.thread", "mail.activity.mixin"] name = fields.Char(required=True, tracking=True) code = fields.Char(tracking=True) state = fields.Selection( selection=[ ("draft", "Draft"), ("active", "Active"), ("archived", "Archived"), ], default="draft", tracking=True, group_expand="_group_expand_states", ) active = fields.Boolean(default=True, tracking=True) def _group_expand_states(self, states, domain, order): return [key for key, _label in self._fields["state"].selection] def action_set_active(self): self.write({"state": "active", "active": True}) def action_archive(self): self.write({"state": "archived", "active": False}) def action_reset_draft(self): self.write({"state": "draft", "active": True})