Align FSM modules with Odoo instructions requirements

This commit is contained in:
Ruslan Bakiev
2026-02-13 16:44:40 +07:00
parent fa145350ca
commit 86f87ec1c9
38 changed files with 505 additions and 181 deletions

View File

@@ -5,14 +5,14 @@ from odoo.exceptions import ValidationError
class RepairWorkOrder(models.Model):
_name = "repair.work.order"
_description = "Repair Work Order"
_inherit = ["mail.thread"]
_inherit = ["mail.thread", "mail.activity.mixin"]
_order = "id desc"
name = fields.Char(default="New", copy=False, readonly=True, tracking=True)
contact_id = fields.Many2one("dsrpt.contact", required=True, tracking=True)
zone_id = fields.Many2one("repair.fsm.zone", string="FSM Zone", tracking=True)
description = fields.Text()
requested_datetime = fields.Datetime(default=fields.Datetime.now)
description = fields.Text(tracking=True)
requested_datetime = fields.Datetime(default=fields.Datetime.now, tracking=True)
scheduled_datetime = fields.Datetime(tracking=True)
technician_id = fields.Many2one("repair.technician", tracking=True)
assigned_user_id = fields.Many2one("res.users", related="technician_id.user_id", store=True)
@@ -27,6 +27,7 @@ class RepairWorkOrder(models.Model):
],
default="draft",
tracking=True,
group_expand="_group_expand_states",
)
time_line_ids = fields.One2many("repair.work.order.time", "work_order_id", string="Time Logs")
material_line_ids = fields.One2many("repair.work.order.material", "work_order_id", string="Material Logs")
@@ -40,6 +41,9 @@ class RepairWorkOrder(models.Model):
vals["name"] = self.env["ir.sequence"].next_by_code("repair.work.order") or "New"
return super().create(vals_list)
def _group_expand_states(self, states, domain, order):
return [key for key, _label in self._fields["state"].selection]
@api.depends("time_line_ids.hours", "material_line_ids.subtotal")
def _compute_totals(self):
for rec in self: