From 42aa5be5df3cc35f3737ed1120fc30b85c08892c Mon Sep 17 00:00:00 2001 From: JordiMForgeFlow Date: Mon, 8 Jan 2024 09:12:42 +0100 Subject: [PATCH 01/10] [ADD] delivery_carrier_manual_price --- delivery_carrier_manual_price/README.rst | 84 ++++ delivery_carrier_manual_price/__init__.py | 4 + delivery_carrier_manual_price/__manifest__.py | 19 + .../models/__init__.py | 4 + .../models/delivery_carrier.py | 10 + .../models/sale_order.py | 15 + .../readme/CONTRIBUTORS.rst | 2 + .../readme/DESCRIPTION.rst | 2 + .../readme/USAGE.rst | 2 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 428 ++++++++++++++++++ .../tests/__init__.py | 3 + .../test_delivery_carrier_manual_price.py | 72 +++ .../views/delivery_view.xml | 32 ++ .../wizard/__init__.py | 3 + .../wizard/choose_delivery_carrier.py | 10 + .../wizard/choose_delivery_carrier_views.xml | 31 ++ 17 files changed, 721 insertions(+) create mode 100644 delivery_carrier_manual_price/README.rst create mode 100644 delivery_carrier_manual_price/__init__.py create mode 100644 delivery_carrier_manual_price/__manifest__.py create mode 100644 delivery_carrier_manual_price/models/__init__.py create mode 100644 delivery_carrier_manual_price/models/delivery_carrier.py create mode 100644 delivery_carrier_manual_price/models/sale_order.py create mode 100644 delivery_carrier_manual_price/readme/CONTRIBUTORS.rst create mode 100644 delivery_carrier_manual_price/readme/DESCRIPTION.rst create mode 100644 delivery_carrier_manual_price/readme/USAGE.rst create mode 100644 delivery_carrier_manual_price/static/description/icon.png create mode 100644 delivery_carrier_manual_price/static/description/index.html create mode 100644 delivery_carrier_manual_price/tests/__init__.py create mode 100644 delivery_carrier_manual_price/tests/test_delivery_carrier_manual_price.py create mode 100644 delivery_carrier_manual_price/views/delivery_view.xml create mode 100644 delivery_carrier_manual_price/wizard/__init__.py create mode 100644 delivery_carrier_manual_price/wizard/choose_delivery_carrier.py create mode 100644 delivery_carrier_manual_price/wizard/choose_delivery_carrier_views.xml diff --git a/delivery_carrier_manual_price/README.rst b/delivery_carrier_manual_price/README.rst new file mode 100644 index 0000000000..209f7e7783 --- /dev/null +++ b/delivery_carrier_manual_price/README.rst @@ -0,0 +1,84 @@ +============================= +Delivery Carrier Manual Price +============================= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:608ecbf041689e42589bbb1b2ef567ad875bce40970e796ba23594c9169ae942 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Fdelivery--carrier-lightgray.png?logo=github + :target: https://github.com/OCA/delivery-carrier/tree/16.0/delivery_carrier_manual_price + :alt: OCA/delivery-carrier +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/delivery-carrier-16-0/delivery-carrier-16-0-delivery_carrier_manual_price + :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/delivery-carrier&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module adds a flag in Shipping Methods to allow to set their cost manually +in each Sales Order. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +When adding the shipping method in a sales order, the cost will be editable for +methods marked with the flag 'Manual Price'. + +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 +~~~~~~~~~~~~ + +* Jordi Masvidal +* 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/delivery-carrier `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/delivery_carrier_manual_price/__init__.py b/delivery_carrier_manual_price/__init__.py new file mode 100644 index 0000000000..e56f916687 --- /dev/null +++ b/delivery_carrier_manual_price/__init__.py @@ -0,0 +1,4 @@ +# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from . import models +from . import wizard diff --git a/delivery_carrier_manual_price/__manifest__.py b/delivery_carrier_manual_price/__manifest__.py new file mode 100644 index 0000000000..170ff36fc7 --- /dev/null +++ b/delivery_carrier_manual_price/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + + +{ + "name": "Delivery Carrier Manual Price", + "summary": "Allow setting manual shipping cost in sale order.", + "version": "16.0.1.0.0", + "category": "Delivery", + "website": "https://github.com/OCA/delivery-carrier", + "author": "ForgeFlow,Odoo Community Association (OCA)", + "license": "AGPL-3", + "depends": [ + "delivery", + ], + "data": ["wizard/choose_delivery_carrier_views.xml", "views/delivery_view.xml"], + "application": False, + "installable": True, +} diff --git a/delivery_carrier_manual_price/models/__init__.py b/delivery_carrier_manual_price/models/__init__.py new file mode 100644 index 0000000000..205cd401eb --- /dev/null +++ b/delivery_carrier_manual_price/models/__init__.py @@ -0,0 +1,4 @@ +# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from . import delivery_carrier +from . import sale_order diff --git a/delivery_carrier_manual_price/models/delivery_carrier.py b/delivery_carrier_manual_price/models/delivery_carrier.py new file mode 100644 index 0000000000..062715c0ef --- /dev/null +++ b/delivery_carrier_manual_price/models/delivery_carrier.py @@ -0,0 +1,10 @@ +# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class DeliveryCarrier(models.Model): + _inherit = "delivery.carrier" + + is_manual_price = fields.Boolean(string="Manual Price") diff --git a/delivery_carrier_manual_price/models/sale_order.py b/delivery_carrier_manual_price/models/sale_order.py new file mode 100644 index 0000000000..979da79459 --- /dev/null +++ b/delivery_carrier_manual_price/models/sale_order.py @@ -0,0 +1,15 @@ +# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, models + + +class SaleOrder(models.Model): + _inherit = "sale.order" + + @api.onchange("order_line", "partner_id", "partner_shipping_id") + def onchange_order_line(self): + res = super().onchange_order_line() + if self.carrier_id and self.carrier_id.is_manual_price: + self.recompute_delivery_price = False + return res diff --git a/delivery_carrier_manual_price/readme/CONTRIBUTORS.rst b/delivery_carrier_manual_price/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000000..d712c6d272 --- /dev/null +++ b/delivery_carrier_manual_price/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Jordi Masvidal +* Marina Alapont diff --git a/delivery_carrier_manual_price/readme/DESCRIPTION.rst b/delivery_carrier_manual_price/readme/DESCRIPTION.rst new file mode 100644 index 0000000000..8753c9dec8 --- /dev/null +++ b/delivery_carrier_manual_price/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This module adds a flag in Shipping Methods to allow to set their cost manually +in each Sales Order. diff --git a/delivery_carrier_manual_price/readme/USAGE.rst b/delivery_carrier_manual_price/readme/USAGE.rst new file mode 100644 index 0000000000..b4d7bd450c --- /dev/null +++ b/delivery_carrier_manual_price/readme/USAGE.rst @@ -0,0 +1,2 @@ +When adding the shipping method in a sales order, the cost will be editable for +methods marked with the flag 'Manual Price'. diff --git a/delivery_carrier_manual_price/static/description/icon.png b/delivery_carrier_manual_price/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/delivery_carrier_manual_price/static/description/index.html b/delivery_carrier_manual_price/static/description/index.html new file mode 100644 index 0000000000..a1aee7ce84 --- /dev/null +++ b/delivery_carrier_manual_price/static/description/index.html @@ -0,0 +1,428 @@ + + + + + +Delivery Carrier Manual Price + + + +
+

Delivery Carrier Manual Price

+ + +

Beta License: AGPL-3 OCA/delivery-carrier Translate me on Weblate Try me on Runboat

+

This module adds a flag in Shipping Methods to allow to set their cost manually +in each Sales Order.

+

Table of contents

+ +
+

Usage

+

When adding the shipping method in a sales order, the cost will be editable for +methods marked with the flag ‘Manual Price’.

+
+
+

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/delivery-carrier project on GitHub.

+

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

+
+
+
+ + diff --git a/delivery_carrier_manual_price/tests/__init__.py b/delivery_carrier_manual_price/tests/__init__.py new file mode 100644 index 0000000000..c08fa17a38 --- /dev/null +++ b/delivery_carrier_manual_price/tests/__init__.py @@ -0,0 +1,3 @@ +# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) +from . import test_delivery_carrier_manual_price diff --git a/delivery_carrier_manual_price/tests/test_delivery_carrier_manual_price.py b/delivery_carrier_manual_price/tests/test_delivery_carrier_manual_price.py new file mode 100644 index 0000000000..14d1e0c423 --- /dev/null +++ b/delivery_carrier_manual_price/tests/test_delivery_carrier_manual_price.py @@ -0,0 +1,72 @@ +# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) +from odoo.tests import Form +from odoo.tests.common import TransactionCase + + +class TestDeliveryCarrierManualPrice(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + product_shipping_cost = cls.env["product.product"].create( + { + "type": "service", + "name": "Shipping costs", + "standard_price": 10, + "list_price": 100, + } + ) + cls.carrier = cls.env["delivery.carrier"].create( + { + "name": "Test carrier", + "delivery_type": "fixed", + "product_id": product_shipping_cost.id, + "fixed_price": 50, + "is_manual_price": True, + } + ) + cls.product = cls.env["product.product"].create( + {"name": "Test product", "type": "product"} + ) + cls.partner = cls.env["res.partner"].create({"name": "Test Partner"}) + cls.sale = cls.env["sale.order"].create( + { + "partner_id": cls.partner.id, + "order_line": [ + ( + 0, + 0, + { + "product_id": cls.product.id, + "product_uom_qty": 1, + "price_unit": 10, + }, + ) + ], + } + ) + + def test_delivery_carrier_manual_price(self): + delivery_wizard = Form( + self.env["choose.delivery.carrier"].with_context( + **{"default_order_id": self.sale.id, "default_carrier_id": self.carrier} + ) + ) + choose_delivery_carrier = delivery_wizard.save() + self.assertEqual(choose_delivery_carrier.delivery_price, 50) + with Form( + choose_delivery_carrier, + view="delivery_carrier_manual_price.choose_delivery_carrier_view_form", + ) as form: + form.delivery_price = 70 + choose_delivery_carrier.button_confirm() + delivery_lines = self.sale.order_line.filtered(lambda line: line.is_delivery) + delivery_price = sum(delivery_lines.mapped("price_unit")) + self.assertEqual(delivery_price, 70) + self.assertEqual(len(delivery_lines), 1) + # Modify sale line and check recompute_delivery_price + line = self.sale.order_line.filtered( + lambda line: line.product_id == self.product + ) + line.price_unit = 20 + self.assertFalse(self.sale.recompute_delivery_price) diff --git a/delivery_carrier_manual_price/views/delivery_view.xml b/delivery_carrier_manual_price/views/delivery_view.xml new file mode 100644 index 0000000000..4a8189b0f6 --- /dev/null +++ b/delivery_carrier_manual_price/views/delivery_view.xml @@ -0,0 +1,32 @@ + + + + delivery.carrier.form - delivery_carrier_manual_price + delivery.carrier + + + + + + + + + sale.order.form - delivery_carrier_manual_price + sale.order + + + + 1 + + + 1 + + + + diff --git a/delivery_carrier_manual_price/wizard/__init__.py b/delivery_carrier_manual_price/wizard/__init__.py new file mode 100644 index 0000000000..19469a826b --- /dev/null +++ b/delivery_carrier_manual_price/wizard/__init__.py @@ -0,0 +1,3 @@ +# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from . import choose_delivery_carrier diff --git a/delivery_carrier_manual_price/wizard/choose_delivery_carrier.py b/delivery_carrier_manual_price/wizard/choose_delivery_carrier.py new file mode 100644 index 0000000000..83a05ec563 --- /dev/null +++ b/delivery_carrier_manual_price/wizard/choose_delivery_carrier.py @@ -0,0 +1,10 @@ +# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class ChooseDeliveryCarrier(models.TransientModel): + _inherit = "choose.delivery.carrier" + + is_manual_price = fields.Boolean(related="carrier_id.is_manual_price") diff --git a/delivery_carrier_manual_price/wizard/choose_delivery_carrier_views.xml b/delivery_carrier_manual_price/wizard/choose_delivery_carrier_views.xml new file mode 100644 index 0000000000..431b615e94 --- /dev/null +++ b/delivery_carrier_manual_price/wizard/choose_delivery_carrier_views.xml @@ -0,0 +1,31 @@ + + + + choose.delivery.carrier.form - delivery_carrier_manual_price + choose.delivery.carrier + + + + + + + 0 + {'invisible': [('is_manual_price','=', False)]} + monetary + {'currency_field': 'currency_id'} + + + {'invisible': ['|', ('carrier_id','=', False), ('is_manual_price','=', True)]} + + + + + + + From 70a709a1c00c34a17adb908b703d650545195f2c Mon Sep 17 00:00:00 2001 From: oca-ci Date: Wed, 11 Dec 2024 08:47:44 +0000 Subject: [PATCH 02/10] [UPD] Update delivery_carrier_manual_price.pot --- .../i18n/delivery_carrier_manual_price.pot | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 delivery_carrier_manual_price/i18n/delivery_carrier_manual_price.pot diff --git a/delivery_carrier_manual_price/i18n/delivery_carrier_manual_price.pot b/delivery_carrier_manual_price/i18n/delivery_carrier_manual_price.pot new file mode 100644 index 0000000000..c6b279cea4 --- /dev/null +++ b/delivery_carrier_manual_price/i18n/delivery_carrier_manual_price.pot @@ -0,0 +1,35 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * delivery_carrier_manual_price +# +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: delivery_carrier_manual_price +#: model:ir.model,name:delivery_carrier_manual_price.model_choose_delivery_carrier +msgid "Delivery Carrier Selection Wizard" +msgstr "" + +#. module: delivery_carrier_manual_price +#: model:ir.model.fields,field_description:delivery_carrier_manual_price.field_choose_delivery_carrier__is_manual_price +#: model:ir.model.fields,field_description:delivery_carrier_manual_price.field_delivery_carrier__is_manual_price +msgid "Manual Price" +msgstr "" + +#. module: delivery_carrier_manual_price +#: model:ir.model,name:delivery_carrier_manual_price.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: delivery_carrier_manual_price +#: model:ir.model,name:delivery_carrier_manual_price.model_delivery_carrier +msgid "Shipping Methods" +msgstr "" From 36a131929b1f0114c1f42168a55b65fbbb8b2d4d Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 11 Dec 2024 08:51:48 +0000 Subject: [PATCH 03/10] [BOT] post-merge updates --- delivery_carrier_manual_price/README.rst | 2 +- .../static/description/index.html | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/delivery_carrier_manual_price/README.rst b/delivery_carrier_manual_price/README.rst index 209f7e7783..cebb1bcea9 100644 --- a/delivery_carrier_manual_price/README.rst +++ b/delivery_carrier_manual_price/README.rst @@ -7,7 +7,7 @@ Delivery Carrier Manual Price !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:608ecbf041689e42589bbb1b2ef567ad875bce40970e796ba23594c9169ae942 + !! source digest: sha256:5b488314bd3e6c4c8e0a336fff25c0c66b4f38f04681faa1e69d0633a2d52304 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/delivery_carrier_manual_price/static/description/index.html b/delivery_carrier_manual_price/static/description/index.html index a1aee7ce84..76eeca5ec6 100644 --- a/delivery_carrier_manual_price/static/description/index.html +++ b/delivery_carrier_manual_price/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 { @@ -366,7 +367,7 @@

