# -*- coding: utf-8 -*- # Copyright 2026 Nexa Systems Inc. # License OPL-1 (Odoo Proprietary License v1.0) from odoo import api, fields, models class FpMaintenanceNode(models.Model): """Maintenance checklist item. Individual task or check within a maintenance plan. Auto-numbered on creation. """ _name = 'fp.maintenance.node' _description = 'Fusion Plating — Maintenance Node' _order = 'number desc' name = fields.Char( string='Name', required=True, ) number = fields.Integer( string='Number', readonly=True, copy=False, ) plan_id = fields.Many2one( 'fp.maintenance.plan', string='Plan', ondelete='set null', ) active = fields.Boolean(default=True) company_id = fields.Many2one( 'res.company', string='Company', default=lambda self: self.env.company, ) @api.model_create_multi def create(self, vals_list): for vals in vals_list: if not vals.get('number'): last = self.sudo().search([], order='number desc', limit=1) vals['number'] = (last.number if last else 0) + 1 return super().create(vals_list)