Skip to content

Commit e1a117b

Browse files
is-ifeng-ife
is-ife
authored andcommitted
[FIX] maintenance_equipment_sequence: add model_create_multi to create method
1 parent 0c56bb4 commit e1a117b

File tree

2 files changed

+35
-10
lines changed

2 files changed

+35
-10
lines changed

maintenance_equipment_sequence/models/maintenance.py

+11-10
Original file line numberDiff line numberDiff line change
@@ -63,16 +63,17 @@ def _inverse_seq_number_next(self):
6363
sequence = category.sequence_id._get_current_sequence()
6464
sequence.sudo().number_next = category.sequence_number_next
6565

66-
@api.model
67-
def create(self, vals):
68-
if not vals.get("sequence_id", False):
69-
if vals.get("sequence_prefix", False):
70-
vals["sequence_id"] = self.sudo()._create_sequence(vals).id
71-
else:
72-
vals["sequence_prefix"] = (
73-
self.env["ir.sequence"].browse(vals["sequence_id"]).prefix
74-
)
75-
result = super(MaintenanceEquipmentCategory, self).create(vals)
66+
@api.model_create_multi
67+
def create(self, vals_list):
68+
for vals in vals_list:
69+
if not vals.get("sequence_id", False):
70+
if vals.get("sequence_prefix", False):
71+
vals["sequence_id"] = self.sudo()._create_sequence(vals).id
72+
else:
73+
vals["sequence_prefix"] = (
74+
self.env["ir.sequence"].browse(vals["sequence_id"]).prefix
75+
)
76+
result = super().create(vals_list)
7677
self._compute_equipment_code()
7778
return result
7879

maintenance_equipment_sequence/tests/test_maintenance_equipment_sequence.py

+24
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,27 @@ def test_01_maintenance_equipment_sequence(self):
5959
# Remove code and be automatically set to sequence next value
6060
equipment_1.write({"serial_no": False})
6161
self.assertEqual(equipment_1.serial_no, "TTC0002")
62+
63+
def test_02_maintenance_equipment_sequence(self):
64+
"""Create an equipment category linked to a default sequence with a prefix,
65+
and verify that the category correctly inherits the sequence prefix.
66+
"""
67+
# Create a sequence
68+
seq_1 = self.sequence_obj.create(
69+
{
70+
"name": "Test Sequence",
71+
"implementation": "no_gap",
72+
"prefix": "TTC_TEST",
73+
"padding": 4,
74+
"number_increment": 1,
75+
"use_date_range": False,
76+
}
77+
)
78+
# Create an equipment category linked to the sequence
79+
categ_1 = self.maintenance_equipment_categ_obj.create(
80+
{
81+
"name": "Test Category 0",
82+
"sequence_id": seq_1.id,
83+
}
84+
)
85+
self.assertEqual(categ_1.sequence_prefix, seq_1.prefix)

0 commit comments

Comments
 (0)