Delivery Carrier Manual Price

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:608ecbf041689e42589bbb1b2ef567ad875bce40970e796ba23594c9169ae942 +!! source digest: sha256:5b488314bd3e6c4c8e0a336fff25c0c66b4f38f04681faa1e69d0633a2d52304 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/delivery-carrier Translate me on Weblate Try me on Runboat

This module adds a flag in Shipping Methods to allow to set their cost manually @@ -415,7 +416,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 3e0882960eaec5a6c055173d3783b91f4038d7f9 Mon Sep 17 00:00:00 2001 From: Lois Rilo Date: Wed, 11 Dec 2024 17:23:58 +0100 Subject: [PATCH 04/10] [IMP] delivery_carrier_manual_price: pre-commit auto fixes --- delivery_carrier_manual_price/README.rst | 28 +++++++++---------- delivery_carrier_manual_price/pyproject.toml | 3 ++ .../readme/CONTRIBUTORS.md | 2 ++ .../readme/CONTRIBUTORS.rst | 2 -- .../{DESCRIPTION.rst => DESCRIPTION.md} | 4 +-- .../readme/{USAGE.rst => USAGE.md} | 4 +-- .../static/description/index.html | 25 ++++++++--------- 7 files changed, 34 insertions(+), 34 deletions(-) create mode 100644 delivery_carrier_manual_price/pyproject.toml create mode 100644 delivery_carrier_manual_price/readme/CONTRIBUTORS.md delete mode 100644 delivery_carrier_manual_price/readme/CONTRIBUTORS.rst rename delivery_carrier_manual_price/readme/{DESCRIPTION.rst => DESCRIPTION.md} (63%) rename delivery_carrier_manual_price/readme/{USAGE.rst => USAGE.md} (51%) diff --git a/delivery_carrier_manual_price/README.rst b/delivery_carrier_manual_price/README.rst index cebb1bcea9..5a0d02ab51 100644 --- a/delivery_carrier_manual_price/README.rst +++ b/delivery_carrier_manual_price/README.rst @@ -17,19 +17,19 @@ Delivery Carrier Manual Price :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github - :target: https://github.com/OCA/delivery-carrier/tree/16.0/delivery_carrier_manual_price + :target: https://github.com/OCA/delivery-carrier/tree/17.0/delivery_carrier_manual_price :alt: OCA/delivery-carrier .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/delivery-carrier-16-0/delivery-carrier-16-0-delivery_carrier_manual_price + :target: https://translation.odoo-community.org/projects/delivery-carrier-17-0/delivery-carrier-17-0-delivery_carrier_manual_price :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/delivery-carrier&target_branch=16.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/delivery-carrier&target_branch=17.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| -This module adds a flag in Shipping Methods to allow to set their cost manually -in each Sales Order. +This module adds a flag in Shipping Methods to allow to set their cost +manually in each Sales Order. **Table of contents** @@ -39,8 +39,8 @@ in each Sales Order. Usage ===== -When adding the shipping method in a sales order, the cost will be editable for -methods marked with the flag 'Manual Price'. +When adding the shipping method in a sales order, the cost will be +editable for methods marked with the flag 'Manual Price'. Bug Tracker =========== @@ -48,7 +48,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. @@ -56,18 +56,18 @@ Credits ======= Authors -~~~~~~~ +------- * ForgeFlow Contributors -~~~~~~~~~~~~ +------------ -* Jordi Masvidal -* Marina Alapont +- Jordi Masvidal +- Marina Alapont Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -79,6 +79,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/delivery-carrier `_ project on GitHub. +This module is part of the `OCA/delivery-carrier `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/delivery_carrier_manual_price/pyproject.toml b/delivery_carrier_manual_price/pyproject.toml new file mode 100644 index 0000000000..4231d0cccb --- /dev/null +++ b/delivery_carrier_manual_price/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/delivery_carrier_manual_price/readme/CONTRIBUTORS.md b/delivery_carrier_manual_price/readme/CONTRIBUTORS.md new file mode 100644 index 0000000000..a6de49b1fa --- /dev/null +++ b/delivery_carrier_manual_price/readme/CONTRIBUTORS.md @@ -0,0 +1,2 @@ +- Jordi Masvidal \<\> +- Marina Alapont \<\> diff --git a/delivery_carrier_manual_price/readme/CONTRIBUTORS.rst b/delivery_carrier_manual_price/readme/CONTRIBUTORS.rst deleted file mode 100644 index d712c6d272..0000000000 --- a/delivery_carrier_manual_price/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,2 +0,0 @@ -* Jordi Masvidal -* Marina Alapont diff --git a/delivery_carrier_manual_price/readme/DESCRIPTION.rst b/delivery_carrier_manual_price/readme/DESCRIPTION.md similarity index 63% rename from delivery_carrier_manual_price/readme/DESCRIPTION.rst rename to delivery_carrier_manual_price/readme/DESCRIPTION.md index 8753c9dec8..2e994b8f94 100644 --- a/delivery_carrier_manual_price/readme/DESCRIPTION.rst +++ b/delivery_carrier_manual_price/readme/DESCRIPTION.md @@ -1,2 +1,2 @@ -This module adds a flag in Shipping Methods to allow to set their cost manually -in each Sales Order. +This module adds a flag in Shipping Methods to allow to set their cost +manually in each Sales Order. diff --git a/delivery_carrier_manual_price/readme/USAGE.rst b/delivery_carrier_manual_price/readme/USAGE.md similarity index 51% rename from delivery_carrier_manual_price/readme/USAGE.rst rename to delivery_carrier_manual_price/readme/USAGE.md index b4d7bd450c..e25f7b5409 100644 --- a/delivery_carrier_manual_price/readme/USAGE.rst +++ b/delivery_carrier_manual_price/readme/USAGE.md @@ -1,2 +1,2 @@ -When adding the shipping method in a sales order, the cost will be editable for -methods marked with the flag 'Manual Price'. +When adding the shipping method in a sales order, the cost will be +editable for methods marked with the flag 'Manual Price'. diff --git a/delivery_carrier_manual_price/static/description/index.html b/delivery_carrier_manual_price/static/description/index.html index 76eeca5ec6..e007e5535b 100644 --- a/delivery_carrier_manual_price/static/description/index.html +++ b/delivery_carrier_manual_price/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,9 +368,9 @@

