From a8a3fb445365b9e7eed0f97bfb46ee2232e60bd9 Mon Sep 17 00:00:00 2001 From: Marwan Date: Thu, 25 Apr 2024 09:52:58 +0200 Subject: [PATCH 01/13] [MIG] account_banking_mandate_sale: migration to 17.0 --- account_banking_mandate_sale/README.rst | 93 ++++ account_banking_mandate_sale/__init__.py | 1 + account_banking_mandate_sale/__manifest__.py | 19 + .../i18n/account_banking_mandate_sale.pot | 41 ++ account_banking_mandate_sale/i18n/ca.po | 55 +++ account_banking_mandate_sale/i18n/ca_ES.po | 42 ++ account_banking_mandate_sale/i18n/de.po | 59 +++ account_banking_mandate_sale/i18n/es.po | 61 +++ account_banking_mandate_sale/i18n/hr.po | 51 +++ account_banking_mandate_sale/i18n/nl.po | 56 +++ account_banking_mandate_sale/i18n/nl_NL.po | 50 ++ account_banking_mandate_sale/i18n/pt_BR.po | 58 +++ account_banking_mandate_sale/i18n/sl.po | 59 +++ .../models/__init__.py | 1 + .../models/sale_order.py | 62 +++ account_banking_mandate_sale/pyproject.toml | 3 + .../readme/CONTRIBUTORS.md | 2 + .../readme/DESCRIPTION.md | 1 + account_banking_mandate_sale/readme/USAGE.md | 4 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 430 ++++++++++++++++++ .../views/sale_order.xml | 24 + 22 files changed, 1172 insertions(+) create mode 100644 account_banking_mandate_sale/README.rst create mode 100644 account_banking_mandate_sale/__init__.py create mode 100644 account_banking_mandate_sale/__manifest__.py create mode 100644 account_banking_mandate_sale/i18n/account_banking_mandate_sale.pot create mode 100644 account_banking_mandate_sale/i18n/ca.po create mode 100644 account_banking_mandate_sale/i18n/ca_ES.po create mode 100644 account_banking_mandate_sale/i18n/de.po create mode 100644 account_banking_mandate_sale/i18n/es.po create mode 100644 account_banking_mandate_sale/i18n/hr.po create mode 100644 account_banking_mandate_sale/i18n/nl.po create mode 100644 account_banking_mandate_sale/i18n/nl_NL.po create mode 100644 account_banking_mandate_sale/i18n/pt_BR.po create mode 100644 account_banking_mandate_sale/i18n/sl.po create mode 100644 account_banking_mandate_sale/models/__init__.py create mode 100644 account_banking_mandate_sale/models/sale_order.py create mode 100644 account_banking_mandate_sale/pyproject.toml create mode 100644 account_banking_mandate_sale/readme/CONTRIBUTORS.md create mode 100644 account_banking_mandate_sale/readme/DESCRIPTION.md create mode 100644 account_banking_mandate_sale/readme/USAGE.md create mode 100644 account_banking_mandate_sale/static/description/icon.png create mode 100644 account_banking_mandate_sale/static/description/index.html create mode 100644 account_banking_mandate_sale/views/sale_order.xml diff --git a/account_banking_mandate_sale/README.rst b/account_banking_mandate_sale/README.rst new file mode 100644 index 00000000000..7f066291e49 --- /dev/null +++ b/account_banking_mandate_sale/README.rst @@ -0,0 +1,93 @@ +============================ +Account Banking Mandate Sale +============================ + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:454763166596806cdc074c4243943a135a4b1d29ffe3567d159116c3663190e8 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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_banking_mandate_sale + :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_banking_mandate_sale + :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 modules adds the field *Direct Debit Mandate* on sale orders. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +When you select a payment mode that requires mandate on a sale order, +Odoo will select by default the first valid mandate of this customer. + +The mandate will be copied from the sale order to the invoice. + +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 +------- + +* Akretion + +Contributors +------------ + +- Alexis de Lattre +- Thomas Binsfeld + +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-alexis-via| image:: https://github.com/alexis-via.png?size=40px + :target: https://github.com/alexis-via + :alt: alexis-via + +Current `maintainer `__: + +|maintainer-alexis-via| + +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_banking_mandate_sale/__init__.py b/account_banking_mandate_sale/__init__.py new file mode 100644 index 00000000000..0650744f6bc --- /dev/null +++ b/account_banking_mandate_sale/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/account_banking_mandate_sale/__manifest__.py b/account_banking_mandate_sale/__manifest__.py new file mode 100644 index 00000000000..9c8175a9484 --- /dev/null +++ b/account_banking_mandate_sale/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2016-2022 Akretion (Alexis de Lattre ) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Account Banking Mandate Sale", + "version": "17.0.1.0.0", + "category": "Banking addons", + "license": "AGPL-3", + "summary": "Adds mandates on sale orders", + "author": "Odoo Community Association (OCA), Akretion", + "maintainers": ["alexis-via"], + "website": "https://github.com/OCA/bank-payment", + "depends": [ + "account_payment_sale", + "account_banking_mandate", + ], + "data": ["views/sale_order.xml"], + "installable": True, +} diff --git a/account_banking_mandate_sale/i18n/account_banking_mandate_sale.pot b/account_banking_mandate_sale/i18n/account_banking_mandate_sale.pot new file mode 100644 index 00000000000..f289515034d --- /dev/null +++ b/account_banking_mandate_sale/i18n/account_banking_mandate_sale.pot @@ -0,0 +1,41 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_banking_mandate_sale +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.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_banking_mandate_sale +#: model:ir.model.fields,help:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "" +"Activate this option if this payment method requires your customer to sign a" +" direct debit mandate with your company." +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_id +msgid "Direct Debit Mandate" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__commercial_invoice_partner_id +msgid "Invoicing Commercial Entity" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "Mandate Required" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model,name:account_banking_mandate_sale.model_sale_order +msgid "Sales Order" +msgstr "" diff --git a/account_banking_mandate_sale/i18n/ca.po b/account_banking_mandate_sale/i18n/ca.po new file mode 100644 index 00000000000..2d274ffaa39 --- /dev/null +++ b/account_banking_mandate_sale/i18n/ca.po @@ -0,0 +1,55 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_banking_mandate_sale +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2021-11-08 10:35+0000\n" +"Last-Translator: jabelchi \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 4.3.2\n" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,help:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "" +"Activate this option if this payment method requires your customer to sign a " +"direct debit mandate with your company." +msgstr "" +"Activeu aquesta opció si aquest mètode de pagament requereix que el client " +"signi un mandat amb la vostra empresa." + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_id +msgid "Direct Debit Mandate" +msgstr "Mandat de càrrec directe" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__commercial_invoice_partner_id +msgid "Invoicing Commercial Entity" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "Mandate Required" +msgstr "Es requereix mandat" + +#. module: account_banking_mandate_sale +#: model:ir.model,name:account_banking_mandate_sale.model_sale_order +msgid "Sales Order" +msgstr "Comanda de venda" + +#~ msgid "Display Name" +#~ msgstr "Nom a mostrar" + +#~ msgid "ID" +#~ msgstr "ID" + +#~ msgid "Last Modified on" +#~ msgstr "Darrera modificació el" diff --git a/account_banking_mandate_sale/i18n/ca_ES.po b/account_banking_mandate_sale/i18n/ca_ES.po new file mode 100644 index 00000000000..7d303e74602 --- /dev/null +++ b/account_banking_mandate_sale/i18n/ca_ES.po @@ -0,0 +1,42 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_banking_mandate_sale +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ca_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" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,help:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "" +"Activate this option if this payment method requires your customer to sign a " +"direct debit mandate with your company." +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_id +msgid "Direct Debit Mandate" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__commercial_invoice_partner_id +msgid "Invoicing Commercial Entity" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "Mandate Required" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model,name:account_banking_mandate_sale.model_sale_order +msgid "Sales Order" +msgstr "" diff --git a/account_banking_mandate_sale/i18n/de.po b/account_banking_mandate_sale/i18n/de.po new file mode 100644 index 00000000000..017389c6c8d --- /dev/null +++ b/account_banking_mandate_sale/i18n/de.po @@ -0,0 +1,59 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_banking_mandate_sale +# +# Translators: +# Niki Waibel, 2016 +msgid "" +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: 2020-08-20 10:00+0000\n" +"Last-Translator: André Volksdorf \n" +"Language-Team: German (http://www.transifex.com/oca/OCA-bank-payment-10-0/" +"language/de/)\n" +"Language: de\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 3.10\n" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,help:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "" +"Activate this option if this payment method requires your customer to sign a " +"direct debit mandate with your company." +msgstr "" +"Aktivieren Sie diese Option, wenn diese Zahlungsmethode erfordert, dass Ihr " +"Kunde eine Einzugsermächtigung mit Ihrem Unternehmen unterzeichnet." + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_id +msgid "Direct Debit Mandate" +msgstr "Lastschrift Mandat" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__commercial_invoice_partner_id +msgid "Invoicing Commercial Entity" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "Mandate Required" +msgstr "Mandat erforderlich" + +#. module: account_banking_mandate_sale +#: model:ir.model,name:account_banking_mandate_sale.model_sale_order +msgid "Sales Order" +msgstr "" + +#~ msgid "Sales Advance Payment Invoice" +#~ msgstr "Verkaufsanzahlungsrechnung" + +#~ msgid "Commercial Entity" +#~ msgstr "Gewerbliche Instanz" + +#~ msgid "Sale Order" +#~ msgstr "Kundenauftrag" diff --git a/account_banking_mandate_sale/i18n/es.po b/account_banking_mandate_sale/i18n/es.po new file mode 100644 index 00000000000..826f34f9d7e --- /dev/null +++ b/account_banking_mandate_sale/i18n/es.po @@ -0,0 +1,61 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_banking_mandate_sale +# +# Translators: +# OCA Transbot , 2016 +# Pedro M. Baeza , 2016 +msgid "" +msgstr "" +"Project-Id-Version: bank-payment (10.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-24 00:21+0000\n" +"PO-Revision-Date: 2023-09-02 18:08+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: Spanish (http://www.transifex.com/oca/OCA-bank-payment-10-0/" +"language/es/)\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 4.17\n" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,help:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "" +"Activate this option if this payment method requires your customer to sign a " +"direct debit mandate with your company." +msgstr "" +"Active esta opción si este método de pago requiere que su cliente firme un " +"mandato de domiciliación bancaria con su compañía." + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_id +msgid "Direct Debit Mandate" +msgstr "Mandato de adeudo directo" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__commercial_invoice_partner_id +msgid "Invoicing Commercial Entity" +msgstr "Facturación de la entidad comercial" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "Mandate Required" +msgstr "Mandato requerido" + +#. module: account_banking_mandate_sale +#: model:ir.model,name:account_banking_mandate_sale.model_sale_order +msgid "Sales Order" +msgstr "Órdenes de venta" + +#~ msgid "Sales Advance Payment Invoice" +#~ msgstr "Ventas. Anticipo pago factura" + +#~ msgid "Commercial Entity" +#~ msgstr "Entidad comercial" + +#, fuzzy +#~ msgid "Sale Order" +#~ msgstr "Pedido de venta" diff --git a/account_banking_mandate_sale/i18n/hr.po b/account_banking_mandate_sale/i18n/hr.po new file mode 100644 index 00000000000..ec4ceec8d44 --- /dev/null +++ b/account_banking_mandate_sale/i18n/hr.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_banking_mandate_sale +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: bank-payment (10.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-20 01:40+0000\n" +"PO-Revision-Date: 2016-10-19 23:45+0000\n" +"Last-Translator: <>\n" +"Language-Team: Croatian (http://www.transifex.com/oca/OCA-bank-payment-10-0/" +"language/hr/)\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,help:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "" +"Activate this option if this payment method requires your customer to sign a " +"direct debit mandate with your company." +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_id +msgid "Direct Debit Mandate" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__commercial_invoice_partner_id +msgid "Invoicing Commercial Entity" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "Mandate Required" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model,name:account_banking_mandate_sale.model_sale_order +msgid "Sales Order" +msgstr "" + +#, fuzzy +#~ msgid "Sale Order" +#~ msgstr "Ponuda" diff --git a/account_banking_mandate_sale/i18n/nl.po b/account_banking_mandate_sale/i18n/nl.po new file mode 100644 index 00000000000..a08fc3fc6de --- /dev/null +++ b/account_banking_mandate_sale/i18n/nl.po @@ -0,0 +1,56 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_banking_mandate_sale +# +# Translators: +# Erwin van der Ploeg , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-07-22 23:52+0000\n" +"PO-Revision-Date: 2016-07-22 23:52+0000\n" +"Last-Translator: Erwin van der Ploeg , 2016\n" +"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n" +"Language: nl\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" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,help:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "" +"Activate this option if this payment method requires your customer to sign a " +"direct debit mandate with your company." +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_id +msgid "Direct Debit Mandate" +msgstr "Incasso mandaat" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__commercial_invoice_partner_id +msgid "Invoicing Commercial Entity" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "Mandate Required" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model,name:account_banking_mandate_sale.model_sale_order +msgid "Sales Order" +msgstr "" + +#~ msgid "Sales Advance Payment Invoice" +#~ msgstr "Verkoop Incassofactuur" + +#~ msgid "Commercial Entity" +#~ msgstr "Commerciële Entiteit" + +#, fuzzy +#~ msgid "Sale Order" +#~ msgstr "Verkooporder" diff --git a/account_banking_mandate_sale/i18n/nl_NL.po b/account_banking_mandate_sale/i18n/nl_NL.po new file mode 100644 index 00000000000..b717a680e93 --- /dev/null +++ b/account_banking_mandate_sale/i18n/nl_NL.po @@ -0,0 +1,50 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_banking_mandate_sale +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: bank-payment (10.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-18 00:42+0000\n" +"PO-Revision-Date: 2016-10-19 23:45+0000\n" +"Last-Translator: <>\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/oca/OCA-bank-" +"payment-10-0/language/nl_NL/)\n" +"Language: nl_NL\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" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,help:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "" +"Activate this option if this payment method requires your customer to sign a " +"direct debit mandate with your company." +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_id +msgid "Direct Debit Mandate" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__commercial_invoice_partner_id +msgid "Invoicing Commercial Entity" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "Mandate Required" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model,name:account_banking_mandate_sale.model_sale_order +msgid "Sales Order" +msgstr "" + +#, fuzzy +#~ msgid "Sale Order" +#~ msgstr "Verkooporder" diff --git a/account_banking_mandate_sale/i18n/pt_BR.po b/account_banking_mandate_sale/i18n/pt_BR.po new file mode 100644 index 00000000000..d07b1af574d --- /dev/null +++ b/account_banking_mandate_sale/i18n/pt_BR.po @@ -0,0 +1,58 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_banking_mandate_sale +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-07-01 19:28+0000\n" +"PO-Revision-Date: 2019-09-03 03:24+0000\n" +"Last-Translator: Rodrigo Macedo \n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" +"teams/23907/pt_BR/)\n" +"Language: pt_BR\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 3.8\n" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,help:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "" +"Activate this option if this payment method requires your customer to sign a " +"direct debit mandate with your company." +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_id +msgid "Direct Debit Mandate" +msgstr "Mandato de débito direto" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__commercial_invoice_partner_id +msgid "Invoicing Commercial Entity" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "Mandate Required" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model,name:account_banking_mandate_sale.model_sale_order +msgid "Sales Order" +msgstr "" + +#~ msgid "Commercial Entity" +#~ msgstr "Entidade Comercial" + +#, fuzzy +#~ msgid "Sale Order" +#~ msgstr "Pedido de Venda" + +#~ msgid "Sales Advance Payment Invoice" +#~ msgstr "Fatura de pagamento antecipado de vendas" diff --git a/account_banking_mandate_sale/i18n/sl.po b/account_banking_mandate_sale/i18n/sl.po new file mode 100644 index 00000000000..ba354d11af5 --- /dev/null +++ b/account_banking_mandate_sale/i18n/sl.po @@ -0,0 +1,59 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_banking_mandate_sale +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-07-01 19:28+0000\n" +"PO-Revision-Date: 2020-03-21 14:13+0000\n" +"Last-Translator: Matjaz Mozetic \n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3;\n" +"X-Generator: Weblate 3.10\n" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,help:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "" +"Activate this option if this payment method requires your customer to sign a " +"direct debit mandate with your company." +msgstr "" +"Aktivirajte to opcijo, če ta plačilna metoda zahteva strankin podpis za " +"direkten debetni mandat vaši družbi." + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_id +msgid "Direct Debit Mandate" +msgstr "Mandat za direktne obremenitve" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__commercial_invoice_partner_id +msgid "Invoicing Commercial Entity" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "Mandate Required" +msgstr "Zahteva se mandat" + +#. module: account_banking_mandate_sale +#: model:ir.model,name:account_banking_mandate_sale.model_sale_order +msgid "Sales Order" +msgstr "" + +#~ msgid "Commercial Entity" +#~ msgstr "Gospodarski subjekt" + +#~ msgid "Sale Order" +#~ msgstr "Prodajni nalog" + +#~ msgid "Sales Advance Payment Invoice" +#~ msgstr "Prodajni račun za plačilo avansa" diff --git a/account_banking_mandate_sale/models/__init__.py b/account_banking_mandate_sale/models/__init__.py new file mode 100644 index 00000000000..6aacb753131 --- /dev/null +++ b/account_banking_mandate_sale/models/__init__.py @@ -0,0 +1 @@ +from . import sale_order diff --git a/account_banking_mandate_sale/models/sale_order.py b/account_banking_mandate_sale/models/sale_order.py new file mode 100644 index 00000000000..b6a3b08060a --- /dev/null +++ b/account_banking_mandate_sale/models/sale_order.py @@ -0,0 +1,62 @@ +# Copyright 2014-2022 Akretion (Alexis de Lattre ) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class SaleOrder(models.Model): + _inherit = "sale.order" + + commercial_invoice_partner_id = fields.Many2one( + related="partner_invoice_id.commercial_partner_id", + string="Invoicing Commercial Entity", + store=True, + ) + mandate_id = fields.Many2one( + "account.banking.mandate", + compute="_compute_mandate_id", + string="Direct Debit Mandate", + ondelete="restrict", + check_company=True, + readonly=False, + store=True, + domain="[('partner_id', '=', commercial_invoice_partner_id), " + "('state', 'in', ('draft', 'valid')), " + "('company_id', '=', company_id)]", + ) + mandate_required = fields.Boolean( + related="payment_mode_id.payment_method_id.mandate_required", + ) + + def _prepare_invoice(self): + """Copy mandate from sale order to invoice""" + vals = super()._prepare_invoice() + if self.mandate_id: + vals["mandate_id"] = self.mandate_id.id + return vals + + @api.depends("partner_invoice_id", "payment_mode_id") + def _compute_mandate_id(self): + """Select by default the first valid mandate of the invoicing partner""" + abm_obj = self.env["account.banking.mandate"] + for order in self: + if ( + order.partner_invoice_id + and order.payment_mode_id + and order.payment_mode_id.payment_method_id.mandate_required + ): + mandate = abm_obj.search( + [ + ("state", "=", "valid"), + ( + "partner_id", + "=", + order.partner_invoice_id.commercial_partner_id.id, + ), + ("company_id", "=", order.company_id.id), + ], + limit=1, + ) + order.mandate_id = mandate or False + else: + order.mandate_id = False diff --git a/account_banking_mandate_sale/pyproject.toml b/account_banking_mandate_sale/pyproject.toml new file mode 100644 index 00000000000..4231d0cccb3 --- /dev/null +++ b/account_banking_mandate_sale/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/account_banking_mandate_sale/readme/CONTRIBUTORS.md b/account_banking_mandate_sale/readme/CONTRIBUTORS.md new file mode 100644 index 00000000000..ceebae0cacd --- /dev/null +++ b/account_banking_mandate_sale/readme/CONTRIBUTORS.md @@ -0,0 +1,2 @@ +- Alexis de Lattre \<\> +- Thomas Binsfeld \<\> diff --git a/account_banking_mandate_sale/readme/DESCRIPTION.md b/account_banking_mandate_sale/readme/DESCRIPTION.md new file mode 100644 index 00000000000..d7a2a459689 --- /dev/null +++ b/account_banking_mandate_sale/readme/DESCRIPTION.md @@ -0,0 +1 @@ +This modules adds the field *Direct Debit Mandate* on sale orders. diff --git a/account_banking_mandate_sale/readme/USAGE.md b/account_banking_mandate_sale/readme/USAGE.md new file mode 100644 index 00000000000..a273b4ef543 --- /dev/null +++ b/account_banking_mandate_sale/readme/USAGE.md @@ -0,0 +1,4 @@ +When you select a payment mode that requires mandate on a sale order, +Odoo will select by default the first valid mandate of this customer. + +The mandate will be copied from the sale order to the invoice. diff --git a/account_banking_mandate_sale/static/description/icon.png b/account_banking_mandate_sale/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 zcmW++2RxMjAAjx~&dlBk9S+%}OXg)AGE&Cb*&}d0jUxM@u(PQx^-s)697TX`ehR4?GS^qbkof1cslKgkU)h65qZ9Oc=ml_0temigYLJfnz{IDzUf>bGs4N!v3=Z3jMq&A#7%rM5eQ#dc?k~! zVpnB`o+K7|Al`Q_U;eD$B zfJtP*jH`siUq~{KE)`jP2|#TUEFGRryE2`i0**z#*^6~AI|YzIWy$Cu#CSLW3q=GA z6`?GZymC;dCPk~rBS%eCb`5OLr;RUZ;D`}um=H)BfVIq%7VhiMr)_#G0N#zrNH|__ zc+blN2UAB0=617@>_u;MPHN;P;N#YoE=)R#i$k_`UAA>WWCcEVMh~L_ zj--gtp&|K1#58Yz*AHCTMziU1Jzt_jG0I@qAOHsk$2}yTmVkBp_eHuY$A9)>P6o~I z%aQ?!(GqeQ-Y+b0I(m9pwgi(IIZZzsbMv+9w{PFtd_<_(LA~0H(xz{=FhLB@(1&qHA5EJw1>>=%q2f&^X>IQ{!GJ4e9U z&KlB)z(84HmNgm2hg2C0>WM{E(DdPr+EeU_N@57;PC2&DmGFW_9kP&%?X4}+xWi)( z;)z%wI5>D4a*5XwD)P--sPkoY(a~WBw;E~AW`Yue4kFa^LM3X`8x|}ZUeMnqr}>kH zG%WWW>3ml$Yez?i%)2pbKPI7?5o?hydokgQyZsNEr{a|mLdt;X2TX(#B1j35xPnPW z*bMSSOauW>o;*=kO8ojw91VX!qoOQb)zHJ!odWB}d+*K?#sY_jqPdg{Sm2HdYzdEx zOGVPhVRTGPtv0o}RfVP;Nd(|CB)I;*t&QO8h zFfekr30S!-LHmV_Su-W+rEwYXJ^;6&3|L$mMC8*bQptyOo9;>Qb9Q9`ySe3%V$A*9 zeKEe+b0{#KWGp$F+tga)0RtI)nhMa-K@JS}2krK~n8vJ=Ngm?R!9G<~RyuU0d?nz# z-5EK$o(!F?hmX*2Yt6+coY`6jGbb7tF#6nHA zuKk=GGJ;ZwON1iAfG$E#Y7MnZVmrY|j0eVI(DN_MNFJmyZ|;w4tf@=CCDZ#5N_0K= z$;R~bbk?}TpfDjfB&aiQ$VA}s?P}xPERJG{kxk5~R`iRS(SK5d+Xs9swCozZISbnS zk!)I0>t=A<-^z(cmSFz3=jZ23u13X><0b)P)^1T_))Kr`e!-pb#q&J*Q`p+B6la%C zuVl&0duN<;uOsB3%T9Fp8t{ED108<+W(nOZd?gDnfNBC3>M8WE61$So|P zVvqH0SNtDTcsUdzaMDpT=Ty0pDHHNL@Z0w$Y`XO z2M-_r1S+GaH%pz#Uy0*w$Vdl=X=rQXEzO}d6J^R6zjM1u&c9vYLvLp?W7w(?np9x1 zE_0JSAJCPB%i7p*Wvg)pn5T`8k3-uR?*NT|J`eS#_#54p>!p(mLDvmc-3o0mX*mp_ zN*AeS<>#^-{S%W<*mz^!X$w_2dHWpcJ6^j64qFBft-o}o_Vx80o0>}Du;>kLts;$8 zC`7q$QI(dKYG`Wa8#wl@V4jVWBRGQ@1dr-hstpQL)Tl+aqVpGpbSfN>5i&QMXfiZ> zaA?T1VGe?rpQ@;+pkrVdd{klI&jVS@I5_iz!=UMpTsa~mBga?1r}aRBm1WS;TT*s0f0lY=JBl66Upy)-k4J}lh=P^8(SXk~0xW=T9v*B|gzIhN z>qsO7dFd~mgxAy4V?&)=5ieYq?zi?ZEoj)&2o)RLy=@hbCRcfT5jigwtQGE{L*8<@Yd{zg;CsL5mvzfDY}P-wos_6PfprFVaeqNE%h zKZhLtcQld;ZD+>=nqN~>GvROfueSzJD&BE*}XfU|H&(FssBqY=hPCt`d zH?@s2>I(|;fcW&YM6#V#!kUIP8$Nkdh0A(bEVj``-AAyYgwY~jB zT|I7Bf@%;7aL7Wf4dZ%VqF$eiaC38OV6oy3Z#TER2G+fOCd9Iaoy6aLYbPTN{XRPz z;U!V|vBf%H!}52L2gH_+j;`bTcQRXB+y9onc^wLm5wi3-Be}U>k_u>2Eg$=k!(l@I zcCg+flakT2Nej3i0yn+g+}%NYb?ta;R?(g5SnwsQ49U8Wng8d|{B+lyRcEDvR3+`O{zfmrmvFrL6acVP%yG98X zo&+VBg@px@i)%o?dG(`T;n*$S5*rnyiR#=wW}}GsAcfyQpE|>a{=$Hjg=-*_K;UtD z#z-)AXwSRY?OPefw^iI+ z)AXz#PfEjlwTes|_{sB?4(O@fg0AJ^g8gP}ex9Ucf*@_^J(s_5jJV}c)s$`Myn|Kd z$6>}#q^n{4vN@+Os$m7KV+`}c%4)4pv@06af4-x5#wj!KKb%caK{A&Y#Rfs z-po?Dcb1({W=6FKIUirH&(yg=*6aLCekcKwyfK^JN5{wcA3nhO(o}SK#!CINhI`-I z1)6&n7O&ZmyFMuNwvEic#IiOAwNkR=u5it{B9n2sAJV5pNhar=j5`*N!Na;c7g!l$ z3aYBqUkqqTJ=Re-;)s!EOeij=7SQZ3Hq}ZRds%IM*PtM$wV z@;rlc*NRK7i3y5BETSKuumEN`Xu_8GP1Ri=OKQ$@I^ko8>H6)4rjiG5{VBM>B|%`&&s^)jS|-_95&yc=GqjNo{zFkw%%HHhS~e=s zD#sfS+-?*t|J!+ozP6KvtOl!R)@@-z24}`9{QaVLD^9VCSR2b`b!KC#o;Ki<+wXB6 zx3&O0LOWcg4&rv4QG0)4yb}7BFSEg~=IR5#ZRj8kg}dS7_V&^%#Do==#`u zpy6{ox?jWuR(;pg+f@mT>#HGWHAJRRDDDv~@(IDw&R>9643kK#HN`!1vBJHnC+RM&yIh8{gG2q zA%e*U3|N0XSRa~oX-3EAneep)@{h2vvd3Xvy$7og(sayr@95+e6~Xvi1tUqnIxoIH zVWo*OwYElb#uyW{Imam6f2rGbjR!Y3`#gPqkv57dB6K^wRGxc9B(t|aYDGS=m$&S!NmCtrMMaUg(c zc2qC=2Z`EEFMW-me5B)24AqF*bV5Dr-M5ig(l-WPS%CgaPzs6p_gnCIvTJ=Y<6!gT zVt@AfYCzjjsMEGi=rDQHo0yc;HqoRNnNFeWZgcm?f;cp(6CNylj36DoL(?TS7eU#+ z7&mfr#y))+CJOXQKUMZ7QIdS9@#-}7y2K1{8)cCt0~-X0O!O?Qx#E4Og+;A2SjalQ zs7r?qn0H044=sDN$SRG$arw~n=+T_DNdSrarmu)V6@|?1-ZB#hRn`uilTGPJ@fqEy zGt(f0B+^JDP&f=r{#Y_wi#AVDf-y!RIXU^0jXsFpf>=Ji*TeqSY!H~AMbJdCGLhC) zn7Rx+sXw6uYj;WRYrLd^5IZq@6JI1C^YkgnedZEYy<&4(z%Q$5yv#Boo{AH8n$a zhb4Y3PWdr269&?V%uI$xMcUrMzl=;w<_nm*qr=c3Rl@i5wWB;e-`t7D&c-mcQl7x! zZWB`UGcw=Y2=}~wzrfLx=uet<;m3~=8I~ZRuzvMQUQdr+yTV|ATf1Uuomr__nDf=X zZ3WYJtHp_ri(}SQAPjv+Y+0=fH4krOP@S&=zZ-t1jW1o@}z;xk8 z(Nz1co&El^HK^NrhVHa-_;&88vTU>_J33=%{if;BEY*J#1n59=07jrGQ#IP>@u#3A z;!q+E1Rj3ZJ+!4bq9F8PXJ@yMgZL;>&gYA0%_Kbi8?S=XGM~dnQZQ!yBSgcZhY96H zrWnU;k)qy`rX&&xlDyA%(a1Hhi5CWkmg(`Gb%m(HKi-7Z!LKGRP_B8@`7&hdDy5n= z`OIxqxiVfX@OX1p(mQu>0Ai*v_cTMiw4qRt3~NBvr9oBy0)r>w3p~V0SCm=An6@3n)>@z!|o-$HvDK z|3D2ZMJkLE5loMKl6R^ez@Zz%S$&mbeoqH5`Bb){Ei21q&VP)hWS2tjShfFtGE+$z zzCR$P#uktu+#!w)cX!lWN1XU%K-r=s{|j?)Akf@q#3b#{6cZCuJ~gCxuMXRmI$nGtnH+-h z+GEi!*X=AP<|fG`1>MBdTb?28JYc=fGvAi2I<$B(rs$;eoJCyR6_bc~p!XR@O-+sD z=eH`-ye})I5ic1eL~TDmtfJ|8`0VJ*Yr=hNCd)G1p2MMz4C3^Mj?7;!w|Ly%JqmuW zlIEW^Ft%z?*|fpXda>Jr^1noFZEwFgVV%|*XhH@acv8rdGxeEX{M$(vG{Zw+x(ei@ zmfXb22}8-?Fi`vo-YVrTH*C?a8%M=Hv9MqVH7H^J$KsD?>!SFZ;ZsvnHr_gn=7acz z#W?0eCdVhVMWN12VV^$>WlQ?f;P^{(&pYTops|btm6aj>_Uz+hqpGwB)vWp0Cf5y< zft8-je~nn?W11plq}N)4A{l8I7$!ks_x$PXW-2XaRFswX_BnF{R#6YIwMhAgd5F9X zGmwdadS6(a^fjHtXg8=l?Rc0Sm%hk6E9!5cLVloEy4eh(=FwgP`)~I^5~pBEWo+F6 zSf2ncyMurJN91#cJTy_u8Y}@%!bq1RkGC~-bV@SXRd4F{R-*V`bS+6;W5vZ(&+I<9$;-V|eNfLa5n-6% z2(}&uGRF;p92eS*sE*oR$@pexaqr*meB)VhmIg@h{uzkk$9~qh#cHhw#>O%)b@+(| z^IQgqzuj~Sk(J;swEM-3TrJAPCq9k^^^`q{IItKBRXYe}e0Tdr=Huf7da3$l4PdpwWDop%^}n;dD#K4s#DYA8SHZ z&1!riV4W4R7R#C))JH1~axJ)RYnM$$lIR%6fIVA@zV{XVyx}C+a-Dt8Y9M)^KU0+H zR4IUb2CJ{Hg>CuaXtD50jB(_Tcx=Z$^WYu2u5kubqmwp%drJ6 z?Fo40g!Qd<-l=TQxqHEOuPX0;^z7iX?Ke^a%XT<13TA^5`4Xcw6D@Ur&VT&CUe0d} z1GjOVF1^L@>O)l@?bD~$wzgf(nxX1OGD8fEV?TdJcZc2KoUe|oP1#=$$7ee|xbY)A zDZq+cuTpc(fFdj^=!;{k03C69lMQ(|>uhRfRu%+!k&YOi-3|1QKB z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/account_banking_mandate_sale/static/description/index.html b/account_banking_mandate_sale/static/description/index.html new file mode 100644 index 00000000000..ec5fcf6d4b2 --- /dev/null +++ b/account_banking_mandate_sale/static/description/index.html @@ -0,0 +1,430 @@ + + + + + +Account Banking Mandate Sale + + + +
+

