[FIX] account_move and account_banking_mandate is not overriding the create method in batch

This commit is contained in:
David Ramia
2023-04-27 00:13:03 +02:00
parent 9f4ed826a6
commit 8d5b311d46
4 changed files with 27 additions and 26 deletions

View File

@@ -7,7 +7,7 @@
{
"name": "Account Banking Mandate",
"summary": "Banking mandates",
"version": "16.0.1.0.0",
"version": "16.0.1.0.1",
"development_status": "Production/Stable",
"license": "AGPL-3",
"author": "Compassion CH, "

View File

@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: bank-payment (10.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-11-21 10:17+0000\n"
"PO-Revision-Date: 2023-04-14 14:35+0000\n"
"PO-Revision-Date: 2023-04-27 17:33+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: Italian (http://www.transifex.com/oca/OCA-bank-payment-10-0/"
"language/it/)\n"
@@ -405,9 +405,8 @@ msgstr "Mandati"
#. module: account_banking_mandate
#: model:ir.model.fields,field_description:account_banking_mandate.field_account_banking_mandate__message_has_error
#, fuzzy
msgid "Message Delivery error"
msgstr "Messaggio di errore della consegna"
msgstr "Errore di consegna messaggio"
#. module: account_banking_mandate
#: model:ir.model.fields,field_description:account_banking_mandate.field_account_banking_mandate__message_ids
@@ -532,9 +531,8 @@ msgstr ""
#. module: account_banking_mandate
#: model:ir.model.fields,field_description:account_banking_mandate.field_account_banking_mandate__message_has_sms_error
#, fuzzy
msgid "SMS Delivery error"
msgstr "Messaggio di errore della consegna"
msgstr "Errore consegna SMS"
#. module: account_banking_mandate
#: model:ir.model.fields,field_description:account_banking_mandate.field_account_banking_mandate__scan

View File

@@ -173,14 +173,16 @@ class AccountBankingMandate(models.Model):
% mandate.unique_mandate_reference
)
@api.model
def create(self, vals=None):
unique_mandate_reference = vals.get("unique_mandate_reference")
if not unique_mandate_reference or unique_mandate_reference == "New":
vals["unique_mandate_reference"] = (
self.env["ir.sequence"].next_by_code("account.banking.mandate") or "New"
)
return super().create(vals)
@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
unique_mandate_reference = vals.get("unique_mandate_reference")
if not unique_mandate_reference or unique_mandate_reference == "New":
vals["unique_mandate_reference"] = (
self.env["ir.sequence"].next_by_code("account.banking.mandate")
or "New"
)
return super().create(vals_list)
@api.onchange("partner_bank_id")
def mandate_partner_bank_change(self):

View File

@@ -20,8 +20,8 @@ class AccountMove(models.Model):
related="payment_mode_id.payment_method_id.mandate_required", readonly=True
)
@api.model
def create(self, vals):
@api.model_create_multi
def create(self, vals_list):
"""Fill the mandate_id from the partner if none is provided on
creation, using same method as upstream."""
onchanges = {
@@ -29,16 +29,17 @@ class AccountMove(models.Model):
"_onchange_payment_mode_id": ["mandate_id"],
}
for onchange_method, changed_fields in list(onchanges.items()):
if any(f not in vals for f in changed_fields):
move = self.new(vals)
move = move.with_company(move.company_id.id)
getattr(move, onchange_method)()
for field in changed_fields:
if field not in vals and move[field]:
vals[field] = move._fields[field].convert_to_write(
move[field], move
)
return super().create(vals)
for vals in vals_list:
if any(f not in vals for f in changed_fields):
move = self.new(vals)
move = move.with_company(move.company_id.id)
getattr(move, onchange_method)()
for field in changed_fields:
if field not in vals and move[field]:
vals[field] = move._fields[field].convert_to_write(
move[field], move
)
return super().create(vals_list)
def set_mandate(self):
if self.payment_mode_id.payment_method_id.mandate_required: