diff --git a/maintenance_equipment_sequence/models/maintenance.py b/maintenance_equipment_sequence/models/maintenance.py index 42eb29066..d6640314f 100644 --- a/maintenance_equipment_sequence/models/maintenance.py +++ b/maintenance_equipment_sequence/models/maintenance.py @@ -63,16 +63,17 @@ def _inverse_seq_number_next(self): sequence = category.sequence_id._get_current_sequence() sequence.sudo().number_next = category.sequence_number_next - @api.model - def create(self, vals): - if not vals.get("sequence_id", False): - if vals.get("sequence_prefix", False): - vals["sequence_id"] = self.sudo()._create_sequence(vals).id - else: - vals["sequence_prefix"] = ( - self.env["ir.sequence"].browse(vals["sequence_id"]).prefix - ) - result = super().create(vals) + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + if not vals.get("sequence_id", False): + if vals.get("sequence_prefix", False): + vals["sequence_id"] = self.sudo()._create_sequence(vals).id + else: + vals["sequence_prefix"] = ( + self.env["ir.sequence"].browse(vals["sequence_id"]).prefix + ) + result = super().create(vals_list) self._compute_equipment_code() return result @@ -107,18 +108,19 @@ def _compute_equipment_code(self): class MaintenanceEquipment(models.Model): _inherit = "maintenance.equipment" - @api.model - def create(self, vals): - equipment = super().create(vals) - if equipment.category_id and not equipment.serial_no: - sequence_id = ( - self.env["maintenance.equipment.category"] - .browse(vals["category_id"]) - .sequence_id - ) - if sequence_id: - equipment.serial_no = sequence_id._next() - return equipment + @api.model_create_multi + def create(self, vals_list): + equipments = super().create(vals_list) + for equipment, vals in zip(equipments, vals_list): + if equipment.category_id and not equipment.serial_no: + sequence_id = ( + self.env["maintenance.equipment.category"] + .browse(vals.get("category_id")) + .sequence_id + ) + if sequence_id: + equipment.serial_no = sequence_id._next() + return equipments def write(self, vals): result = super().write(vals)