Skip to content

Commit 09d43b5

Browse files
committed
[FIX] Do use create_multi for create function
1 parent ceb9067 commit 09d43b5

File tree

2 files changed

+29
-27
lines changed

2 files changed

+29
-27
lines changed

account_banking_mandate/models/account_banking_mandate.py

+9-8
Original file line numberDiff line numberDiff line change
@@ -173,14 +173,15 @@ def _check_valid_state(self):
173173
% mandate.unique_mandate_reference
174174
)
175175

176-
@api.model
177-
def create(self, vals=None):
178-
unique_mandate_reference = vals.get("unique_mandate_reference")
179-
if not unique_mandate_reference or unique_mandate_reference == "New":
180-
vals["unique_mandate_reference"] = (
181-
self.env["ir.sequence"].next_by_code("account.banking.mandate") or "New"
182-
)
183-
return super().create(vals)
176+
@api.model_create_multi
177+
def create(self, vals_list):
178+
for vals in vals_list:
179+
unique_mandate_reference = vals.get("unique_mandate_reference")
180+
if not unique_mandate_reference or unique_mandate_reference == "New":
181+
vals["unique_mandate_reference"] = (
182+
self.env["ir.sequence"].next_by_code("account.banking.mandate") or "New"
183+
)
184+
return super().create(vals_list)
184185

185186
@api.onchange("partner_bank_id")
186187
def mandate_partner_bank_change(self):

account_banking_mandate/models/account_move.py

+20-19
Original file line numberDiff line numberDiff line change
@@ -20,25 +20,26 @@ class AccountMove(models.Model):
2020
related="payment_mode_id.payment_method_id.mandate_required", readonly=True
2121
)
2222

23-
@api.model
24-
def create(self, vals):
25-
"""Fill the mandate_id from the partner if none is provided on
26-
creation, using same method as upstream."""
27-
onchanges = {
28-
"_onchange_partner_id": ["mandate_id"],
29-
"_onchange_payment_mode_id": ["mandate_id"],
30-
}
31-
for onchange_method, changed_fields in list(onchanges.items()):
32-
if any(f not in vals for f in changed_fields):
33-
move = self.new(vals)
34-
move = move.with_company(move.company_id.id)
35-
getattr(move, onchange_method)()
36-
for field in changed_fields:
37-
if field not in vals and move[field]:
38-
vals[field] = move._fields[field].convert_to_write(
39-
move[field], move
40-
)
41-
return super().create(vals)
23+
@api.model_create_multi
24+
def create(self, vals_list):
25+
for vals in vals_list:
26+
"""Fill the mandate_id from the partner if none is provided on
27+
creation, using same method as upstream."""
28+
onchanges = {
29+
"_onchange_partner_id": ["mandate_id"],
30+
"_onchange_payment_mode_id": ["mandate_id"],
31+
}
32+
for onchange_method, changed_fields in list(onchanges.items()):
33+
if any(f not in vals for f in changed_fields):
34+
move = self.new(vals)
35+
move = move.with_company(move.company_id.id)
36+
getattr(move, onchange_method)()
37+
for field in changed_fields:
38+
if field not in vals and move[field]:
39+
vals[field] = move._fields[field].convert_to_write(
40+
move[field], move
41+
)
42+
return super().create(vals_list)
4243

4344
def set_mandate(self):
4445
if self.payment_mode_id.payment_method_id.mandate_required:

0 commit comments

Comments
 (0)