[16.0][MIG] account_banking_mandate: migration to 16.0

This commit is contained in:
Giovanni Francesco Capalbo
2023-01-13 10:57:07 +01:00
committed by Reyes4711
parent 5bcf8c5b3e
commit 2ff5461466
13 changed files with 64 additions and 180 deletions

View File

@@ -14,14 +14,14 @@ Account Banking Mandate
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fbank--payment-lightgray.png?logo=github
:target: https://github.com/OCA/bank-payment/tree/15.0/account_banking_mandate
:target: https://github.com/OCA/bank-payment/tree/16.0/account_banking_mandate
:alt: OCA/bank-payment
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/bank-payment-15-0/bank-payment-15-0-account_banking_mandate
:target: https://translation.odoo-community.org/projects/bank-payment-16-0/bank-payment-16-0-account_banking_mandate
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/173/15.0
:alt: Try me on Runbot
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/webui/builds.html?repo=OCA/bank-payment&target_branch=16.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -58,7 +58,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/bank-payment/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/bank-payment/issues/new?body=module:%20account_banking_mandate%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
`feedback <https://github.com/OCA/bank-payment/issues/new?body=module:%20account_banking_mandate%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
@@ -71,6 +71,7 @@ Authors
* Compassion CH
* Tecnativa
* Akretion
* Therp B.V.
Contributors
~~~~~~~~~~~~
@@ -85,6 +86,8 @@ Contributors
* Marçal Isern <marsal.isern@qubiq.es>
* Andrea Stirpe <a.stirpe@onestein.nl>
* Manuel Regidor <manuel.regidor@sygel.es>
* Giovanni Francesco Capalbo <giovanni@therp.nl>
Maintainers
~~~~~~~~~~~
@@ -99,6 +102,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
This module is part of the `OCA/bank-payment <https://github.com/OCA/bank-payment/tree/15.0/account_banking_mandate>`_ project on GitHub.
This module is part of the `OCA/bank-payment <https://github.com/OCA/bank-payment/tree/16.0/account_banking_mandate>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@@ -7,12 +7,13 @@
{
"name": "Account Banking Mandate",
"summary": "Banking mandates",
"version": "15.0.1.0.1",
"version": "16.0.1.0.0",
"development_status": "Production/Stable",
"license": "AGPL-3",
"author": "Compassion CH, "
"Tecnativa, "
"Akretion, "
"Therp B.V., "
"Odoo Community Association (OCA)",
"website": "https://github.com/OCA/bank-payment",
"category": "Banking addons",
@@ -24,7 +25,6 @@
"views/account_payment_line.xml",
"views/res_partner_bank_view.xml",
"views/res_partner.xml",
"views/bank_payment_line_view.xml",
"data/mandate_reference_sequence.xml",
"security/mandate_security.xml",
"security/ir.model.access.csv",

View File

@@ -4,5 +4,4 @@ from . import account_move
from . import res_partner_bank
from . import res_partner
from . import account_payment_line
from . import bank_payment_line
from . import account_move_line

View File

@@ -44,7 +44,7 @@ class AccountBankingMandate(models.Model):
tracking=40,
domain=lambda self: self._get_default_partner_bank_id_domain(),
ondelete="restrict",
index=True,
index="btree",
check_company=True,
)
partner_id = fields.Many2one(
@@ -52,7 +52,7 @@ class AccountBankingMandate(models.Model):
related="partner_bank_id.partner_id",
string="Partner",
store=True,
index=True,
index="btree",
)
company_id = fields.Many2one(
comodel_name="res.company",

View File

@@ -1,23 +0,0 @@
# Copyright 2014 Compassion CH - Cyril Sester <csester@compassion.ch>
# Copyright 2014 Serv. Tecnol. Avanzados - Pedro M. Baeza
# Copyright 2015-16 Akretion - Alexis de Lattre <alexis.delattre@akretion.com>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models
class BankPaymentLine(models.Model):
_inherit = "bank.payment.line"
mandate_id = fields.Many2one(
comodel_name="account.banking.mandate",
string="Direct Debit Mandate",
related="payment_line_ids.mandate_id",
check_company=True,
)
@api.model
def same_fields_payment_line_and_bank_payment_line(self):
res = super().same_fields_payment_line_and_bank_payment_line()
res.append("mandate_id")
return res

View File

@@ -8,3 +8,4 @@
* Marçal Isern <marsal.isern@qubiq.es>
* Andrea Stirpe <a.stirpe@onestein.nl>
* Manuel Regidor <manuel.regidor@sygel.es>
* Giovanni Francesco Capalbo <giovanni@therp.nl>

View File

@@ -3,7 +3,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
<meta name="generator" content="Docutils: http://docutils.sourceforge.net/" />
<title>Account Banking Mandate</title>
<style type="text/css">
@@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/bank-payment/tree/15.0/account_banking_mandate"><img alt="OCA/bank-payment" src="https://img.shields.io/badge/github-OCA%2Fbank--payment-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/bank-payment-15-0/bank-payment-15-0-account_banking_mandate"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/173/15.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/bank-payment/tree/16.0/account_banking_mandate"><img alt="OCA/bank-payment" src="https://img.shields.io/badge/github-OCA%2Fbank--payment-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/bank-payment-16-0/bank-payment-16-0-account_banking_mandate"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runboat.odoo-community.org/webui/builds.html?repo=OCA/bank-payment&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module adds a generic model for banking mandates.
These mandates can be specialized to fit any banking mandates (such as sepa or lsv).</p>
<p>A banking mandate is attached to a bank account and represents an
@@ -404,7 +404,7 @@ account.</p>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/bank-payment/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/bank-payment/issues/new?body=module:%20account_banking_mandate%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<a class="reference external" href="https://github.com/OCA/bank-payment/issues/new?body=module:%20account_banking_mandate%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
@@ -415,6 +415,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<li>Compassion CH</li>
<li>Tecnativa</li>
<li>Akretion</li>
<li>Therp B.V.</li>
</ul>
</div>
<div class="section" id="contributors">
@@ -430,6 +431,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<li>Marçal Isern &lt;<a class="reference external" href="mailto:marsal.isern&#64;qubiq.es">marsal.isern&#64;qubiq.es</a>&gt;</li>
<li>Andrea Stirpe &lt;<a class="reference external" href="mailto:a.stirpe&#64;onestein.nl">a.stirpe&#64;onestein.nl</a>&gt;</li>
<li>Manuel Regidor &lt;<a class="reference external" href="mailto:manuel.regidor&#64;sygel.es">manuel.regidor&#64;sygel.es</a>&gt;</li>
<li>Giovanni Francesco Capalbo &lt;<a class="reference external" href="mailto:giovanni&#64;therp.nl">giovanni&#64;therp.nl</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
@@ -439,7 +441,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/bank-payment/tree/15.0/account_banking_mandate">OCA/bank-payment</a> project on GitHub.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/bank-payment/tree/16.0/account_banking_mandate">OCA/bank-payment</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>

View File

@@ -262,11 +262,7 @@ class TestInvoiceMandate(TransactionCase):
self.invoice_account = self.env["account.account"].search(
[
(
"user_type_id",
"=",
self.env.ref("account.data_account_type_receivable").id,
),
("account_type", "=", "asset_receivable"),
("company_id", "=", self.company.id),
],
limit=1,
@@ -275,11 +271,7 @@ class TestInvoiceMandate(TransactionCase):
self.env["account.account"]
.search(
[
(
"user_type_id",
"=",
self.env.ref("account.data_account_type_expenses").id,
),
("account_type", "=", "expense"),
("company_id", "=", self.company.id),
],
limit=1,

View File

@@ -9,115 +9,64 @@ from odoo.tests.common import TransactionCase
class TestMandate(TransactionCase):
def test_mandate_01(self):
bank_account = self.env.ref("account_payment_mode.res_partner_12_iban")
mandate = self.env["account.banking.mandate"].create(
def setUp(self):
super(TestMandate, self).setUp()
self.company = self.env.company
self.company_2 = self.env["res.company"].create({"name": "company 2"})
self.company_2.partner_id.company_id = self.company_2.id
self.bank_account = self.env.ref("account_payment_mode.res_partner_12_iban")
self.bank_account.partner_id.company_id = self.company.id
self.mandate = self.env["account.banking.mandate"].create(
{
"partner_bank_id": bank_account.id,
"partner_bank_id": self.bank_account.id,
"signature_date": "2015-01-01",
"company_id": self.company.id,
}
)
self.assertEqual(mandate.state, "draft")
mandate.validate()
self.assertEqual(mandate.state, "valid")
mandate.cancel()
self.assertEqual(mandate.state, "cancel")
mandate.back2draft()
self.assertEqual(mandate.state, "draft")
def test_mandate_01(self):
self.assertEqual(self.mandate.state, "draft")
self.mandate.validate()
self.assertEqual(self.mandate.state, "valid")
self.mandate.cancel()
self.assertEqual(self.mandate.state, "cancel")
self.mandate.back2draft()
self.assertEqual(self.mandate.state, "draft")
def test_mandate_02(self):
bank_account = self.env.ref("account_payment_mode.res_partner_12_iban")
mandate = self.env["account.banking.mandate"].create(
{
"partner_bank_id": bank_account.id,
"signature_date": "2015-01-01",
"company_id": self.company.id,
}
)
with self.assertRaises(UserError):
mandate.back2draft()
self.mandate.back2draft()
def test_mandate_03(self):
bank_account = self.env.ref("account_payment_mode.res_partner_12_iban")
mandate = self.env["account.banking.mandate"].create(
{
"partner_bank_id": bank_account.id,
"signature_date": "2015-01-01",
"company_id": self.company.id,
}
)
mandate.validate()
self.mandate.validate()
with self.assertRaises(UserError):
mandate.validate()
self.mandate.validate()
def test_mandate_04(self):
bank_account = self.env.ref("account_payment_mode.res_partner_12_iban")
mandate = self.env["account.banking.mandate"].create(
{
"partner_bank_id": bank_account.id,
"signature_date": "2015-01-01",
"company_id": self.company.id,
}
)
mandate.validate()
mandate.cancel()
self.mandate.validate()
self.mandate.cancel()
with self.assertRaises(UserError):
mandate.cancel()
self.mandate.cancel()
def test_onchange_methods(self):
bank_account = self.env.ref("account_payment_mode.res_partner_12_iban")
mandate = self.env["account.banking.mandate"].new(
{
"partner_bank_id": bank_account.id,
"signature_date": "2015-01-01",
"company_id": self.company.id,
}
)
bank_account_2 = self.env.ref("account_payment_mode.res_partner_2_iban")
mandate.partner_bank_id = bank_account_2
mandate.mandate_partner_bank_change()
self.assertEqual(mandate.partner_id, bank_account_2.partner_id)
self.mandate.partner_bank_id = bank_account_2
self.mandate.mandate_partner_bank_change()
self.assertEqual(self.mandate.partner_id, bank_account_2.partner_id)
def test_constrains_01(self):
bank_account = self.env.ref("account_payment_mode.res_partner_12_iban")
mandate = self.env["account.banking.mandate"].create(
{
"partner_bank_id": bank_account.id,
"signature_date": "2015-01-01",
"company_id": self.company.id,
}
)
mandate.validate()
self.mandate.validate()
with self.assertRaises(ValidationError):
mandate.signature_date = fields.Date.to_string(
fields.Date.from_string(fields.Date.context_today(mandate))
self.mandate.signature_date = fields.Date.to_string(
fields.Date.from_string(fields.Date.context_today(self.mandate))
+ timedelta(days=1)
)
def test_constrains_02(self):
bank_account = self.env.ref("account_payment_mode.res_partner_12_iban")
mandate = self.env["account.banking.mandate"].create(
{
"partner_bank_id": bank_account.id,
"signature_date": "2015-01-01",
"company_id": self.company.id,
}
)
with self.assertRaises(UserError):
mandate.company_id = self.company_2
self.mandate.company_id = self.company_2
def test_constrains_03(self):
bank_account = self.env.ref("account_payment_mode.res_partner_12_iban")
mandate = self.env["account.banking.mandate"].create(
{
"partner_bank_id": bank_account.id,
"signature_date": "2015-01-01",
"company_id": self.company.id,
}
)
bank_account_2 = self.env["res.partner.bank"].create(
{
"acc_number": "1234",
@@ -126,7 +75,7 @@ class TestMandate(TransactionCase):
}
)
with self.assertRaises(UserError):
mandate.partner_bank_id = bank_account_2
self.mandate.partner_bank_id = bank_account_2
def test_constrains_04(self):
mandate = self.env["account.banking.mandate"].create(
@@ -140,7 +89,7 @@ class TestMandate(TransactionCase):
}
)
with self.assertRaises(UserError):
bank_account.mandate_ids += mandate
bank_account.write({"mandate_ids": [(6, 0, mandate.ids)]})
def test_mandate_reference_01(self):
"""
@@ -222,12 +171,3 @@ class TestMandate(TransactionCase):
}
)
self.assertTrue(mandate.unique_mandate_reference)
def setUp(self):
res = super(TestMandate, self).setUp()
# Company
self.company = self.env.ref("base.main_company")
# Company 2
self.company_2 = self.env["res.company"].create({"name": "Company 2"})
return res

View File

@@ -88,10 +88,6 @@
<field name="name">view.mandate.form.buttons</field>
<field name="model">account.banking.mandate</field>
<field name="inherit_id" ref="account_banking_mandate.view_mandate_form" />
<field
name="groups_id"
eval="[(6, 0, [ref('account_payment_order.group_account_payment')])]"
/>
<field name="arch" type="xml">
<div name="button_box" position="inside">
<button
@@ -100,6 +96,7 @@
class="oe_stat_button"
icon="fa-list"
type="object"
groups="account_payment_order.group_account_payment"
>
<field
name="payment_line_ids_count"

View File

@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
© 2015-2016 Akretion (Alexis de Lattre <alexis.delattre@akretion.com>)
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
-->
<odoo>
<record id="bank_payment_line_form" model="ir.ui.view">
<field name="name">banking.mandate.bank.payment.line.form</field>
<field name="model">bank.payment.line</field>
<field name="inherit_id" ref="account_payment_order.bank_payment_line_form" />
<field name="arch" type="xml">
<field name="partner_bank_id" position="after">
<field
name="mandate_id"
invisible="context.get('default_payment_type')!='inbound'"
/>
</field>
</field>
</record>
<record id="bank_payment_line_tree" model="ir.ui.view">
<field name="name">banking.mandate.bank.payment.line.tree</field>
<field name="model">bank.payment.line</field>
<field name="inherit_id" ref="account_payment_order.bank_payment_line_tree" />
<field name="arch" type="xml">
<field name="partner_bank_id" position="after">
<field
name="mandate_id"
string="Mandate"
invisible="context.get('default_payment_type')!='inbound'"
/>
</field>
</field>
</record>
</odoo>

View File

@@ -0,0 +1 @@
../../../../account_banking_mandate

View File

@@ -0,0 +1,6 @@
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)