From 7350fab508773a19543cc67a8bb915c2f1d2e63b Mon Sep 17 00:00:00 2001 From: sygel Date: Wed, 5 Jun 2024 19:15:41 +0200 Subject: [PATCH 1/6] [ADD] account_vendor_bank_account_default --- .../README.rst | 120 +++++ .../__init__.py | 3 + .../__manifest__.py | 22 + .../account_vendor_bank_account_default.pot | 42 ++ .../models/__init__.py | 4 + .../models/account_move.py | 25 + .../models/res_partner.py | 43 ++ .../pyproject.toml | 3 + .../readme/CONFIGURE.md | 11 + .../readme/CONTRIBUTORS.md | 4 + .../readme/DESCRIPTION.md | 1 + .../readme/ROADMAP.md | 1 + .../readme/USAGE.md | 3 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/icon.svg | 79 +++ .../static/description/index.html | 466 ++++++++++++++++++ .../tests/__init__.py | 3 + ...est_account_vendor_bank_account_default.py | 112 +++++ .../views/res_partner_views.xml | 24 + 19 files changed, 966 insertions(+) create mode 100644 account_vendor_bank_account_default/README.rst create mode 100644 account_vendor_bank_account_default/__init__.py create mode 100644 account_vendor_bank_account_default/__manifest__.py create mode 100644 account_vendor_bank_account_default/i18n/account_vendor_bank_account_default.pot create mode 100644 account_vendor_bank_account_default/models/__init__.py create mode 100644 account_vendor_bank_account_default/models/account_move.py create mode 100644 account_vendor_bank_account_default/models/res_partner.py create mode 100644 account_vendor_bank_account_default/pyproject.toml create mode 100755 account_vendor_bank_account_default/readme/CONFIGURE.md create mode 100755 account_vendor_bank_account_default/readme/CONTRIBUTORS.md create mode 100755 account_vendor_bank_account_default/readme/DESCRIPTION.md create mode 100755 account_vendor_bank_account_default/readme/ROADMAP.md create mode 100755 account_vendor_bank_account_default/readme/USAGE.md create mode 100755 account_vendor_bank_account_default/static/description/icon.png create mode 100755 account_vendor_bank_account_default/static/description/icon.svg create mode 100644 account_vendor_bank_account_default/static/description/index.html create mode 100644 account_vendor_bank_account_default/tests/__init__.py create mode 100644 account_vendor_bank_account_default/tests/test_account_vendor_bank_account_default.py create mode 100644 account_vendor_bank_account_default/views/res_partner_views.xml diff --git a/account_vendor_bank_account_default/README.rst b/account_vendor_bank_account_default/README.rst new file mode 100644 index 00000000000..f235773ef32 --- /dev/null +++ b/account_vendor_bank_account_default/README.rst @@ -0,0 +1,120 @@ +=================================== +Account Vendor Bank Account Default +=================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:469bab1b746f6b2716cfd595ae29fdbadc667a433546b1c2ee95c89817221d1a + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :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/17.0/account_vendor_bank_account_default + :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-17-0/bank-payment-17-0-account_vendor_bank_account_default + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/bank-payment&target_branch=17.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows you to set a default bank account on partners for +their vendor bills. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +To configure this module, you need to: + +- Go to a partner form view, and edit the Default Bank Account in the + Sales and Purchase tab. The partner must be of type 'company', or an + individual without a parent company. + + **Note:** If you do not set this value, it will be equal to the first + bank account created in the contact. This is the standard behaviour + of Odoo + +- You can disable the default bank account option at contact level, + unmarking the "Has Default Bank Account" check. + +Usage +===== + +To use this module, you need to: + +1. Create a vendor bill and select a partner with a default bank + account. Its recipient bank account will be the default one. + +Known issues / Roadmap +====================== + +- This module depends on account_payment_partner. If the payment mode + of the invoice has a payment method that does not require a bank + account, the default bank account will be empty. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Sygel + +Contributors +------------ + +- `Sygel `__: + + - Harald Panten + - Valentin Vinagre + - Alberto Martínez + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +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. + +.. |maintainer-tisho99| image:: https://github.com/tisho99.png?size=40px + :target: https://github.com/tisho99 + :alt: tisho99 + +Current `maintainer `__: + +|maintainer-tisho99| + +This module is part of the `OCA/bank-payment `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/account_vendor_bank_account_default/__init__.py b/account_vendor_bank_account_default/__init__.py new file mode 100644 index 00000000000..31660d6a965 --- /dev/null +++ b/account_vendor_bank_account_default/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from . import models diff --git a/account_vendor_bank_account_default/__manifest__.py b/account_vendor_bank_account_default/__manifest__.py new file mode 100644 index 00000000000..8e2a745523d --- /dev/null +++ b/account_vendor_bank_account_default/__manifest__.py @@ -0,0 +1,22 @@ +# Copyright 2024 Alberto Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +{ + "name": "Account Vendor Bank Account Default", + "summary": "Set a default bank account on partners for their vendor bills", + "version": "17.0.1.0.0", + "development_status": "Beta", + "category": "Banking addons", + "website": "https://github.com/OCA/bank-payment", + "author": "Sygel, Odoo Community Association (OCA)", + "maintainers": ["tisho99"], + "license": "AGPL-3", + "application": False, + "installable": True, + "depends": [ + "account", + "account_payment_partner", + ], + "data": [ + "views/res_partner_views.xml", + ], +} diff --git a/account_vendor_bank_account_default/i18n/account_vendor_bank_account_default.pot b/account_vendor_bank_account_default/i18n/account_vendor_bank_account_default.pot new file mode 100644 index 00000000000..4f641a0eefd --- /dev/null +++ b/account_vendor_bank_account_default/i18n/account_vendor_bank_account_default.pot @@ -0,0 +1,42 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_vendor_bank_account_default +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: account_vendor_bank_account_default +#: model:ir.model,name:account_vendor_bank_account_default.model_res_partner +msgid "Contact" +msgstr "" + +#. module: account_vendor_bank_account_default +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_partner__default_bank_id +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_users__default_bank_id +msgid "Default Bank Account" +msgstr "" + +#. module: account_vendor_bank_account_default +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_partner__has_default_bank_id +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_users__has_default_bank_id +msgid "Has Default Bank Account" +msgstr "" + +#. module: account_vendor_bank_account_default +#: model:ir.model,name:account_vendor_bank_account_default.model_account_move +msgid "Journal Entry" +msgstr "" + +#. module: account_vendor_bank_account_default +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_partner__user_default_bank_id +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_users__user_default_bank_id +msgid "User Default Bank Account" +msgstr "" diff --git a/account_vendor_bank_account_default/models/__init__.py b/account_vendor_bank_account_default/models/__init__.py new file mode 100644 index 00000000000..77f8c6e4f8d --- /dev/null +++ b/account_vendor_bank_account_default/models/__init__.py @@ -0,0 +1,4 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from . import account_move +from . import res_partner diff --git a/account_vendor_bank_account_default/models/account_move.py b/account_vendor_bank_account_default/models/account_move.py new file mode 100644 index 00000000000..49d550a3423 --- /dev/null +++ b/account_vendor_bank_account_default/models/account_move.py @@ -0,0 +1,25 @@ +# Copyright 2024 Alberto Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import models + + +class AccountMove(models.Model): + _inherit = "account.move" + + def _compute_partner_bank_id(self): + res = super()._compute_partner_bank_id() + for move in self: + payment_mode = move.payment_mode_id + if ( + payment_mode + and move.move_type == "in_invoice" + and payment_mode.payment_type == "outbound" + and payment_mode.payment_method_id.bank_account_required + ): + move.partner_bank_id = ( + move.bank_partner_id.default_bank_id + if move.bank_partner_id.has_default_bank_id + else False + ) + return res diff --git a/account_vendor_bank_account_default/models/res_partner.py b/account_vendor_bank_account_default/models/res_partner.py new file mode 100644 index 00000000000..e06ca22a3d7 --- /dev/null +++ b/account_vendor_bank_account_default/models/res_partner.py @@ -0,0 +1,43 @@ +# Copyright 2024 Alberto Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class ResPartner(models.Model): + _inherit = "res.partner" + + default_bank_id = fields.Many2one( + string="Default Bank Account", + comodel_name="res.partner.bank", + domain="[('partner_id', '=', commercial_partner_id)]", + compute="_compute_default_bank_id", + inverse="_inverse_default_bank_id", + store=True, + readonly=False, + ) + user_default_bank_id = fields.Many2one( + comodel_name="res.partner.bank", + string="User Default Bank Account", + ) + has_default_bank_id = fields.Boolean( + string="Has Default Bank Account", + default=True, + ) + + @api.depends("bank_ids", "user_default_bank_id") + def _compute_default_bank_id(self): + for rec in self: + rec.default_bank_id = rec.user_default_bank_id or rec.bank_ids[:1] + + def _inverse_default_bank_id(self): + for rec in self: + rec.user_default_bank_id = rec.default_bank_id + if not rec.user_default_bank_id: + rec._compute_default_bank_id() + + @api.model + def _commercial_fields(self): + res = super()._commercial_fields() + res += ["default_bank_id", "user_default_bank_id", "has_default_bank_id"] + return res diff --git a/account_vendor_bank_account_default/pyproject.toml b/account_vendor_bank_account_default/pyproject.toml new file mode 100644 index 00000000000..4231d0cccb3 --- /dev/null +++ b/account_vendor_bank_account_default/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/account_vendor_bank_account_default/readme/CONFIGURE.md b/account_vendor_bank_account_default/readme/CONFIGURE.md new file mode 100755 index 00000000000..efbe8384d4c --- /dev/null +++ b/account_vendor_bank_account_default/readme/CONFIGURE.md @@ -0,0 +1,11 @@ +To configure this module, you need to: + +- Go to a partner form view, and edit the Default Bank Account in the + Sales and Purchase tab. The partner must be of type 'company', or an + individual without a parent company. + + **Note:** If you do not set this value, it will be equal to the first + bank account created in the contact. This is the standard behaviour of Odoo + +- You can disable the default bank account option at contact level, unmarking the + "Has Default Bank Account" check. diff --git a/account_vendor_bank_account_default/readme/CONTRIBUTORS.md b/account_vendor_bank_account_default/readme/CONTRIBUTORS.md new file mode 100755 index 00000000000..e614fca54fe --- /dev/null +++ b/account_vendor_bank_account_default/readme/CONTRIBUTORS.md @@ -0,0 +1,4 @@ +- [Sygel](https://www.sygel.es): + - Harald Panten + - Valentin Vinagre + - Alberto Martínez diff --git a/account_vendor_bank_account_default/readme/DESCRIPTION.md b/account_vendor_bank_account_default/readme/DESCRIPTION.md new file mode 100755 index 00000000000..d0ea2ffe723 --- /dev/null +++ b/account_vendor_bank_account_default/readme/DESCRIPTION.md @@ -0,0 +1 @@ +This module allows you to set a default bank account on partners for their vendor bills. diff --git a/account_vendor_bank_account_default/readme/ROADMAP.md b/account_vendor_bank_account_default/readme/ROADMAP.md new file mode 100755 index 00000000000..03c68654901 --- /dev/null +++ b/account_vendor_bank_account_default/readme/ROADMAP.md @@ -0,0 +1 @@ +- This module depends on account_payment_partner. If the payment mode of the invoice has a payment method that does not require a bank account, the default bank account will be empty. diff --git a/account_vendor_bank_account_default/readme/USAGE.md b/account_vendor_bank_account_default/readme/USAGE.md new file mode 100755 index 00000000000..d4f7919c114 --- /dev/null +++ b/account_vendor_bank_account_default/readme/USAGE.md @@ -0,0 +1,3 @@ +To use this module, you need to: + +1. Create a vendor bill and select a partner with a default bank account. Its recipient bank account will be the default one. diff --git a/account_vendor_bank_account_default/static/description/icon.png b/account_vendor_bank_account_default/static/description/icon.png new file mode 100755 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/account_vendor_bank_account_default/static/description/icon.svg b/account_vendor_bank_account_default/static/description/icon.svg new file mode 100755 index 00000000000..a7a26d0932a --- /dev/null +++ b/account_vendor_bank_account_default/static/description/icon.svg @@ -0,0 +1,79 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/account_vendor_bank_account_default/static/description/index.html b/account_vendor_bank_account_default/static/description/index.html new file mode 100644 index 00000000000..88b431a011b --- /dev/null +++ b/account_vendor_bank_account_default/static/description/index.html @@ -0,0 +1,466 @@ + + + + + +Account Vendor Bank Account Default + + + +
+