Account Banking Mandate Sale

+ + +

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

+

This modules adds the field Direct Debit Mandate on sale orders.

+

Table of contents

+ +
+

Usage

+

When you select a payment mode that requires mandate on a sale order, +Odoo will select by default the first valid mandate of this customer.

+

The mandate will be copied from the sale order to the invoice.

+
+
+

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

+
    +
  • Akretion
  • +
+
+
+

Contributors

+ +
+
+

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:

+

alexis-via

+

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_banking_mandate_sale/views/sale_order.xml b/account_banking_mandate_sale/views/sale_order.xml new file mode 100644 index 00000000000..1ab7273a5ab --- /dev/null +++ b/account_banking_mandate_sale/views/sale_order.xml @@ -0,0 +1,24 @@ + + + + + + account_banking_mandate_sale.sale_order.form + sale.order + + + + + + + + + + + From 0d20c764d269c4f11188d5cba64fbf5ff12db2dc Mon Sep 17 00:00:00 2001 From: Marwan Date: Thu, 25 Apr 2024 10:59:41 +0200 Subject: [PATCH 02/13] [REF] account_banking_mandate_sale: Refactor sale_order.xml: Simplify code by removing unnecessary lines. --- account_banking_mandate_sale/views/sale_order.xml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/account_banking_mandate_sale/views/sale_order.xml b/account_banking_mandate_sale/views/sale_order.xml index 1ab7273a5ab..5ed59d275e0 100644 --- a/account_banking_mandate_sale/views/sale_order.xml +++ b/account_banking_mandate_sale/views/sale_order.xml @@ -11,10 +11,7 @@ - + From f634e5918ab576f89bc8877f8351c7a18fc760a0 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Wed, 8 May 2024 21:43:58 +0000 Subject: [PATCH 03/13] [UPD] Update account_banking_mandate_sale.pot --- .../i18n/account_banking_mandate_sale.pot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/account_banking_mandate_sale/i18n/account_banking_mandate_sale.pot b/account_banking_mandate_sale/i18n/account_banking_mandate_sale.pot index f289515034d..9b9129f7937 100644 --- a/account_banking_mandate_sale/i18n/account_banking_mandate_sale.pot +++ b/account_banking_mandate_sale/i18n/account_banking_mandate_sale.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 17.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" From 356dd68b18d171946d86ad939f7a8f89993410f9 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 8 May 2024 21:47:37 +0000 Subject: [PATCH 04/13] [BOT] post-merge updates --- account_banking_mandate_sale/README.rst | 2 +- account_banking_mandate_sale/static/description/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/account_banking_mandate_sale/README.rst b/account_banking_mandate_sale/README.rst index 7f066291e49..a5b83538335 100644 --- a/account_banking_mandate_sale/README.rst +++ b/account_banking_mandate_sale/README.rst @@ -7,7 +7,7 @@ Account Banking Mandate Sale !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:454763166596806cdc074c4243943a135a4b1d29ffe3567d159116c3663190e8 + !! source digest: sha256:8a6f72abaad2db6ddb741d0decc20315c3145e44596ddb1fc6260de06350ccb4 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/account_banking_mandate_sale/static/description/index.html b/account_banking_mandate_sale/static/description/index.html index ec5fcf6d4b2..9c4066243b3 100644 --- a/account_banking_mandate_sale/static/description/index.html +++ b/account_banking_mandate_sale/static/description/index.html @@ -366,7 +366,7 @@

Account Banking Mandate Sale

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:454763166596806cdc074c4243943a135a4b1d29ffe3567d159116c3663190e8 +!! source digest: sha256:8a6f72abaad2db6ddb741d0decc20315c3145e44596ddb1fc6260de06350ccb4 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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

This modules adds the field Direct Debit Mandate on sale orders.

From 72f2cebd5b41274a6df15bfc6583cd1296eafce5 Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 13 May 2024 07:17:58 +0000 Subject: [PATCH 05/13] Added translation using Weblate (Italian) --- account_banking_mandate_sale/i18n/it.po | 42 +++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 account_banking_mandate_sale/i18n/it.po diff --git a/account_banking_mandate_sale/i18n/it.po b/account_banking_mandate_sale/i18n/it.po new file mode 100644 index 00000000000..cb0e8740e97 --- /dev/null +++ b/account_banking_mandate_sale/i18n/it.po @@ -0,0 +1,42 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_banking_mandate_sale +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\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" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,help:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "" +"Activate this option if this payment method requires your customer to sign a" +" direct debit mandate with your company." +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_id +msgid "Direct Debit Mandate" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__commercial_invoice_partner_id +msgid "Invoicing Commercial Entity" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_required +msgid "Mandate Required" +msgstr "" + +#. module: account_banking_mandate_sale +#: model:ir.model,name:account_banking_mandate_sale.model_sale_order +msgid "Sales Order" +msgstr "" From ca13101e26267c9c477d70ba9c452c28903d8998 Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 13 May 2024 07:20:30 +0000 Subject: [PATCH 06/13] Translated using Weblate (Italian) Currently translated at 100.0% (5 of 5 strings) Translation: bank-payment-17.0/bank-payment-17.0-account_banking_mandate_sale Translate-URL: https://translation.odoo-community.org/projects/bank-payment-17-0/bank-payment-17-0-account_banking_mandate_sale/it/ --- account_banking_mandate_sale/i18n/it.po | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/account_banking_mandate_sale/i18n/it.po b/account_banking_mandate_sale/i18n/it.po index cb0e8740e97..80ae6f279c9 100644 --- a/account_banking_mandate_sale/i18n/it.po +++ b/account_banking_mandate_sale/i18n/it.po @@ -6,13 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 17.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-05-13 09:36+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 4.17\n" #. module: account_banking_mandate_sale #: model:ir.model.fields,help:account_banking_mandate_sale.field_sale_order__mandate_required @@ -20,23 +22,25 @@ msgid "" "Activate this option if this payment method requires your customer to sign a" " direct debit mandate with your company." msgstr "" +"Attivare questa opzione se questo metodo di pagamento richiede che il " +"cliente firmi un mandato di addebito diretto (SDD) con la vostra azienda." #. module: account_banking_mandate_sale #: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_id msgid "Direct Debit Mandate" -msgstr "" +msgstr "Mandato addebito diretto" #. module: account_banking_mandate_sale #: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__commercial_invoice_partner_id msgid "Invoicing Commercial Entity" -msgstr "" +msgstr "Entità commerciale fatturazione" #. module: account_banking_mandate_sale #: model:ir.model.fields,field_description:account_banking_mandate_sale.field_sale_order__mandate_required msgid "Mandate Required" -msgstr "" +msgstr "Mandato richiesto" #. module: account_banking_mandate_sale #: model:ir.model,name:account_banking_mandate_sale.model_sale_order msgid "Sales Order" -msgstr "" +msgstr "Ordine di vendita" From 9d70b949cebd833c477eb276a43e94861c6a41e8 Mon Sep 17 00:00:00 2001 From: eugenio Date: Mon, 28 Apr 2025 12:08:32 +0200 Subject: [PATCH 07/13] [IMP] account_banking_mandate_sale: pre-commit auto fixes --- .../views/sale_order.xml | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/account_banking_mandate_sale/views/sale_order.xml b/account_banking_mandate_sale/views/sale_order.xml index 5ed59d275e0..fb2366d71f3 100644 --- a/account_banking_mandate_sale/views/sale_order.xml +++ b/account_banking_mandate_sale/views/sale_order.xml @@ -4,18 +4,19 @@ License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> - - - account_banking_mandate_sale.sale_order.form - sale.order - - - - - - - - - - + + account_banking_mandate_sale.sale_order.form + sale.order + + + + + + + + + From 04fafdf35a00145ced37cd1df1f8c92f4ab2f1a2 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Thu, 30 Jan 2025 23:26:41 +0100 Subject: [PATCH 08/13] [MIG] account_banking_mandate_sale: mig. to v18 --- account_banking_mandate_sale/__manifest__.py | 2 +- .../models/sale_order.py | 27 ++++++------------- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/account_banking_mandate_sale/__manifest__.py b/account_banking_mandate_sale/__manifest__.py index 9c8175a9484..09d52ddc71f 100644 --- a/account_banking_mandate_sale/__manifest__.py +++ b/account_banking_mandate_sale/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Account Banking Mandate Sale", - "version": "17.0.1.0.0", + "version": "18.0.1.0.0", "category": "Banking addons", "license": "AGPL-3", "summary": "Adds mandates on sale orders", diff --git a/account_banking_mandate_sale/models/sale_order.py b/account_banking_mandate_sale/models/sale_order.py index b6a3b08060a..036236a6807 100644 --- a/account_banking_mandate_sale/models/sale_order.py +++ b/account_banking_mandate_sale/models/sale_order.py @@ -20,12 +20,13 @@ class SaleOrder(models.Model): check_company=True, readonly=False, store=True, + tracking=True, domain="[('partner_id', '=', commercial_invoice_partner_id), " "('state', 'in', ('draft', 'valid')), " "('company_id', '=', company_id)]", ) mandate_required = fields.Boolean( - related="payment_mode_id.payment_method_id.mandate_required", + related="payment_method_line_id.payment_method_id.mandate_required", ) def _prepare_invoice(self): @@ -35,28 +36,16 @@ def _prepare_invoice(self): vals["mandate_id"] = self.mandate_id.id return vals - @api.depends("partner_invoice_id", "payment_mode_id") + @api.depends("partner_invoice_id", "payment_method_line_id") def _compute_mandate_id(self): - """Select by default the first valid mandate of the invoicing partner""" - abm_obj = self.env["account.banking.mandate"] for order in self: if ( order.partner_invoice_id - and order.payment_mode_id - and order.payment_mode_id.payment_method_id.mandate_required + and order.payment_method_line_id + and order.payment_method_line_id.payment_method_id.mandate_required ): - mandate = abm_obj.search( - [ - ("state", "=", "valid"), - ( - "partner_id", - "=", - order.partner_invoice_id.commercial_partner_id.id, - ), - ("company_id", "=", order.company_id.id), - ], - limit=1, - ) - order.mandate_id = mandate or False + order.mandate_id = order.with_company( + order.company_id.id + ).partner_invoice_id.valid_mandate_id else: order.mandate_id = False From 9c359f58b78b33cfe46f81f1bf18764a060ca825 Mon Sep 17 00:00:00 2001 From: eugenio Date: Tue, 29 Apr 2025 10:37:16 +0200 Subject: [PATCH 09/13] [MIG] account_banking_mandate_sale: Migration to 18.0 --- account_banking_mandate_sale/README.rst | 14 +-- .../models/sale_order.py | 24 ++-- .../static/description/index.html | 17 +-- .../tests/__init__.py | 1 + .../tests/test_sale_order.py | 105 ++++++++++++++++++ .../views/sale_order.xml | 2 - 6 files changed, 140 insertions(+), 23 deletions(-) create mode 100644 account_banking_mandate_sale/tests/__init__.py create mode 100644 account_banking_mandate_sale/tests/test_sale_order.py diff --git a/account_banking_mandate_sale/README.rst b/account_banking_mandate_sale/README.rst index a5b83538335..73e19b23683 100644 --- a/account_banking_mandate_sale/README.rst +++ b/account_banking_mandate_sale/README.rst @@ -17,13 +17,13 @@ Account Banking Mandate Sale :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_banking_mandate_sale + :target: https://github.com/OCA/bank-payment/tree/18.0/account_banking_mandate_sale :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_banking_mandate_sale + :target: https://translation.odoo-community.org/projects/bank-payment-18-0/bank-payment-18-0-account_banking_mandate_sale :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| @@ -49,7 +49,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. @@ -64,8 +64,8 @@ Authors Contributors ------------ -- Alexis de Lattre -- Thomas Binsfeld +- Alexis de Lattre +- Thomas Binsfeld Maintainers ----------- @@ -88,6 +88,6 @@ Current `maintainer `__: |maintainer-alexis-via| -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_banking_mandate_sale/models/sale_order.py b/account_banking_mandate_sale/models/sale_order.py index 036236a6807..6c85d9b72ae 100644 --- a/account_banking_mandate_sale/models/sale_order.py +++ b/account_banking_mandate_sale/models/sale_order.py @@ -26,7 +26,7 @@ class SaleOrder(models.Model): "('company_id', '=', company_id)]", ) mandate_required = fields.Boolean( - related="payment_method_line_id.payment_method_id.mandate_required", + related="payment_mode_id.payment_method_id.mandate_required", ) def _prepare_invoice(self): @@ -36,16 +36,26 @@ def _prepare_invoice(self): vals["mandate_id"] = self.mandate_id.id return vals - @api.depends("partner_invoice_id", "payment_method_line_id") + @api.depends("partner_invoice_id", "payment_mode_id") def _compute_mandate_id(self): for order in self: if ( order.partner_invoice_id - and order.payment_method_line_id - and order.payment_method_line_id.payment_method_id.mandate_required + and order.payment_mode_id + and order.payment_mode_id.payment_method_id.mandate_required ): - order.mandate_id = order.with_company( - order.company_id.id - ).partner_invoice_id.valid_mandate_id + mandate = self.env["account.banking.mandate"].search( + [ + ("state", "=", "valid"), + ( + "partner_id", + "=", + order.partner_invoice_id.commercial_partner_id.id, + ), + ("company_id", "=", order.company_id.id), + ], + limit=1, + ) + order.mandate_id = mandate or False else: order.mandate_id = False diff --git a/account_banking_mandate_sale/static/description/index.html b/account_banking_mandate_sale/static/description/index.html index 9c4066243b3..bc230484b3f 100644 --- a/account_banking_mandate_sale/static/description/index.html +++ b/account_banking_mandate_sale/static/description/index.html @@ -8,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -274,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -368,7 +369,7 @@

