From 7f51c3ed16105b14670adc13a25a8e00129a8f5d Mon Sep 17 00:00:00 2001 From: Marina Alapont Date: Mon, 19 Feb 2024 09:07:45 +0100 Subject: [PATCH 1/7] [ADD] sale_partner_address_restrict --- sale_partner_address_restrict/README.rst | 76 ++++ sale_partner_address_restrict/__init__.py | 1 + sale_partner_address_restrict/__manifest__.py | 18 + .../models/__init__.py | 1 + .../models/sale_order.py | 39 ++ .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 1 + .../static/description/index.html | 421 ++++++++++++++++++ .../tests/__init__.py | 1 + .../tests/test_sale_order.py | 55 +++ 10 files changed, 614 insertions(+) create mode 100644 sale_partner_address_restrict/README.rst create mode 100644 sale_partner_address_restrict/__init__.py create mode 100644 sale_partner_address_restrict/__manifest__.py create mode 100644 sale_partner_address_restrict/models/__init__.py create mode 100644 sale_partner_address_restrict/models/sale_order.py create mode 100644 sale_partner_address_restrict/readme/CONTRIBUTORS.rst create mode 100644 sale_partner_address_restrict/readme/DESCRIPTION.rst create mode 100644 sale_partner_address_restrict/static/description/index.html create mode 100644 sale_partner_address_restrict/tests/__init__.py create mode 100644 sale_partner_address_restrict/tests/test_sale_order.py diff --git a/sale_partner_address_restrict/README.rst b/sale_partner_address_restrict/README.rst new file mode 100644 index 00000000000..2fe07079d1a --- /dev/null +++ b/sale_partner_address_restrict/README.rst @@ -0,0 +1,76 @@ +============================= +Sale Partner Address Restrict +============================= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:898ea17b3a1600e1645f603852cb5a677bacce759ec6289db11de15b8b2ac482 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Fpartner--contact-lightgray.png?logo=github + :target: https://github.com/OCA/partner-contact/tree/16.0/sale_partner_address_restrict + :alt: OCA/partner-contact +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/partner-contact-16-0/partner-contact-16-0-sale_partner_address_restrict + :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/partner-contact&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module restricts the addresses to be used in the sales order form, according to the partner selected. + +**Table of contents** + +.. contents:: + :local: + +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 +~~~~~~~ + +* ForgeFlow + +Contributors +~~~~~~~~~~~~ + +* Marina Alapont + +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. + +This module is part of the `OCA/partner-contact `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/sale_partner_address_restrict/__init__.py b/sale_partner_address_restrict/__init__.py new file mode 100644 index 00000000000..0650744f6bc --- /dev/null +++ b/sale_partner_address_restrict/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/sale_partner_address_restrict/__manifest__.py b/sale_partner_address_restrict/__manifest__.py new file mode 100644 index 00000000000..d4c08281214 --- /dev/null +++ b/sale_partner_address_restrict/__manifest__.py @@ -0,0 +1,18 @@ +# Copyright 2024 ForgeFlow S.L. +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +{ + "name": "Sale Partner Address Restrict", + "summary": "Restrict addresses domain in the sales order form" + " taking into account the partner selected", + "version": "16.0.1.0.0", + "category": "Sales", + "website": "https://github.com/OCA/partner-contact", + "author": "ForgeFlow, Odoo Community Association (OCA)", + "license": "AGPL-3", + "installable": True, + "depends": [ + "sale", + ], + "data": [], +} diff --git a/sale_partner_address_restrict/models/__init__.py b/sale_partner_address_restrict/models/__init__.py new file mode 100644 index 00000000000..6aacb753131 --- /dev/null +++ b/sale_partner_address_restrict/models/__init__.py @@ -0,0 +1 @@ +from . import sale_order diff --git a/sale_partner_address_restrict/models/sale_order.py b/sale_partner_address_restrict/models/sale_order.py new file mode 100644 index 00000000000..ad8494c3a8e --- /dev/null +++ b/sale_partner_address_restrict/models/sale_order.py @@ -0,0 +1,39 @@ +from odoo import _, api, models +from odoo.exceptions import ValidationError + + +class SaleOrder(models.Model): + _inherit = "sale.order" + + @api.constrains("partner_id", "partner_invoice_id", "partner_shipping_id") + def _check_partner_addresses(self): + for order in self: + if order.partner_id and ( + (order.partner_invoice_id.commercial_partner_id != order.partner_id) + or (order.partner_shipping_id.commercial_partner_id != order.partner_id) + ): + raise ValidationError( + _( + "Invoice and shipping addresses must be child addresses" + " of the selected partner or the selected partner itself." + ) + ) + + @api.onchange("partner_id") + def _onchange_partner_id_domain(self): + domain = [] + if self.partner_id: + domain = [ + ("commercial_partner_id", "=", self.partner_id.id), + "|", + ("company_id", "=", False), + ("company_id", "=", self.company_id.id), + ] + else: + domain = [ + "|", + ("company_id", "=", False), + ("company_id", "=", self.company_id.id), + ] + + return {"domain": {"partner_invoice_id": domain, "partner_shipping_id": domain}} diff --git a/sale_partner_address_restrict/readme/CONTRIBUTORS.rst b/sale_partner_address_restrict/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000000..82fa316ae83 --- /dev/null +++ b/sale_partner_address_restrict/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Marina Alapont diff --git a/sale_partner_address_restrict/readme/DESCRIPTION.rst b/sale_partner_address_restrict/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..2d5143730a1 --- /dev/null +++ b/sale_partner_address_restrict/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module restricts the addresses to be used in the sales order form, according to the partner selected. diff --git a/sale_partner_address_restrict/static/description/index.html b/sale_partner_address_restrict/static/description/index.html new file mode 100644 index 00000000000..b52d434c015 --- /dev/null +++ b/sale_partner_address_restrict/static/description/index.html @@ -0,0 +1,421 @@ + + + + + + +Sale Partner Address Restrict + + + +
+