Account Vendor Bank Account Default

+ + +

Beta License: AGPL-3 OCA/bank-payment Translate me on Weblate Try me on Runboat

+

This module allows you to set a default bank account on partners for +their vendor bills.

+

Table of contents

+ +
+

Configuration

+

To configure this module, you need to:

+
    +
  • Go to a partner form view, and edit the Default Bank Account in the +Sales and Purchase tab. The partner must be of type ‘company’, or an +individual without a parent company.

    +

    Note: If you do not set this value, it will be equal to the first +bank account created in the contact. This is the standard behaviour +of Odoo

    +
  • +
  • You can disable the default bank account option at contact level, +unmarking the “Has Default Bank Account” check.

    +
  • +
+
+
+

Usage

+

To use this module, you need to:

+
    +
  1. Create a vendor bill and select a partner with a default bank +account. Its recipient bank account will be the default one.
  2. +
+
+
+

Known issues / Roadmap

+
    +
  • This module depends on account_payment_partner. If the payment mode +of the invoice has a payment method that does not require a bank +account, the default bank account will be empty.
  • +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Sygel
  • +
+
+
+

Contributors

+
    +
  • Sygel:
      +
    • Harald Panten
    • +
    • Valentin Vinagre
    • +
    • Alberto Martínez
    • +
    +
  • +