Account Banking Mandate Sale

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:8a6f72abaad2db6ddb741d0decc20315c3145e44596ddb1fc6260de06350ccb4 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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 modules adds the field Direct Debit Mandate on sale orders.

Table of contents

@@ -394,7 +395,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.

@@ -415,13 +416,15 @@

Contributors

Maintainers

This module is maintained by the OCA.

-Odoo Community Association + +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:

alexis-via

-

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_banking_mandate_sale/tests/__init__.py b/account_banking_mandate_sale/tests/__init__.py new file mode 100644 index 00000000000..6f699d0d8ba --- /dev/null +++ b/account_banking_mandate_sale/tests/__init__.py @@ -0,0 +1 @@ +from . import test_sale_order diff --git a/account_banking_mandate_sale/tests/test_sale_order.py b/account_banking_mandate_sale/tests/test_sale_order.py new file mode 100644 index 00000000000..9448719ca6d --- /dev/null +++ b/account_banking_mandate_sale/tests/test_sale_order.py @@ -0,0 +1,105 @@ +# Copyright 2025 Studio73 - Eugenio Micó +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import fields +from odoo.tests.common import TransactionCase + + +class TestSaleOrder(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.partner = cls.env["res.partner"].create({"name": "Test Partner"}) + cls.company = cls.env.user.company_id + cls.bank = cls.env["res.bank"].create( + { + "name": "Test Bank", + "bic": "TESTBICX", + } + ) + cls.partner_bank = cls.env["res.partner.bank"].create( + { + "acc_number": "ES9121000418450200051332", + "partner_id": cls.partner.id, + "bank_id": cls.bank.id, + "company_id": cls.company.id, + } + ) + cls.payment_method = cls.env["account.payment.method"].create( + { + "name": "SEPA Direct Debit", + "mandate_required": True, + "payment_type": "inbound", + "code": "sepa_direct_debit", + } + ) + cls.journal = cls.env["account.journal"].create( + { + "name": "Test Bank Journal", + "type": "bank", + "code": "TBNK", + "company_id": cls.company.id, + } + ) + cls.env["account.payment.method.line"].create( + { + "name": "SEPA Direct Debit", + "payment_method_id": cls.payment_method.id, + "journal_id": cls.journal.id, + } + ) + cls.payment_mode = cls.env["account.payment.mode"].create( + { + "name": "Direct Debit", + "payment_method_id": cls.payment_method.id, + "bank_account_link": "fixed", + "fixed_journal_id": cls.journal.id, + "company_id": cls.company.id, + } + ) + cls.mandate = cls.env["account.banking.mandate"].create( + { + "partner_id": cls.partner.id, + "partner_bank_id": cls.partner_bank.id, + "signature_date": fields.Date.today(), + "company_id": cls.company.id, + "state": "valid", + } + ) + cls.sale_order = cls.env["sale.order"].create( + { + "partner_id": cls.partner.id, + "partner_invoice_id": cls.partner.id, + "company_id": cls.company.id, + "payment_mode_id": cls.payment_mode.id, + } + ) + + def test_01_mandate_required_related(self): + self.assertTrue(self.sale_order.mandate_required) + + def test_02_compute_mandate_id(self): + self.sale_order._compute_mandate_id() + self.assertEqual(self.sale_order.mandate_id, self.mandate) + + def test_03_prepare_invoice_copies_mandate(self): + self.sale_order.mandate_id = self.mandate + vals = self.sale_order._prepare_invoice() + self.assertEqual(vals.get("mandate_id"), self.mandate.id) + + def test_04_no_mandate_for_other_partner(self): + other_partner = self.env["res.partner"].create({"name": "Other Partner"}) + self.sale_order.partner_invoice_id = other_partner + self.sale_order._compute_mandate_id() + self.assertFalse(self.sale_order.mandate_id) + + def test_05_no_mandate_without_payment_mode(self): + self.sale_order.payment_mode_id = False + self.sale_order._compute_mandate_id() + self.assertFalse(self.sale_order.mandate_id) + + def test_06_onchange_partner_invoice(self): + self.sale_order.mandate_id = False + self.sale_order.partner_invoice_id = self.partner + self.sale_order._compute_mandate_id() + self.assertEqual(self.sale_order.mandate_id, self.mandate) diff --git a/account_banking_mandate_sale/views/sale_order.xml b/account_banking_mandate_sale/views/sale_order.xml index fb2366d71f3..6ec01209927 100644 --- a/account_banking_mandate_sale/views/sale_order.xml +++ b/account_banking_mandate_sale/views/sale_order.xml @@ -14,8 +14,6 @@ position="after" > - - From bdd11238a4584d9f5731eac68dab4dcb5e9cbc75 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Mon, 28 Jul 2025 10:26:20 +0000 Subject: [PATCH 10/13] [UPD] Update account_banking_mandate_sale.pot --- .../i18n/account_banking_mandate_sale.pot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/account_banking_mandate_sale/i18n/account_banking_mandate_sale.pot b/account_banking_mandate_sale/i18n/account_banking_mandate_sale.pot index 9b9129f7937..28ede4c08ce 100644 --- a/account_banking_mandate_sale/i18n/account_banking_mandate_sale.pot +++ b/account_banking_mandate_sale/i18n/account_banking_mandate_sale.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 17.0\n" +"Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" From 2c340cf9325455b0dab6d5e40e34a347fa878f4d Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 28 Jul 2025 10:30:05 +0000 Subject: [PATCH 11/13] [BOT] post-merge updates --- account_banking_mandate_sale/README.rst | 8 ++++-- .../static/description/index.html | 28 +++++++++++-------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/account_banking_mandate_sale/README.rst b/account_banking_mandate_sale/README.rst index 73e19b23683..d34b51a9a46 100644 --- a/account_banking_mandate_sale/README.rst +++ b/account_banking_mandate_sale/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ============================ Account Banking Mandate Sale ============================ @@ -7,13 +11,13 @@ Account Banking Mandate Sale !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:8a6f72abaad2db6ddb741d0decc20315c3145e44596ddb1fc6260de06350ccb4 + !! source digest: sha256:72be4ba0a8d3c6486a37467aa62b6396d156ef52ff1c8428875829fa6edc7b75 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |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 +.. |badge2| image:: https://img.shields.io/badge/license-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 diff --git a/account_banking_mandate_sale/static/description/index.html b/account_banking_mandate_sale/static/description/index.html index bc230484b3f..b12d7ea5847 100644 --- a/account_banking_mandate_sale/static/description/index.html +++ b/account_banking_mandate_sale/static/description/index.html @@ -3,7 +3,7 @@ -Account Banking Mandate Sale +README.rst -
-