Sale Partner Address Restrict

+ + +

Beta License: AGPL-3 OCA/partner-contact Translate me on Weblate Try me on Runboat

+

This module restricts the addresses to be used in the sales order form, according to the partner selected.

+

Table of contents

+ +
+

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

+
    +
  • ForgeFlow
  • +
+
+
+

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.

+

This module is part of the OCA/partner-contact project on GitHub.

+

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

+
+
+
+ + diff --git a/sale_partner_address_restrict/tests/__init__.py b/sale_partner_address_restrict/tests/__init__.py new file mode 100644 index 00000000000..6f699d0d8ba --- /dev/null +++ b/sale_partner_address_restrict/tests/__init__.py @@ -0,0 +1 @@ +from . import test_sale_order diff --git a/sale_partner_address_restrict/tests/test_sale_order.py b/sale_partner_address_restrict/tests/test_sale_order.py new file mode 100644 index 00000000000..7dff1e31cf6 --- /dev/null +++ b/sale_partner_address_restrict/tests/test_sale_order.py @@ -0,0 +1,55 @@ +from odoo.exceptions import ValidationError +from odoo.tests import Form +from odoo.tests.common import TransactionCase + + +class TestSaleOrder(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.partner1 = cls.env["res.partner"].create({"name": "Test Partner 1"}) + cls.child_1 = cls.env["res.partner"].create( + {"name": "Child 1", "parent_id": cls.partner1.id} + ) + cls.child_2 = cls.env["res.partner"].create( + {"name": "Child 2", "parent_id": cls.partner1.id} + ) + + cls.partner2 = cls.env["res.partner"].create({"name": "Test Partner 2"}) + cls.partner3 = cls.env["res.partner"].create({"name": "Test Partner 3"}) + + def test_sale_order_address_domain(self): + order_form = Form(self.env["sale.order"]) + order_form.partner_id = self.partner1 + sale_order = order_form.save() + + expected_domain = [ + ("commercial_partner_id", "=", sale_order.partner_id.id), + "|", + ("company_id", "=", False), + ("company_id", "=", sale_order.company_id.id), + ] + + partners = self.env["res.partner"].search(expected_domain) + self.assertEqual(len(partners), 3) + + with Form(sale_order) as sale_order: + sale_order.partner_id = self.partner2 + expected_domain = [ + ("commercial_partner_id", "=", sale_order.partner_id.id), + "|", + ("company_id", "=", False), + ("company_id", "=", sale_order.company_id.id), + ] + partners = self.env["res.partner"].search(expected_domain) + self.assertEqual(len(partners), 1) + + def test_sale_order_address_constraint(self): + with self.assertRaises(ValidationError): + self.env["sale.order"].create( + { + "partner_id": self.partner1.id, + "partner_invoice_id": self.partner2.id, + "partner_shipping_id": self.child_2.id, + } + ) From d192396caa876d37c17dcc837eaaefcb282d3818 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Mon, 19 Aug 2024 10:34:41 +0000 Subject: [PATCH 2/7] [UPD] Update sale_partner_address_restrict.pot --- .../i18n/sale_partner_address_restrict.pot | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 sale_partner_address_restrict/i18n/sale_partner_address_restrict.pot diff --git a/sale_partner_address_restrict/i18n/sale_partner_address_restrict.pot b/sale_partner_address_restrict/i18n/sale_partner_address_restrict.pot new file mode 100644 index 00000000000..d0d504491c4 --- /dev/null +++ b/sale_partner_address_restrict/i18n/sale_partner_address_restrict.pot @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_partner_address_restrict +# +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: sale_partner_address_restrict +#. odoo-python +#: code:addons/sale_partner_address_restrict/models/sale_order.py:0 +#, python-format +msgid "" +"Invoice and shipping addresses must be child addresses of the selected " +"partner or the selected partner itself." +msgstr "" + +#. module: sale_partner_address_restrict +#: model:ir.model,name:sale_partner_address_restrict.model_sale_order +msgid "Sales Order" +msgstr "" From 4e3b035ede0d5b3e44d506bb1b93c45d62734d66 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 19 Aug 2024 10:39:24 +0000 Subject: [PATCH 3/7] [BOT] post-merge updates --- sale_partner_address_restrict/README.rst | 2 +- .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 14 ++++++++------ 3 files changed, 9 insertions(+), 7 deletions(-) create mode 100644 sale_partner_address_restrict/static/description/icon.png diff --git a/sale_partner_address_restrict/README.rst b/sale_partner_address_restrict/README.rst index 2fe07079d1a..1d52b44749c 100644 --- a/sale_partner_address_restrict/README.rst +++ b/sale_partner_address_restrict/README.rst @@ -7,7 +7,7 @@ Sale Partner Address Restrict !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:898ea17b3a1600e1645f603852cb5a677bacce759ec6289db11de15b8b2ac482 + !! source digest: sha256:026c9b3f140a8467f57aa94ea7d898de824516f18656d2d7e750a60246399e3b !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/sale_partner_address_restrict/static/description/icon.png b/sale_partner_address_restrict/static/description/icon.png new file mode 100644 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/sale_partner_address_restrict/static/description/index.html b/sale_partner_address_restrict/static/description/index.html index b52d434c015..70a1241dae0 100644 --- a/sale_partner_address_restrict/static/description/index.html +++ b/sale_partner_address_restrict/static/description/index.html @@ -1,4 +1,3 @@ - @@ -9,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. @@ -275,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 } @@ -301,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -367,7 +367,7 @@

Sale Partner Address Restrict

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:898ea17b3a1600e1645f603852cb5a677bacce759ec6289db11de15b8b2ac482 +!! source digest: sha256:026c9b3f140a8467f57aa94ea7d898de824516f18656d2d7e750a60246399e3b !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/partner-contact Translate me on Weblate Try me on Runboat

This module restricts the addresses to be used in the sales order form, according to the partner selected.

@@ -408,7 +408,9 @@

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.

From 6ee93e192c4fa7fdc8c613131b708de43109e29b Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 26 Aug 2024 09:52:48 +0000 Subject: [PATCH 4/7] Added translation using Weblate (Italian) --- sale_partner_address_restrict/i18n/it.po | 29 ++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 sale_partner_address_restrict/i18n/it.po diff --git a/sale_partner_address_restrict/i18n/it.po b/sale_partner_address_restrict/i18n/it.po new file mode 100644 index 00000000000..fd491c78769 --- /dev/null +++ b/sale_partner_address_restrict/i18n/it.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_partner_address_restrict +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.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: sale_partner_address_restrict +#. odoo-python +#: code:addons/sale_partner_address_restrict/models/sale_order.py:0 +#, python-format +msgid "" +"Invoice and shipping addresses must be child addresses of the selected " +"partner or the selected partner itself." +msgstr "" + +#. module: sale_partner_address_restrict +#: model:ir.model,name:sale_partner_address_restrict.model_sale_order +msgid "Sales Order" +msgstr "" From 46f55f61768dafecf09744dbe50138b3fcf2fd68 Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 26 Aug 2024 09:53:27 +0000 Subject: [PATCH 5/7] Translated using Weblate (Italian) Currently translated at 100.0% (2 of 2 strings) Translation: partner-contact-16.0/partner-contact-16.0-sale_partner_address_restrict Translate-URL: https://translation.odoo-community.org/projects/partner-contact-16-0/partner-contact-16-0-sale_partner_address_restrict/it/ --- sale_partner_address_restrict/i18n/it.po | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sale_partner_address_restrict/i18n/it.po b/sale_partner_address_restrict/i18n/it.po index fd491c78769..86a557f5437 100644 --- a/sale_partner_address_restrict/i18n/it.po +++ b/sale_partner_address_restrict/i18n/it.po @@ -6,13 +6,15 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-08-26 12:06+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: sale_partner_address_restrict #. odoo-python @@ -22,8 +24,10 @@ msgid "" "Invoice and shipping addresses must be child addresses of the selected " "partner or the selected partner itself." msgstr "" +"Gli indirizzi di fatturazione e di spedizione devono essere indirizzi figli " +"del partner selezionato o del partner selezionato stesso." #. module: sale_partner_address_restrict #: model:ir.model,name:sale_partner_address_restrict.model_sale_order msgid "Sales Order" -msgstr "" +msgstr "Ordine di vendita" From 0108f2a81142110771afe9195396f48e547ed850 Mon Sep 17 00:00:00 2001 From: JordiMForgeFlow Date: Mon, 9 Dec 2024 20:27:50 +0100 Subject: [PATCH 6/7] [IMP] sale_partner_address_restrict: pre-commit fixes --- sale_partner_address_restrict/README.rst | 21 ++++++++++--------- sale_partner_address_restrict/pyproject.toml | 3 +++ .../readme/CONTRIBUTORS.md | 1 + .../readme/CONTRIBUTORS.rst | 1 - .../{DESCRIPTION.rst => DESCRIPTION.md} | 3 ++- .../static/description/index.html | 20 ++++++++---------- 6 files changed, 26 insertions(+), 23 deletions(-) create mode 100644 sale_partner_address_restrict/pyproject.toml create mode 100644 sale_partner_address_restrict/readme/CONTRIBUTORS.md delete mode 100644 sale_partner_address_restrict/readme/CONTRIBUTORS.rst rename sale_partner_address_restrict/readme/{DESCRIPTION.rst => DESCRIPTION.md} (59%) diff --git a/sale_partner_address_restrict/README.rst b/sale_partner_address_restrict/README.rst index 1d52b44749c..632cb7619f7 100644 --- a/sale_partner_address_restrict/README.rst +++ b/sale_partner_address_restrict/README.rst @@ -17,18 +17,19 @@ Sale Partner Address Restrict :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpartner--contact-lightgray.png?logo=github - :target: https://github.com/OCA/partner-contact/tree/16.0/sale_partner_address_restrict + :target: https://github.com/OCA/partner-contact/tree/17.0/sale_partner_address_restrict :alt: OCA/partner-contact .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/partner-contact-16-0/partner-contact-16-0-sale_partner_address_restrict + :target: https://translation.odoo-community.org/projects/partner-contact-17-0/partner-contact-17-0-sale_partner_address_restrict :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/partner-contact&target_branch=16.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/partner-contact&target_branch=17.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| -This module restricts the addresses to be used in the sales order form, according to the partner selected. +This module restricts the addresses to be used in the sales order form, +according to the partner selected. **Table of contents** @@ -41,7 +42,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. @@ -49,17 +50,17 @@ Credits ======= Authors -~~~~~~~ +------- * ForgeFlow Contributors -~~~~~~~~~~~~ +------------ -* Marina Alapont +- Marina Alapont Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -71,6 +72,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -This module is part of the `OCA/partner-contact `_ project on GitHub. +This module is part of the `OCA/partner-contact `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/sale_partner_address_restrict/pyproject.toml b/sale_partner_address_restrict/pyproject.toml new file mode 100644 index 00000000000..4231d0cccb3 --- /dev/null +++ b/sale_partner_address_restrict/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/sale_partner_address_restrict/readme/CONTRIBUTORS.md b/sale_partner_address_restrict/readme/CONTRIBUTORS.md new file mode 100644 index 00000000000..25a2caefd61 --- /dev/null +++ b/sale_partner_address_restrict/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +- Marina Alapont \<\> diff --git a/sale_partner_address_restrict/readme/CONTRIBUTORS.rst b/sale_partner_address_restrict/readme/CONTRIBUTORS.rst deleted file mode 100644 index 82fa316ae83..00000000000 --- a/sale_partner_address_restrict/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1 +0,0 @@ -* Marina Alapont diff --git a/sale_partner_address_restrict/readme/DESCRIPTION.rst b/sale_partner_address_restrict/readme/DESCRIPTION.md similarity index 59% rename from sale_partner_address_restrict/readme/DESCRIPTION.rst rename to sale_partner_address_restrict/readme/DESCRIPTION.md index 2d5143730a1..654be2c653f 100644 --- a/sale_partner_address_restrict/readme/DESCRIPTION.rst +++ b/sale_partner_address_restrict/readme/DESCRIPTION.md @@ -1 +1,2 @@ -This module restricts the addresses to be used in the sales order form, according to the partner selected. +This module restricts the addresses to be used in the sales order form, +according to the partner selected. diff --git a/sale_partner_address_restrict/static/description/index.html b/sale_partner_address_restrict/static/description/index.html index 70a1241dae0..47c74a5ee68 100644 --- a/sale_partner_address_restrict/static/description/index.html +++ b/sale_partner_address_restrict/static/description/index.html @@ -8,11 +8,10 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ +:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z 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. @@ -275,7 +274,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: gray; } /* line numbers */ +pre.code .ln { color: grey; } /* 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 } @@ -301,7 +300,7 @@ span.pre { white-space: pre } -span.problematic, pre.problematic { +span.problematic { color: red } span.section-subtitle { @@ -369,8 +368,9 @@

Sale Partner Address Restrict

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:026c9b3f140a8467f57aa94ea7d898de824516f18656d2d7e750a60246399e3b !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/partner-contact Translate me on Weblate Try me on Runboat

-

This module restricts the addresses to be used in the sales order form, according to the partner selected.

+

Beta License: AGPL-3 OCA/partner-contact Translate me on Weblate Try me on Runboat

+

This module restricts the addresses to be used in the sales order form, +according to the partner selected.

Table of contents

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

@@ -408,13 +408,11 @@

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.

-

This module is part of the OCA/partner-contact project on GitHub.

+

This module is part of the OCA/partner-contact project on GitHub.

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

From 73342b90d0a3d2980133153062a9b1a54473c8ae Mon Sep 17 00:00:00 2001 From: JordiMForgeFlow Date: Tue, 10 Dec 2024 08:41:43 +0100 Subject: [PATCH 7/7] [MIG] sale_partner_address_restrict: migration to V17 --- sale_partner_address_restrict/README.rst | 4 +-- sale_partner_address_restrict/__manifest__.py | 4 +-- .../models/sale_order.py | 19 ------------ .../readme/DESCRIPTION.md | 4 +-- .../static/description/index.html | 4 +-- .../views/sale_order_view.xml | 29 +++++++++++++++++++ 6 files changed, 37 insertions(+), 27 deletions(-) create mode 100644 sale_partner_address_restrict/views/sale_order_view.xml diff --git a/sale_partner_address_restrict/README.rst b/sale_partner_address_restrict/README.rst index 632cb7619f7..b3f461496e5 100644 --- a/sale_partner_address_restrict/README.rst +++ b/sale_partner_address_restrict/README.rst @@ -28,8 +28,8 @@ Sale Partner Address Restrict |badge1| |badge2| |badge3| |badge4| |badge5| -This module restricts the addresses to be used in the sales order form, -according to the partner selected. +This module restricts the addresses to be used in the sales order form +to only addresses of the selected customer. **Table of contents** diff --git a/sale_partner_address_restrict/__manifest__.py b/sale_partner_address_restrict/__manifest__.py index d4c08281214..9250fa2843d 100644 --- a/sale_partner_address_restrict/__manifest__.py +++ b/sale_partner_address_restrict/__manifest__.py @@ -5,7 +5,7 @@ "name": "Sale Partner Address Restrict", "summary": "Restrict addresses domain in the sales order form" " taking into account the partner selected", - "version": "16.0.1.0.0", + "version": "17.0.1.0.0", "category": "Sales", "website": "https://github.com/OCA/partner-contact", "author": "ForgeFlow, Odoo Community Association (OCA)", @@ -14,5 +14,5 @@ "depends": [ "sale", ], - "data": [], + "data": ["views/sale_order_view.xml"], } diff --git a/sale_partner_address_restrict/models/sale_order.py b/sale_partner_address_restrict/models/sale_order.py index ad8494c3a8e..1e77c7de028 100644 --- a/sale_partner_address_restrict/models/sale_order.py +++ b/sale_partner_address_restrict/models/sale_order.py @@ -18,22 +18,3 @@ def _check_partner_addresses(self): " of the selected partner or the selected partner itself." ) ) - - @api.onchange("partner_id") - def _onchange_partner_id_domain(self): - domain = [] - if self.partner_id: - domain = [ - ("commercial_partner_id", "=", self.partner_id.id), - "|", - ("company_id", "=", False), - ("company_id", "=", self.company_id.id), - ] - else: - domain = [ - "|", - ("company_id", "=", False), - ("company_id", "=", self.company_id.id), - ] - - return {"domain": {"partner_invoice_id": domain, "partner_shipping_id": domain}} diff --git a/sale_partner_address_restrict/readme/DESCRIPTION.md b/sale_partner_address_restrict/readme/DESCRIPTION.md index 654be2c653f..9b39e317378 100644 --- a/sale_partner_address_restrict/readme/DESCRIPTION.md +++ b/sale_partner_address_restrict/readme/DESCRIPTION.md @@ -1,2 +1,2 @@ -This module restricts the addresses to be used in the sales order form, -according to the partner selected. +This module restricts the addresses to be used in the sales order form to only +addresses of the selected customer. diff --git a/sale_partner_address_restrict/static/description/index.html b/sale_partner_address_restrict/static/description/index.html index 47c74a5ee68..277a93a6b7a 100644 --- a/sale_partner_address_restrict/static/description/index.html +++ b/sale_partner_address_restrict/static/description/index.html @@ -369,8 +369,8 @@

Sale Partner Address Restrict

!! source digest: sha256:026c9b3f140a8467f57aa94ea7d898de824516f18656d2d7e750a60246399e3b !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/partner-contact Translate me on Weblate Try me on Runboat

-

This module restricts the addresses to be used in the sales order form, -according to the partner selected.

+

This module restricts the addresses to be used in the sales order form +to only addresses of the selected customer.

Table of contents

    diff --git a/sale_partner_address_restrict/views/sale_order_view.xml b/sale_partner_address_restrict/views/sale_order_view.xml new file mode 100644 index 00000000000..999b769db6b --- /dev/null +++ b/sale_partner_address_restrict/views/sale_order_view.xml @@ -0,0 +1,29 @@ + + + + + + sale.order.form (in partner_invoicing_mode) + sale.order + + + + [ + ('commercial_partner_id', '=', partner_id), + '|', + ('company_id', '=', False), + ('company_id', '=', company_id), + ] + + + [ + ('commercial_partner_id', '=', partner_id), + '|', + ('company_id', '=', False), + ('company_id', '=', company_id), + ] + + + +