+
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

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.

+

Current maintainer:

+

tisho99

+

This module is part of the OCA/bank-payment project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/account_vendor_bank_account_default/tests/__init__.py b/account_vendor_bank_account_default/tests/__init__.py new file mode 100644 index 00000000000..252822289cd --- /dev/null +++ b/account_vendor_bank_account_default/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from . import test_account_vendor_bank_account_default diff --git a/account_vendor_bank_account_default/tests/test_account_vendor_bank_account_default.py b/account_vendor_bank_account_default/tests/test_account_vendor_bank_account_default.py new file mode 100644 index 00000000000..720858aa054 --- /dev/null +++ b/account_vendor_bank_account_default/tests/test_account_vendor_bank_account_default.py @@ -0,0 +1,112 @@ +# Copyright 2024 Alberto Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +import datetime + +import odoo.tests + +from odoo.addons.account.tests.common import AccountTestInvoicingCommon + + +@odoo.tests.tagged("post_install", "-at_install") +class TestAccountVendorBankAccountDefault(AccountTestInvoicingCommon): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.bank_account1 = cls.env["res.partner.bank"].create( + { + "acc_number": "12341", + "partner_id": cls.partner_a.id, + } + ) + cls.bank_account2 = cls.env["res.partner.bank"].create( + { + "acc_number": "12342", + "partner_id": cls.partner_a.id, + } + ) + cls.bank_account3 = cls.env["res.partner.bank"].create( + { + "acc_number": "12343", + "partner_id": cls.partner_a.id, + } + ) + cls.manual_out = cls.env.ref("account.account_payment_method_manual_out") + cls.journal_c1 = ( + cls.env["account.journal"] + .sudo() + .create({"name": "J1", "code": "J1", "type": "bank"}) + ) + cls.supplier_payment_mode = ( + cls.env["account.payment.mode"] + .sudo() + .create( + { + "name": "Suppliers Bank 1", + "bank_account_link": "variable", + "payment_method_id": cls.manual_out.id, + "show_bank_account_from_journal": True, + "fixed_journal_id": cls.journal_c1.id, + "variable_journal_ids": [(6, 0, [cls.journal_c1.id])], + } + ) + ) + cls.partner_a.supplier_payment_mode_id = cls.supplier_payment_mode + + def create_in_invoice(self): + return self.env["account.move"].create( + { + "partner_id": self.partner_a.id, + "move_type": "in_invoice", + "invoice_date": datetime.date.today(), + } + ) + + def test_account_default_partner(self): + # Test that the default partner account can be pertmanently changed manually + self.assertNotEqual(self.partner_a.default_bank_id, self.bank_account2) + self.partner_a.default_bank_id = self.bank_account2 + self.assertEqual(self.partner_a.default_bank_id, self.bank_account2) + self.bank_account4 = self.env["res.partner.bank"].create( + { + "acc_number": "12344", + "partner_id": self.partner_a.id, + } + ) + self.assertEqual(self.partner_a.default_bank_id, self.bank_account2) + + def test_account_default_in_invoice(self): + # Test the default partner account in vendor bills + self.partner_a.default_bank_id = self.bank_account2 + self.supplier_payment_mode.payment_method_id.bank_account_required = True + in_invoice = self.create_in_invoice() + self.assertEqual(in_invoice.partner_bank_id, self.bank_account2) + + def test_no_account_default_in_vendor(self): + # Test no bank account on partner without default bank account + self.partner_a.has_default_bank_id = False + self.supplier_payment_mode.payment_method_id.bank_account_required = True + in_invoice = self.create_in_invoice() + self.assertFalse(in_invoice.partner_bank_id) + + def test_no_account_default_in_invoice(self): + # Test no bank account on moves without bank_account_required in payment mode + self.partner_a.default_bank_id = self.bank_account2 + self.supplier_payment_mode.payment_method_id.bank_account_required = False + in_invoice = self.create_in_invoice() + self.assertFalse(in_invoice.partner_bank_id) + + def test_no_payment_mode(self): + # Test no bank account if bank_account is not required in payment mode + self.partner_a.default_bank_id = self.bank_account2 + self.partner_a.supplier_payment_mode_id = False + in_invoice = self.create_in_invoice() + self.assertFalse(in_invoice.partner_bank_id) + + def test_commercial_fields(self): + # Test the default partner account in vendor bills with individual partner + # Test that the default partner account can be pertmanently changed manually + self.partner_a.default_bank_id = self.bank_account2 + self.supplier_payment_mode.payment_method_id.bank_account_required = True + in_invoice = self.create_in_invoice() + self.assertEqual(in_invoice.partner_bank_id, self.bank_account2) diff --git a/account_vendor_bank_account_default/views/res_partner_views.xml b/account_vendor_bank_account_default/views/res_partner_views.xml new file mode 100644 index 00000000000..a47578fcc28 --- /dev/null +++ b/account_vendor_bank_account_default/views/res_partner_views.xml @@ -0,0 +1,24 @@ + + + + + + res.partner.form + res.partner + + + + + + + + + + From b02980ae94fbb65c4b21eeb0d95674103cd9d1fa Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 23 Jul 2024 07:30:31 +0000 Subject: [PATCH 2/6] Added translation using Weblate (Italian) --- .../i18n/it.po | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 account_vendor_bank_account_default/i18n/it.po diff --git a/account_vendor_bank_account_default/i18n/it.po b/account_vendor_bank_account_default/i18n/it.po new file mode 100644 index 00000000000..006765af983 --- /dev/null +++ b/account_vendor_bank_account_default/i18n/it.po @@ -0,0 +1,45 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_vendor_bank_account_default +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-07-23 09:58+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: account_vendor_bank_account_default +#: model:ir.model,name:account_vendor_bank_account_default.model_res_partner +msgid "Contact" +msgstr "Contatto" + +#. module: account_vendor_bank_account_default +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_partner__default_bank_id +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_users__default_bank_id +msgid "Default Bank Account" +msgstr "Conto bancario predefinito" + +#. module: account_vendor_bank_account_default +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_partner__has_default_bank_id +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_users__has_default_bank_id +msgid "Has Default Bank Account" +msgstr "Ha conto bancario predefinito" + +#. module: account_vendor_bank_account_default +#: model:ir.model,name:account_vendor_bank_account_default.model_account_move +msgid "Journal Entry" +msgstr "Registrazione contabile" + +#. module: account_vendor_bank_account_default +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_partner__user_default_bank_id +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_users__user_default_bank_id +msgid "User Default Bank Account" +msgstr "Conto bancario predefinito utente" From e3e7f7d174c500862f07a3a8d9592b230d8a06ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Mart=C3=ADnez?= Date: Tue, 6 Aug 2024 09:22:13 +0000 Subject: [PATCH 3/6] Added translation using Weblate (Spanish) --- .../i18n/es.po | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 account_vendor_bank_account_default/i18n/es.po diff --git a/account_vendor_bank_account_default/i18n/es.po b/account_vendor_bank_account_default/i18n/es.po new file mode 100644 index 00000000000..861f38b7ddd --- /dev/null +++ b/account_vendor_bank_account_default/i18n/es.po @@ -0,0 +1,45 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_vendor_bank_account_default +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-08-06 11:58+0000\n" +"Last-Translator: Alberto Martínez \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: account_vendor_bank_account_default +#: model:ir.model,name:account_vendor_bank_account_default.model_res_partner +msgid "Contact" +msgstr "Contacto" + +#. module: account_vendor_bank_account_default +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_partner__default_bank_id +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_users__default_bank_id +msgid "Default Bank Account" +msgstr "Cuenta bancaria por defecto" + +#. module: account_vendor_bank_account_default +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_partner__has_default_bank_id +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_users__has_default_bank_id +msgid "Has Default Bank Account" +msgstr "Tiene cuenta bancaria por defecto" + +#. module: account_vendor_bank_account_default +#: model:ir.model,name:account_vendor_bank_account_default.model_account_move +msgid "Journal Entry" +msgstr "Entrada de diario" + +#. module: account_vendor_bank_account_default +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_partner__user_default_bank_id +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_users__user_default_bank_id +msgid "User Default Bank Account" +msgstr "Cuenta bancaria por defecto del usuario" From e767b4dd9aa5a49807e30bd1b7376cdbe4c02cd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Mart=C3=ADnez?= Date: Tue, 6 Aug 2024 09:30:49 +0000 Subject: [PATCH 4/6] Added translation using Weblate (Catalan) --- .../i18n/ca.po | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 account_vendor_bank_account_default/i18n/ca.po diff --git a/account_vendor_bank_account_default/i18n/ca.po b/account_vendor_bank_account_default/i18n/ca.po new file mode 100644 index 00000000000..7c9013f8aaa --- /dev/null +++ b/account_vendor_bank_account_default/i18n/ca.po @@ -0,0 +1,45 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_vendor_bank_account_default +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-08-09 08:58+0000\n" +"Last-Translator: Alberto Martínez \n" +"Language-Team: none\n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: account_vendor_bank_account_default +#: model:ir.model,name:account_vendor_bank_account_default.model_res_partner +msgid "Contact" +msgstr "Contacte" + +#. module: account_vendor_bank_account_default +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_partner__default_bank_id +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_users__default_bank_id +msgid "Default Bank Account" +msgstr "Compte bancari per defecte" + +#. module: account_vendor_bank_account_default +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_partner__has_default_bank_id +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_users__has_default_bank_id +msgid "Has Default Bank Account" +msgstr "Té compte bancari per defecte" + +#. module: account_vendor_bank_account_default +#: model:ir.model,name:account_vendor_bank_account_default.model_account_move +msgid "Journal Entry" +msgstr "Entrada de diari" + +#. module: account_vendor_bank_account_default +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_partner__user_default_bank_id +#: model:ir.model.fields,field_description:account_vendor_bank_account_default.field_res_users__user_default_bank_id +msgid "User Default Bank Account" +msgstr "Compte bancari per defecte de l'usuari" From 85c09fc4b7eab2a4d30ce458cffab3231130adae Mon Sep 17 00:00:00 2001 From: Ruchir Shukla Date: Tue, 13 May 2025 18:42:01 +0530 Subject: [PATCH 5/6] [IMP] account_vendor_bank_account_default: pre-commit auto fixes --- account_vendor_bank_account_default/views/res_partner_views.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/account_vendor_bank_account_default/views/res_partner_views.xml b/account_vendor_bank_account_default/views/res_partner_views.xml index a47578fcc28..676ab779487 100644 --- a/account_vendor_bank_account_default/views/res_partner_views.xml +++ b/account_vendor_bank_account_default/views/res_partner_views.xml @@ -2,7 +2,6 @@ - res.partner.form res.partner @@ -20,5 +19,4 @@ - From fae5bb763c074eba823c52b9bfd90560d0a13a52 Mon Sep 17 00:00:00 2001 From: Ruchir Shukla Date: Tue, 13 May 2025 18:44:49 +0530 Subject: [PATCH 6/6] [MIG] account_vendor_bank_account_default: Migration to 18.0 --- .../README.rst | 40 ++++++------- .../__manifest__.py | 2 +- .../static/description/index.html | 16 +++--- ...est_account_vendor_bank_account_default.py | 56 ++++++++++++------- 4 files changed, 65 insertions(+), 49 deletions(-) diff --git a/account_vendor_bank_account_default/README.rst b/account_vendor_bank_account_default/README.rst index f235773ef32..78351f4d508 100644 --- a/account_vendor_bank_account_default/README.rst +++ b/account_vendor_bank_account_default/README.rst @@ -17,13 +17,13 @@ Account Vendor Bank Account Default :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/17.0/account_vendor_bank_account_default + :target: https://github.com/OCA/bank-payment/tree/18.0/account_vendor_bank_account_default :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-17-0/bank-payment-17-0-account_vendor_bank_account_default + :target: https://translation.odoo-community.org/projects/bank-payment-18-0/bank-payment-18-0-account_vendor_bank_account_default :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/bank-payment&target_branch=17.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/bank-payment&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -41,16 +41,16 @@ Configuration To configure this module, you need to: -- Go to a partner form view, and edit the Default Bank Account in the - Sales and Purchase tab. The partner must be of type 'company', or an - individual without a parent company. +- Go to a partner form view, and edit the Default Bank Account in the + Sales and Purchase tab. The partner must be of type 'company', or an + individual without a parent company. - **Note:** If you do not set this value, it will be equal to the first - bank account created in the contact. This is the standard behaviour - of Odoo + **Note:** If you do not set this value, it will be equal to the first + bank account created in the contact. This is the standard behaviour of + Odoo -- You can disable the default bank account option at contact level, - unmarking the "Has Default Bank Account" check. +- You can disable the default bank account option at contact level, + unmarking the "Has Default Bank Account" check. Usage ===== @@ -63,9 +63,9 @@ To use this module, you need to: Known issues / Roadmap ====================== -- This module depends on account_payment_partner. If the payment mode - of the invoice has a payment method that does not require a bank - account, the default bank account will be empty. +- This module depends on account_payment_partner. If the payment mode of + the invoice has a payment method that does not require a bank account, + the default bank account will be empty. Bug Tracker =========== @@ -73,7 +73,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -88,11 +88,11 @@ Authors Contributors ------------ -- `Sygel `__: +- `Sygel `__: - - Harald Panten - - Valentin Vinagre - - Alberto Martínez + - Harald Panten + - Valentin Vinagre + - Alberto Martínez Maintainers ----------- @@ -115,6 +115,6 @@ Current `maintainer `__: |maintainer-tisho99| -This module is part of the `OCA/bank-payment `_ project on GitHub. +This module is part of the `OCA/bank-payment `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/account_vendor_bank_account_default/__manifest__.py b/account_vendor_bank_account_default/__manifest__.py index 8e2a745523d..6189c92deba 100644 --- a/account_vendor_bank_account_default/__manifest__.py +++ b/account_vendor_bank_account_default/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Account Vendor Bank Account Default", "summary": "Set a default bank account on partners for their vendor bills", - "version": "17.0.1.0.0", + "version": "18.0.1.0.0", "development_status": "Beta", "category": "Banking addons", "website": "https://github.com/OCA/bank-payment", diff --git a/account_vendor_bank_account_default/static/description/index.html b/account_vendor_bank_account_default/static/description/index.html index 88b431a011b..4042da9601b 100644 --- a/account_vendor_bank_account_default/static/description/index.html +++ b/account_vendor_bank_account_default/static/description/index.html @@ -369,7 +369,7 @@