Account Banking Mandate Sale

+
+ + +Odoo Community Association + +
+

Account Banking Mandate Sale

-

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 modules adds the field Direct Debit Mandate on sale orders.

Table of contents

@@ -385,13 +390,13 @@

Account Banking Mandate Sale

-

Usage

+

Usage

When you select a payment mode that requires mandate on a sale order, Odoo will select by default the first valid mandate of this customer.

The mandate will be copied from the sale order to the invoice.

-

Bug Tracker

+

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 @@ -399,22 +404,22 @@

Bug Tracker

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

+
From ddaad28b2210529842625147b7ed980beee441cf Mon Sep 17 00:00:00 2001 From: AlexGarS73 Date: Wed, 15 Oct 2025 09:29:26 +0200 Subject: [PATCH 12/13] [MIG] account_banking_mandate_sale : Migration to 19.0 --- account_banking_mandate_sale/README.rst | 10 +++++----- account_banking_mandate_sale/__manifest__.py | 2 +- .../static/description/index.html | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/account_banking_mandate_sale/README.rst b/account_banking_mandate_sale/README.rst index d34b51a9a46..24ba1fdab43 100644 --- a/account_banking_mandate_sale/README.rst +++ b/account_banking_mandate_sale/README.rst @@ -21,13 +21,13 @@ Account Banking Mandate Sale :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/18.0/account_banking_mandate_sale + :target: https://github.com/OCA/bank-payment/tree/19.0/account_banking_mandate_sale :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-18-0/bank-payment-18-0-account_banking_mandate_sale + :target: https://translation.odoo-community.org/projects/bank-payment-19-0/bank-payment-19-0-account_banking_mandate_sale :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=18.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/bank-payment&target_branch=19.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -53,7 +53,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. @@ -92,6 +92,6 @@ Current `maintainer `__: |maintainer-alexis-via| -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_banking_mandate_sale/__manifest__.py b/account_banking_mandate_sale/__manifest__.py index 09d52ddc71f..e6b91d1fc88 100644 --- a/account_banking_mandate_sale/__manifest__.py +++ b/account_banking_mandate_sale/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Account Banking Mandate Sale", - "version": "18.0.1.0.0", + "version": "19.0.1.0.0", "category": "Banking addons", "license": "AGPL-3", "summary": "Adds mandates on sale orders", diff --git a/account_banking_mandate_sale/static/description/index.html b/account_banking_mandate_sale/static/description/index.html index b12d7ea5847..8e2513b398b 100644 --- a/account_banking_mandate_sale/static/description/index.html +++ b/account_banking_mandate_sale/static/description/index.html @@ -374,7 +374,7 @@