Delivery Carrier Manual Price

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:5b488314bd3e6c4c8e0a336fff25c0c66b4f38f04681faa1e69d0633a2d52304 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/delivery-carrier Translate me on Weblate Try me on Runboat

-

This module adds a flag in Shipping Methods to allow to set their cost manually -in each Sales Order.

+

Beta License: AGPL-3 OCA/delivery-carrier Translate me on Weblate Try me on Runboat

+

This module adds a flag in Shipping Methods to allow to set their cost +manually in each Sales Order.

Table of contents

    @@ -387,15 +386,15 @@

    Delivery Carrier Manual Price

Usage

-

When adding the shipping method in a sales order, the cost will be editable for -methods marked with the flag ‘Manual Price’.

+

When adding the shipping method in a sales order, the cost will be +editable for methods marked with the flag ‘Manual Price’.

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.

@@ -416,13 +415,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/delivery-carrier project on GitHub.

+

This module is part of the OCA/delivery-carrier project on GitHub.

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

From 87d9ce4a6384b098f36c1bae6a99e7425b9b6f1d Mon Sep 17 00:00:00 2001 From: Lois Rilo Date: Wed, 11 Dec 2024 17:31:52 +0100 Subject: [PATCH 05/10] [MIG] delivery_carrier_manual_price: Migration to 17.0 --- delivery_carrier_manual_price/README.rst | 1 + delivery_carrier_manual_price/__manifest__.py | 3 +-- delivery_carrier_manual_price/readme/CONTRIBUTORS.md | 1 + .../static/description/index.html | 1 + .../tests/test_delivery_carrier_manual_price.py | 2 +- .../wizard/choose_delivery_carrier_views.xml | 9 +++------ 6 files changed, 8 insertions(+), 9 deletions(-) diff --git a/delivery_carrier_manual_price/README.rst b/delivery_carrier_manual_price/README.rst index 5a0d02ab51..ff0209b1b6 100644 --- a/delivery_carrier_manual_price/README.rst +++ b/delivery_carrier_manual_price/README.rst @@ -65,6 +65,7 @@ Contributors - Jordi Masvidal - Marina Alapont +- Lois Rilo Maintainers ----------- diff --git a/delivery_carrier_manual_price/__manifest__.py b/delivery_carrier_manual_price/__manifest__.py index 170ff36fc7..15430562ec 100644 --- a/delivery_carrier_manual_price/__manifest__.py +++ b/delivery_carrier_manual_price/__manifest__.py @@ -1,11 +1,10 @@ # Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). - { "name": "Delivery Carrier Manual Price", "summary": "Allow setting manual shipping cost in sale order.", - "version": "16.0.1.0.0", + "version": "17.0.1.0.0", "category": "Delivery", "website": "https://github.com/OCA/delivery-carrier", "author": "ForgeFlow,Odoo Community Association (OCA)", diff --git a/delivery_carrier_manual_price/readme/CONTRIBUTORS.md b/delivery_carrier_manual_price/readme/CONTRIBUTORS.md index a6de49b1fa..26127d3d1d 100644 --- a/delivery_carrier_manual_price/readme/CONTRIBUTORS.md +++ b/delivery_carrier_manual_price/readme/CONTRIBUTORS.md @@ -1,2 +1,3 @@ - Jordi Masvidal \<\> - Marina Alapont \<\> +- Lois Rilo \<\> diff --git a/delivery_carrier_manual_price/static/description/index.html b/delivery_carrier_manual_price/static/description/index.html index e007e5535b..73cd86eb0f 100644 --- a/delivery_carrier_manual_price/static/description/index.html +++ b/delivery_carrier_manual_price/static/description/index.html @@ -410,6 +410,7 @@