Account Vendor Bank Account Default

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:469bab1b746f6b2716cfd595ae29fdbadc667a433546b1c2ee95c89817221d1a !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/bank-payment Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/bank-payment Translate me on Weblate Try me on Runboat

This module allows you to set a default bank account on partners for their vendor bills.

Table of contents

@@ -395,8 +395,8 @@

Configuration

Sales and Purchase tab. The partner must be of type ‘company’, or an individual without a parent company.

Note: If you do not set this value, it will be equal to the first -bank account created in the contact. This is the standard behaviour -of Odoo

+bank account created in the contact. This is the standard behaviour of +Odoo

  • You can disable the default bank account option at contact level, unmarking the “Has Default Bank Account” check.

    @@ -414,9 +414,9 @@

    Usage

    Known issues / Roadmap

      -
    • This module depends on account_payment_partner. If the payment mode -of the invoice has a payment method that does not require a bank -account, the default bank account will be empty.
    • +
    • This module depends on account_payment_partner. If the payment mode of +the invoice has a payment method that does not require a bank account, +the default bank account will be empty.
    @@ -424,7 +424,7 @@

    Bug Tracker

    Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

    @@ -457,7 +457,7 @@

    Maintainers

    promote its widespread use.

    Current maintainer:

    tisho99

    -

    This module is part of the OCA/bank-payment project on GitHub.

    +

    This module is part of the OCA/bank-payment project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    diff --git a/account_vendor_bank_account_default/tests/test_account_vendor_bank_account_default.py b/account_vendor_bank_account_default/tests/test_account_vendor_bank_account_default.py index 720858aa054..1a1e5ffc3f0 100644 --- a/account_vendor_bank_account_default/tests/test_account_vendor_bank_account_default.py +++ b/account_vendor_bank_account_default/tests/test_account_vendor_bank_account_default.py @@ -13,23 +13,35 @@ class TestAccountVendorBankAccountDefault(AccountTestInvoicingCommon): @classmethod def setUpClass(cls): super().setUpClass() - cls.bank_account1 = cls.env["res.partner.bank"].create( - { - "acc_number": "12341", - "partner_id": cls.partner_a.id, - } + cls.bank_account1 = ( + cls.env["res.partner.bank"] + .sudo() + .create( + { + "acc_number": "12341", + "partner_id": cls.partner_a.id, + } + ) ) - cls.bank_account2 = cls.env["res.partner.bank"].create( - { - "acc_number": "12342", - "partner_id": cls.partner_a.id, - } + cls.bank_account2 = ( + cls.env["res.partner.bank"] + .sudo() + .create( + { + "acc_number": "12342", + "partner_id": cls.partner_a.id, + } + ) ) - cls.bank_account3 = cls.env["res.partner.bank"].create( - { - "acc_number": "12343", - "partner_id": cls.partner_a.id, - } + cls.bank_account3 = ( + cls.env["res.partner.bank"] + .sudo() + .create( + { + "acc_number": "12343", + "partner_id": cls.partner_a.id, + } + ) ) cls.manual_out = cls.env.ref("account.account_payment_method_manual_out") cls.journal_c1 = ( @@ -67,11 +79,15 @@ def test_account_default_partner(self): self.assertNotEqual(self.partner_a.default_bank_id, self.bank_account2) self.partner_a.default_bank_id = self.bank_account2 self.assertEqual(self.partner_a.default_bank_id, self.bank_account2) - self.bank_account4 = self.env["res.partner.bank"].create( - { - "acc_number": "12344", - "partner_id": self.partner_a.id, - } + self.bank_account4 = ( + self.env["res.partner.bank"] + .sudo() + .create( + { + "acc_number": "12344", + "partner_id": self.partner_a.id, + } + ) ) self.assertEqual(self.partner_a.default_bank_id, self.bank_account2)