Account Banking Mandate Sale

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:72be4ba0a8d3c6486a37467aa62b6396d156ef52ff1c8428875829fa6edc7b75 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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 modules adds the field Direct Debit Mandate on sale orders.

Table of contents

@@ -400,7 +400,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.

@@ -429,7 +429,7 @@

Maintainers

promote its widespread use.

Current maintainer:

alexis-via

-

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.

From 3eaee0659fc3163ac4c1fa7f5fba96d0c83d2318 Mon Sep 17 00:00:00 2001 From: AlexGarS73 Date: Wed, 15 Oct 2025 10:04:23 +0200 Subject: [PATCH 13/13] [DON'T MERGE] test-requirements.txt --- test-requirements.txt | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 test-requirements.txt diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 00000000000..1f235a6dbe0 --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1,4 @@ +odoo-addon-account_payment_mode @ git+https://github.com/OCA/bank-payment.git@refs/pull/1504/head#subdirectory=account_payment_mode +odoo-addon-account_payment_sale @ git+https://github.com/OCA/bank-payment.git@refs/pull/1509/head#subdirectory=account_payment_sale +odoo-addon-account_payment_order @ git+https://github.com/OCA/bank-payment.git@refs/pull/1510/head#subdirectory=account_payment_order +odoo-addon-account_banking_mandate @ git+https://github.com/OCA/bank-payment.git@refs/pull/1511/head#subdirectory=account_banking_mandate