From 5b3d11fb30c033cd16a6176d588ac8b39e88a3db Mon Sep 17 00:00:00 2001 From: JasminSForgeFlow Date: Wed, 3 Apr 2024 11:32:11 +0530 Subject: [PATCH] [MIG] account_banking_sepa_direct_debit: Migration to 17.0 --- account_banking_sepa_direct_debit/__manifest__.py | 2 +- .../data/mail_template_data.xml | 6 +++--- .../migrations/16.0.1.0.2/post-migration.py | 11 ----------- .../models/account_banking_mandate.py | 8 +++++--- .../models/account_payment_line.py | 2 +- .../models/mail_compose_message.py | 9 +++++---- .../tests/test_mandate.py | 4 +--- .../views/account_banking_mandate_view.xml | 14 ++++++-------- .../views/res_config_settings.xml | 15 ++++----------- 9 files changed, 26 insertions(+), 45 deletions(-) delete mode 100644 account_banking_sepa_direct_debit/migrations/16.0.1.0.2/post-migration.py diff --git a/account_banking_sepa_direct_debit/__manifest__.py b/account_banking_sepa_direct_debit/__manifest__.py index 8e63a908a..0eaa109d8 100644 --- a/account_banking_sepa_direct_debit/__manifest__.py +++ b/account_banking_sepa_direct_debit/__manifest__.py @@ -7,7 +7,7 @@ { "name": "Account Banking SEPA Direct Debit", "summary": "Create SEPA files for Direct Debit", - "version": "16.0.1.2.0", + "version": "17.0.1.0.0", "license": "AGPL-3", "author": "Akretion, Tecnativa, Odoo Community Association (OCA)", "website": "https://github.com/OCA/bank-payment", diff --git a/account_banking_sepa_direct_debit/data/mail_template_data.xml b/account_banking_sepa_direct_debit/data/mail_template_data.xml index dcb15e808..ec99f3dd2 100644 --- a/account_banking_sepa_direct_debit/data/mail_template_data.xml +++ b/account_banking_sepa_direct_debit/data/mail_template_data.xml @@ -34,10 +34,10 @@

- {{ (object.unique_mandate_reference or 'SEPA Mandate').replace('/','_') }} + name="report_template_ids" + eval="[(4, ref('account_banking_sepa_direct_debit.report_sepa_direct_debit_mandate'))]" + /> {{ object.partner_id.lang }} diff --git a/account_banking_sepa_direct_debit/migrations/16.0.1.0.2/post-migration.py b/account_banking_sepa_direct_debit/migrations/16.0.1.0.2/post-migration.py deleted file mode 100644 index 292df1868..000000000 --- a/account_banking_sepa_direct_debit/migrations/16.0.1.0.2/post-migration.py +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright 2023 Akretion France (http://www.akretion.com/) -# @author: Alexis de Lattre -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from openupgradelib import openupgrade - - -@openupgrade.migrate() -def migrate(env, version): - sct_method = env.ref("account_banking_sepa_direct_debit.sepa_direct_debit") - sct_method.write({"warn_not_sepa": True}) diff --git a/account_banking_sepa_direct_debit/models/account_banking_mandate.py b/account_banking_sepa_direct_debit/models/account_banking_mandate.py index ad683d216..fa67ff8b5 100644 --- a/account_banking_sepa_direct_debit/models/account_banking_mandate.py +++ b/account_banking_sepa_direct_debit/models/account_banking_mandate.py @@ -107,7 +107,8 @@ class AccountBankingMandate(models.Model): for mandate in expired_mandates: mandate.message_post( body=_( - "Mandate automatically set to expired after %d months without use." + "Mandate automatically set to" + " expired after %d months without use." ) % NUMBER_OF_UNUSED_MONTHS_BEFORE_EXPIRY ) @@ -125,7 +126,8 @@ class AccountBankingMandate(models.Model): return action def action_mandate_send(self): - """Opens a wizard to compose an email, with relevant mail template loaded by default""" + """Opens a wizard to compose an email, + with relevant mail template loaded by default""" self.ensure_one() template_id = self.env["ir.model.data"]._xmlid_to_res_id( "account_banking_sepa_direct_debit.email_template_sepa_mandate", @@ -133,7 +135,7 @@ class AccountBankingMandate(models.Model): ) ctx = { "default_model": "account.banking.mandate", - "default_res_id": self.id, + "default_res_ids": self.ids, "default_use_template": bool(template_id), "default_template_id": template_id, "default_composition_mode": "comment", diff --git a/account_banking_sepa_direct_debit/models/account_payment_line.py b/account_banking_sepa_direct_debit/models/account_payment_line.py index 45191f500..2e91fadd1 100644 --- a/account_banking_sepa_direct_debit/models/account_payment_line.py +++ b/account_banking_sepa_direct_debit/models/account_payment_line.py @@ -11,7 +11,7 @@ class AccountPaymentLine(models.Model): def draft2open_payment_line_check(self): res = super().draft2open_payment_line_check() sepa_dd_lines = self.filtered( - lambda l: l.order_id.payment_method_id.code == "sepa_direct_debit" + lambda line: line.order_id.payment_method_id.code == "sepa_direct_debit" ) sepa_dd_lines._check_sepa_direct_debit_ready() return res diff --git a/account_banking_sepa_direct_debit/models/mail_compose_message.py b/account_banking_sepa_direct_debit/models/mail_compose_message.py index f19ba5319..9d00d1b08 100644 --- a/account_banking_sepa_direct_debit/models/mail_compose_message.py +++ b/account_banking_sepa_direct_debit/models/mail_compose_message.py @@ -1,5 +1,6 @@ # Copyright 2024 Tecnativa - Carolina Fernandez # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +import json from odoo import models @@ -10,7 +11,7 @@ class MailComposeMessage(models.TransientModel): def _action_send_mail(self, auto_commit=False): for wizard in self: if self.env.context.get("is_sent"): - self.env[wizard.model].sudo().browse(wizard.res_id).is_sent = True - return super(MailComposeMessage, self)._action_send_mail( - auto_commit=auto_commit - ) + self.env[wizard.model].sudo().browse( + json.loads(wizard.res_ids) + ).is_sent = True + return super()._action_send_mail(auto_commit=auto_commit) diff --git a/account_banking_sepa_direct_debit/tests/test_mandate.py b/account_banking_sepa_direct_debit/tests/test_mandate.py index eff7e8ea8..dc0a42868 100644 --- a/account_banking_sepa_direct_debit/tests/test_mandate.py +++ b/account_banking_sepa_direct_debit/tests/test_mandate.py @@ -40,9 +40,7 @@ class TestMandate(TransactionCase): .browse(email_ctx.get("default_template_id")) .copy({"auto_delete": False}) ) - self.mandate.with_context(**email_ctx).message_post_with_template( - mail_template.id - ) + self.mandate.with_context(**email_ctx).message_post_with_source(mail_template) mail_message = self.mandate.message_ids[0] self.assertEqual( self.mandate.partner_id, mail_message.sudo().mail_ids.recipient_ids diff --git a/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml b/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml index bc31ed086..1f03cba1b 100644 --- a/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml +++ b/account_banking_sepa_direct_debit/views/account_banking_mandate_view.xml @@ -17,7 +17,7 @@ name="action_mandate_send" type="object" string="Send by Email" - states="draft" + invisible="state != 'draft'" class="btn-primary" />