Contributors

diff --git a/delivery_carrier_manual_price/tests/test_delivery_carrier_manual_price.py b/delivery_carrier_manual_price/tests/test_delivery_carrier_manual_price.py index 14d1e0c423..0d39a0ed59 100644 --- a/delivery_carrier_manual_price/tests/test_delivery_carrier_manual_price.py +++ b/delivery_carrier_manual_price/tests/test_delivery_carrier_manual_price.py @@ -26,7 +26,7 @@ def setUpClass(cls): } ) cls.product = cls.env["product.product"].create( - {"name": "Test product", "type": "product"} + {"name": "Test product", "type": "consu"} ) cls.partner = cls.env["res.partner"].create({"name": "Test Partner"}) cls.sale = cls.env["sale.order"].create( diff --git a/delivery_carrier_manual_price/wizard/choose_delivery_carrier_views.xml b/delivery_carrier_manual_price/wizard/choose_delivery_carrier_views.xml index 431b615e94..1702c78704 100644 --- a/delivery_carrier_manual_price/wizard/choose_delivery_carrier_views.xml +++ b/delivery_carrier_manual_price/wizard/choose_delivery_carrier_views.xml @@ -11,17 +11,14 @@ - 0 - {'invisible': [('is_manual_price','=', False)]} + not is_manual_price monetary {'currency_field': 'currency_id'} {'invisible': ['|', ('carrier_id','=', False), ('is_manual_price','=', True)]} + name="invisible" + >not carrier_id or is_manual_price From 7f01eb7b19e9341ca63ea65e683fd334cfc63759 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Thu, 12 Dec 2024 09:04:31 +0000 Subject: [PATCH 06/10] [UPD] Update delivery_carrier_manual_price.pot --- .../i18n/delivery_carrier_manual_price.pot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/delivery_carrier_manual_price/i18n/delivery_carrier_manual_price.pot b/delivery_carrier_manual_price/i18n/delivery_carrier_manual_price.pot index c6b279cea4..82a185b5cc 100644 --- a/delivery_carrier_manual_price/i18n/delivery_carrier_manual_price.pot +++ b/delivery_carrier_manual_price/i18n/delivery_carrier_manual_price.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 423e66d32bcbf1916cac3a05630016ec9c2b352f Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 12 Dec 2024 09:07:39 +0000 Subject: [PATCH 07/10] [BOT] post-merge updates --- delivery_carrier_manual_price/README.rst | 8 ++++---- .../static/description/index.html | 13 ++++++++----- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/delivery_carrier_manual_price/README.rst b/delivery_carrier_manual_price/README.rst index ff0209b1b6..2cf7582318 100644 --- a/delivery_carrier_manual_price/README.rst +++ b/delivery_carrier_manual_price/README.rst @@ -7,7 +7,7 @@ Delivery Carrier Manual Price !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:5b488314bd3e6c4c8e0a336fff25c0c66b4f38f04681faa1e69d0633a2d52304 + !! source digest: sha256:61ad0be3d2c189e03d771ac751b56b57ea7e5fd4af6757e94c70f78aa53f7c19 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -63,9 +63,9 @@ Authors Contributors ------------ -- Jordi Masvidal -- Marina Alapont -- Lois Rilo +- Jordi Masvidal +- Marina Alapont +- Lois Rilo Maintainers ----------- diff --git a/delivery_carrier_manual_price/static/description/index.html b/delivery_carrier_manual_price/static/description/index.html index 73cd86eb0f..fc84f7a2db 100644 --- a/delivery_carrier_manual_price/static/description/index.html +++ b/delivery_carrier_manual_price/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 { @@ -366,7 +367,7 @@

Delivery Carrier Manual Price

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:5b488314bd3e6c4c8e0a336fff25c0c66b4f38f04681faa1e69d0633a2d52304 +!! source digest: sha256:61ad0be3d2c189e03d771ac751b56b57ea7e5fd4af6757e94c70f78aa53f7c19 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/delivery-carrier Translate me on Weblate Try me on Runboat

This module adds a flag in Shipping Methods to allow to set their cost @@ -416,7 +417,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 e1fbd56c3d5a75a210eebbb7902a7c54eba2ffea Mon Sep 17 00:00:00 2001 From: mymage Date: Sat, 14 Dec 2024 09:02:05 +0000 Subject: [PATCH 08/10] Added translation using Weblate (Italian) --- delivery_carrier_manual_price/i18n/it.po | 36 ++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 delivery_carrier_manual_price/i18n/it.po diff --git a/delivery_carrier_manual_price/i18n/it.po b/delivery_carrier_manual_price/i18n/it.po new file mode 100644 index 0000000000..b3636b4e28 --- /dev/null +++ b/delivery_carrier_manual_price/i18n/it.po @@ -0,0 +1,36 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * delivery_carrier_manual_price +# +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: delivery_carrier_manual_price +#: model:ir.model,name:delivery_carrier_manual_price.model_choose_delivery_carrier +msgid "Delivery Carrier Selection Wizard" +msgstr "" + +#. module: delivery_carrier_manual_price +#: model:ir.model.fields,field_description:delivery_carrier_manual_price.field_choose_delivery_carrier__is_manual_price +#: model:ir.model.fields,field_description:delivery_carrier_manual_price.field_delivery_carrier__is_manual_price +msgid "Manual Price" +msgstr "" + +#. module: delivery_carrier_manual_price +#: model:ir.model,name:delivery_carrier_manual_price.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: delivery_carrier_manual_price +#: model:ir.model,name:delivery_carrier_manual_price.model_delivery_carrier +msgid "Shipping Methods" +msgstr "" From 2bd898771b8bbb684b603be1eec55a048a0da315 Mon Sep 17 00:00:00 2001 From: mymage Date: Sat, 14 Dec 2024 09:05:27 +0000 Subject: [PATCH 09/10] Translated using Weblate (Italian) Currently translated at 100.0% (4 of 4 strings) Translation: delivery-carrier-17.0/delivery-carrier-17.0-delivery_carrier_manual_price Translate-URL: https://translation.odoo-community.org/projects/delivery-carrier-17-0/delivery-carrier-17-0-delivery_carrier_manual_price/it/ --- delivery_carrier_manual_price/i18n/it.po | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/delivery_carrier_manual_price/i18n/it.po b/delivery_carrier_manual_price/i18n/it.po index b3636b4e28..b206f46c1f 100644 --- a/delivery_carrier_manual_price/i18n/it.po +++ b/delivery_carrier_manual_price/i18n/it.po @@ -6,31 +6,33 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 17.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2024-12-14 11: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: delivery_carrier_manual_price #: model:ir.model,name:delivery_carrier_manual_price.model_choose_delivery_carrier msgid "Delivery Carrier Selection Wizard" -msgstr "" +msgstr "Procedura guidata selezione corriere" #. module: delivery_carrier_manual_price #: model:ir.model.fields,field_description:delivery_carrier_manual_price.field_choose_delivery_carrier__is_manual_price #: model:ir.model.fields,field_description:delivery_carrier_manual_price.field_delivery_carrier__is_manual_price msgid "Manual Price" -msgstr "" +msgstr "Prezzo manuale" #. module: delivery_carrier_manual_price #: model:ir.model,name:delivery_carrier_manual_price.model_sale_order msgid "Sales Order" -msgstr "" +msgstr "Ordine di vendita" #. module: delivery_carrier_manual_price #: model:ir.model,name:delivery_carrier_manual_price.model_delivery_carrier msgid "Shipping Methods" -msgstr "" +msgstr "Metodi di spedizione" From 213fcb7e51ded935245c5fee6cbc9bb0ddd97193 Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Thu, 6 Feb 2025 17:49:28 +0530 Subject: [PATCH 10/10] [MIG] delivery_carrier_manual_price: Migration to 18.0 --- delivery_carrier_manual_price/README.rst | 13 ++++++++----- delivery_carrier_manual_price/__manifest__.py | 2 +- .../readme/CONTRIBUTORS.md | 2 ++ .../static/description/index.html | 10 +++++++--- .../tests/test_delivery_carrier_manual_price.py | 7 +++---- 5 files changed, 21 insertions(+), 13 deletions(-) diff --git a/delivery_carrier_manual_price/README.rst b/delivery_carrier_manual_price/README.rst index 2cf7582318..8d65b7c6e7 100644 --- a/delivery_carrier_manual_price/README.rst +++ b/delivery_carrier_manual_price/README.rst @@ -17,13 +17,13 @@ Delivery Carrier Manual Price :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdelivery--carrier-lightgray.png?logo=github - :target: https://github.com/OCA/delivery-carrier/tree/17.0/delivery_carrier_manual_price + :target: https://github.com/OCA/delivery-carrier/tree/18.0/delivery_carrier_manual_price :alt: OCA/delivery-carrier .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/delivery-carrier-17-0/delivery-carrier-17-0-delivery_carrier_manual_price + :target: https://translation.odoo-community.org/projects/delivery-carrier-18-0/delivery-carrier-18-0-delivery_carrier_manual_price :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/delivery-carrier&target_branch=17.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/delivery-carrier&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -48,7 +48,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. @@ -66,6 +66,9 @@ Contributors - Jordi Masvidal - Marina Alapont - Lois Rilo +- `Heliconia Solutions Pvt. Ltd. `__ + + - Bhavesh Heliconia Maintainers ----------- @@ -80,6 +83,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/delivery-carrier `_ project on GitHub. +This module is part of the `OCA/delivery-carrier `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/delivery_carrier_manual_price/__manifest__.py b/delivery_carrier_manual_price/__manifest__.py index 15430562ec..969664dfb0 100644 --- a/delivery_carrier_manual_price/__manifest__.py +++ b/delivery_carrier_manual_price/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Delivery Carrier Manual Price", "summary": "Allow setting manual shipping cost in sale order.", - "version": "17.0.1.0.0", + "version": "18.0.1.0.0", "category": "Delivery", "website": "https://github.com/OCA/delivery-carrier", "author": "ForgeFlow,Odoo Community Association (OCA)", diff --git a/delivery_carrier_manual_price/readme/CONTRIBUTORS.md b/delivery_carrier_manual_price/readme/CONTRIBUTORS.md index 26127d3d1d..39e8862b78 100644 --- a/delivery_carrier_manual_price/readme/CONTRIBUTORS.md +++ b/delivery_carrier_manual_price/readme/CONTRIBUTORS.md @@ -1,3 +1,5 @@ - Jordi Masvidal \<\> - Marina Alapont \<\> - Lois Rilo \<\> +- [Heliconia Solutions Pvt. Ltd.](https://www.heliconia.io) + - Bhavesh Heliconia diff --git a/delivery_carrier_manual_price/static/description/index.html b/delivery_carrier_manual_price/static/description/index.html index fc84f7a2db..e078a93ae3 100644 --- a/delivery_carrier_manual_price/static/description/index.html +++ b/delivery_carrier_manual_price/static/description/index.html @@ -369,7 +369,7 @@

Delivery Carrier Manual Price

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:61ad0be3d2c189e03d771ac751b56b57ea7e5fd4af6757e94c70f78aa53f7c19 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/delivery-carrier Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/delivery-carrier Translate me on Weblate Try me on Runboat

This module adds a flag in Shipping Methods to allow to set their cost manually in each Sales Order.

Table of contents

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

@@ -412,6 +412,10 @@

Contributors

  • Jordi Masvidal <jordi.masvidal@forgeflow.com>
  • Marina Alapont <marina.alapont@forgeflow.com>
  • Lois Rilo <lois.rilo@forgeflow.com>
  • +
  • Heliconia Solutions Pvt. Ltd.
      +
    • Bhavesh Heliconia
    • +
    +
  • @@ -423,7 +427,7 @@

    Maintainers

    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/delivery-carrier project on GitHub.

    +

    This module is part of the OCA/delivery-carrier project on GitHub.

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

    diff --git a/delivery_carrier_manual_price/tests/test_delivery_carrier_manual_price.py b/delivery_carrier_manual_price/tests/test_delivery_carrier_manual_price.py index 0d39a0ed59..3faf4630a5 100644 --- a/delivery_carrier_manual_price/tests/test_delivery_carrier_manual_price.py +++ b/delivery_carrier_manual_price/tests/test_delivery_carrier_manual_price.py @@ -1,5 +1,6 @@ # Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) +from odoo import Command from odoo.tests import Form from odoo.tests.common import TransactionCase @@ -33,14 +34,12 @@ def setUpClass(cls): { "partner_id": cls.partner.id, "order_line": [ - ( - 0, - 0, + Command.create( { "product_id": cls.product.id, "product_uom_qty": 1, "price_unit": 10, - }, + } ) ], }