From 33090effe73a00baf8cba039dad4098bfd722868 Mon Sep 17 00:00:00 2001 From: Roberto Lizana Date: Tue, 30 Jun 2020 19:52:47 +0200 Subject: [PATCH 01/15] [ADD] delivery_price_method --- delivery_price_method/__init__.py | 3 + delivery_price_method/__manifest__.py | 19 +++++ delivery_price_method/models/__init__.py | 3 + .../models/delivery_carrier.py | 32 ++++++++ delivery_price_method/readme/CONTRIBUTORS.rst | 2 + delivery_price_method/readme/DESCRIPTION.rst | 4 + delivery_price_method/readme/USAGE.rst | 3 + delivery_price_method/tests/__init__.py | 3 + .../tests/test_delivery_price_method.py | 80 +++++++++++++++++++ .../views/delivery_carrier_views.xml | 28 +++++++ 10 files changed, 177 insertions(+) create mode 100644 delivery_price_method/__init__.py create mode 100644 delivery_price_method/__manifest__.py create mode 100644 delivery_price_method/models/__init__.py create mode 100644 delivery_price_method/models/delivery_carrier.py create mode 100644 delivery_price_method/readme/CONTRIBUTORS.rst create mode 100644 delivery_price_method/readme/DESCRIPTION.rst create mode 100644 delivery_price_method/readme/USAGE.rst create mode 100644 delivery_price_method/tests/__init__.py create mode 100644 delivery_price_method/tests/test_delivery_price_method.py create mode 100644 delivery_price_method/views/delivery_carrier_views.xml diff --git a/delivery_price_method/__init__.py b/delivery_price_method/__init__.py new file mode 100644 index 0000000000..7772e8bfd7 --- /dev/null +++ b/delivery_price_method/__init__.py @@ -0,0 +1,3 @@ +# Copyright 2020 Trey, Kilobytes de Soluciones +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from . import models diff --git a/delivery_price_method/__manifest__.py b/delivery_price_method/__manifest__.py new file mode 100644 index 0000000000..0f895bb866 --- /dev/null +++ b/delivery_price_method/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2020 Trey, Kilobytes de Soluciones +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +{ + 'name': 'Delivery Price Method', + 'summary': 'Provides fields to be able to contemplate the tracking states' + 'and also adds a global fields', + 'author': 'Trey (www.trey.es), ' + 'Odoo Community Association (OCA)', + 'website': 'https://github.com/OCA/delivery-carrier', + 'license': 'AGPL-3', + 'category': 'Delivery', + 'version': '12.0.1.0.0', + 'depends': [ + 'delivery', + ], + 'data': [ + 'views/delivery_carrier_views.xml', + ], +} diff --git a/delivery_price_method/models/__init__.py b/delivery_price_method/models/__init__.py new file mode 100644 index 0000000000..c81a98c8ef --- /dev/null +++ b/delivery_price_method/models/__init__.py @@ -0,0 +1,3 @@ +# Copyright 2020 Trey, Kilobytes de Soluciones +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from . import delivery_carrier diff --git a/delivery_price_method/models/delivery_carrier.py b/delivery_price_method/models/delivery_carrier.py new file mode 100644 index 0000000000..b38ce18b9d --- /dev/null +++ b/delivery_price_method/models/delivery_carrier.py @@ -0,0 +1,32 @@ +# Copyright 2020 Trey, Kilobytes de Soluciones +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from odoo import fields, models + + +class DeliveryCarrier(models.Model): + _inherit = 'delivery.carrier' + + # You must add next method to your carrier model if want use this price + # method + # + # def [CARRIER]_rate_shipment(self, order): + # return self.price_method_rate_shipment(order) + + price_method = fields.Selection( + selection=[ + ('fixed', 'Fixed price'), + ('base_on_rule', 'Based on Rules'), + ], + string='Price method', + default='fixed', + ) + + def price_method_rate_shipment(self, order): + return getattr(self, '%s_rate_shipment' % self.price_method)(order) + + def send_shipping(self, pickings): + res = super().send_shipping(pickings) + rates = getattr(self, '%s_send_shipping' % self.price_method)(pickings) + for index, rate in enumerate(rates): + res[index]['exact_price'] = rate['exact_price'] + return res diff --git a/delivery_price_method/readme/CONTRIBUTORS.rst b/delivery_price_method/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000000..f6abf4e4d4 --- /dev/null +++ b/delivery_price_method/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* `Trey `_: + * Roberto Lizana diff --git a/delivery_price_method/readme/DESCRIPTION.rst b/delivery_price_method/readme/DESCRIPTION.rst new file mode 100644 index 0000000000..046b7a842d --- /dev/null +++ b/delivery_price_method/readme/DESCRIPTION.rst @@ -0,0 +1,4 @@ +Tis module adds additional functions that will be necessary for the operator +developments. + +It provides a system to rate the shipping price based on a fixed price or based on rules. diff --git a/delivery_price_method/readme/USAGE.rst b/delivery_price_method/readme/USAGE.rst new file mode 100644 index 0000000000..74db2543c8 --- /dev/null +++ b/delivery_price_method/readme/USAGE.rst @@ -0,0 +1,3 @@ +Only available in carriers that have been developed using this module, please consult yours carriers addons. + +The carrier form will have a new field * Price method * to use fixed or rule based method. diff --git a/delivery_price_method/tests/__init__.py b/delivery_price_method/tests/__init__.py new file mode 100644 index 0000000000..031e3d503c --- /dev/null +++ b/delivery_price_method/tests/__init__.py @@ -0,0 +1,3 @@ +# Copyright 2020 Trey, Kilobytes de Soluciones +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from . import test_delivery_price_method diff --git a/delivery_price_method/tests/test_delivery_price_method.py b/delivery_price_method/tests/test_delivery_price_method.py new file mode 100644 index 0000000000..e6d54e84dc --- /dev/null +++ b/delivery_price_method/tests/test_delivery_price_method.py @@ -0,0 +1,80 @@ +# Copyright 2020 Trey, Kilobytes de Soluciones +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from odoo.tests.common import TransactionCase + + +class TestDeliveryPriceMethod(TransactionCase): + + def setUp(self): + super().setUp() + product_shipping_cost = self.env['product.product'].create({ + 'type': 'service', + 'name': 'Shipping costs', + 'standard_price': 10, + 'list_price': 100, + }) + self.carrier = self.env['delivery.carrier'].create({ + 'name': 'Test carrier', + 'delivery_type': 'fixed', + 'product_id': product_shipping_cost.id, + 'fixed_price': 99.99, + }) + + def test_delivery_price_fixed(self): + product = self.env.ref('product.product_delivery_01') + partner = self.env.ref('base.res_partner_12') + sale = self.env['sale.order'].create({ + 'partner_id': partner.id, + 'carrier_id': self.carrier.id, + 'order_line': [(0, 0, { + 'product_id': product.id, + 'product_uom_qty': 1})] + }) + sale.get_delivery_price() + self.assertEquals(sale.delivery_price, 99.99) + sale.set_delivery_line() + self.assertEquals(len(sale.order_line), 2) + sale.action_confirm() + picking = sale.picking_ids[0] + self.assertEquals(len(picking.move_lines), 1) + self.assertEquals(picking.carrier_id, self.carrier) + picking.action_confirm() + picking.action_assign() + self.assertFalse(picking.carrier_price) + picking.send_to_shipper() + self.assertEquals(picking.carrier_price, 99.99) + + def test_delivery_price_method(self): + product = self.env.ref('product.product_delivery_01') + partner = self.env.ref('base.res_partner_12') + sale = self.env['sale.order'].create({ + 'partner_id': partner.id, + 'carrier_id': self.carrier.id, + 'order_line': [(0, 0, { + 'product_id': product.id, + 'product_uom_qty': 1})] + }) + self.carrier.write({ + 'price_method': 'fixed', + 'fixed_price': 99.99, + }) + sale.get_delivery_price() + self.assertEquals(sale.delivery_price, 99.99) + self.carrier.write({ + 'price_method': 'fixed', + 'fixed_price': 5, + }) + sale.get_delivery_price() + self.assertEquals(sale.delivery_price, 5) + self.carrier.write({ + 'delivery_type': 'base_on_rule', + 'price_method': 'base_on_rule', + 'fixed_price': 99.99, + 'price_rule_ids': [(0, 0, { + 'variable': 'quantity', + 'operator': '==', + 'max_value': 1, + 'list_base_price': 11.11})] + }) + sale.get_delivery_price() + self.assertEquals(sale.delivery_price, 11.11) diff --git a/delivery_price_method/views/delivery_carrier_views.xml b/delivery_price_method/views/delivery_carrier_views.xml new file mode 100644 index 0000000000..5cb99f6b3c --- /dev/null +++ b/delivery_price_method/views/delivery_carrier_views.xml @@ -0,0 +1,28 @@ + + + + + delivery.carrier + + + + + + + + + + + + + + + + + + + + From d24872849955aca3fc9a6aa4a41e410e318cecf8 Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Thu, 16 Jul 2020 19:15:09 +0200 Subject: [PATCH 02/15] [IMP] delivery_price_method: Make it independent + more compatible - Add default price_method called "Carrier obtained price", for being more explicit and avoid user confusions. - Shipment rate: Make it compatible with upstream code tricking the delivery_type field. - Shipping sending: Call upstream carrier sending routine + call standard one, and merge results (excluding the tracking_number). - Tests: * Make them more resilient (fixing the pricelist). * Use SavepointCase for executing setup only once. * Fine tune some code - Improve README --- delivery_price_method/README.rst | 92 ++++ delivery_price_method/__manifest__.py | 1 + .../models/delivery_carrier.py | 33 +- delivery_price_method/readme/CONTRIBUTORS.rst | 7 +- delivery_price_method/readme/DESCRIPTION.rst | 7 +- delivery_price_method/readme/USAGE.rst | 8 +- .../static/description/index.html | 440 ++++++++++++++++++ .../tests/test_delivery_price_method.py | 47 +- .../views/delivery_carrier_views.xml | 2 +- 9 files changed, 594 insertions(+), 43 deletions(-) create mode 100644 delivery_price_method/README.rst create mode 100644 delivery_price_method/static/description/index.html diff --git a/delivery_price_method/README.rst b/delivery_price_method/README.rst new file mode 100644 index 0000000000..2377a3792b --- /dev/null +++ b/delivery_price_method/README.rst @@ -0,0 +1,92 @@ +===================== +Delivery Price Method +===================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/12.0/delivery_price_method + :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-12-0/delivery-carrier-12-0-delivery_price_method + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/99/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows to force a local price rate computation for any delivery +method, including those that have been created to query a webservice for +fetching the rate. + +It uses the existing fixed price or price based on rules computations. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +#. Go to *Sales > Configuration > Sales Orders > Delivery Methods*. +#. Open or create a new one. +#. On the "Price Method" field, select "Fixed Price" or "Based on Rules". +#. You will see standard fields for selecting the price as if the delivery + method isn't an integration carrier. + +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 smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Trey (www.trey.es) + +Contributors +~~~~~~~~~~~~ + +* `Trey `_: + + * Roberto Lizana + +* `Tecnativa `_: + + * Pedro M. Baeza + +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_price_method/__manifest__.py b/delivery_price_method/__manifest__.py index 0f895bb866..ac1838f408 100644 --- a/delivery_price_method/__manifest__.py +++ b/delivery_price_method/__manifest__.py @@ -1,4 +1,5 @@ # Copyright 2020 Trey, Kilobytes de Soluciones +# Copyright 2020 Tecnativa - Pedro M. Baeza # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). { 'name': 'Delivery Price Method', diff --git a/delivery_price_method/models/delivery_carrier.py b/delivery_price_method/models/delivery_carrier.py index b38ce18b9d..fd056c1749 100644 --- a/delivery_price_method/models/delivery_carrier.py +++ b/delivery_price_method/models/delivery_carrier.py @@ -1,4 +1,5 @@ # Copyright 2020 Trey, Kilobytes de Soluciones +# Copyright 2020 Tecnativa - Pedro M. Baeza # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). from odoo import fields, models @@ -6,27 +7,35 @@ class DeliveryCarrier(models.Model): _inherit = 'delivery.carrier' - # You must add next method to your carrier model if want use this price - # method - # - # def [CARRIER]_rate_shipment(self, order): - # return self.price_method_rate_shipment(order) - price_method = fields.Selection( selection=[ + ('carrier', 'Carrier obtained price'), ('fixed', 'Fixed price'), ('base_on_rule', 'Based on Rules'), ], string='Price method', - default='fixed', + default='carrier', ) - def price_method_rate_shipment(self, order): - return getattr(self, '%s_rate_shipment' % self.price_method)(order) + def rate_shipment(self, order): + """Trick the method for using all the upstream code for the + price computation in case of using fixed or base_on_rule. + """ + previous_method = False + if self.price_method in ("fixed", "base_on_rule"): + previous_method = self.delivery_type + self.delivery_type = self.price_method + res = super().rate_shipment(order) + if previous_method: + self.delivery_type = previous_method + return res def send_shipping(self, pickings): res = super().send_shipping(pickings) - rates = getattr(self, '%s_send_shipping' % self.price_method)(pickings) - for index, rate in enumerate(rates): - res[index]['exact_price'] = rate['exact_price'] + if self.price_method in ("fixed", "base_on_rule"): + rates = getattr( + self, '%s_send_shipping' % self.price_method)(pickings) + for index, rate in enumerate(rates): + del rate["tracking_number"] # remove offending key + res[index].update(rate) return res diff --git a/delivery_price_method/readme/CONTRIBUTORS.rst b/delivery_price_method/readme/CONTRIBUTORS.rst index f6abf4e4d4..efaba917fb 100644 --- a/delivery_price_method/readme/CONTRIBUTORS.rst +++ b/delivery_price_method/readme/CONTRIBUTORS.rst @@ -1,2 +1,7 @@ * `Trey `_: - * Roberto Lizana + + * Roberto Lizana + +* `Tecnativa `_: + + * Pedro M. Baeza diff --git a/delivery_price_method/readme/DESCRIPTION.rst b/delivery_price_method/readme/DESCRIPTION.rst index 046b7a842d..f861433084 100644 --- a/delivery_price_method/readme/DESCRIPTION.rst +++ b/delivery_price_method/readme/DESCRIPTION.rst @@ -1,4 +1,5 @@ -Tis module adds additional functions that will be necessary for the operator -developments. +This module allows to force a local price rate computation for any delivery +method, including those that have been created to query a webservice for +fetching the rate. -It provides a system to rate the shipping price based on a fixed price or based on rules. +It uses the existing fixed price or price based on rules computations. diff --git a/delivery_price_method/readme/USAGE.rst b/delivery_price_method/readme/USAGE.rst index 74db2543c8..ce3592c365 100644 --- a/delivery_price_method/readme/USAGE.rst +++ b/delivery_price_method/readme/USAGE.rst @@ -1,3 +1,5 @@ -Only available in carriers that have been developed using this module, please consult yours carriers addons. - -The carrier form will have a new field * Price method * to use fixed or rule based method. +#. Go to *Sales > Configuration > Sales Orders > Delivery Methods*. +#. Open or create a new one. +#. On the "Price Method" field, select "Fixed Price" or "Based on Rules". +#. You will see standard fields for selecting the price as if the delivery + method isn't an integration carrier. diff --git a/delivery_price_method/static/description/index.html b/delivery_price_method/static/description/index.html new file mode 100644 index 0000000000..7bb20f6071 --- /dev/null +++ b/delivery_price_method/static/description/index.html @@ -0,0 +1,440 @@ + + + + + + +Delivery Price Method + + + +
+

Delivery Price Method

+ + +

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

+

This module allows to force a local price rate computation for any delivery +method, including those that have been created to query a webservice for +fetching the rate.

+

It uses the existing fixed price or price based on rules computations.

+

Table of contents

+ +
+

Usage

+
    +
  1. Go to Sales > Configuration > Sales Orders > Delivery Methods.
  2. +
  3. Open or create a new one.
  4. +
  5. On the “Price Method” field, select “Fixed Price” or “Based on Rules”.
  6. +
  7. You will see standard fields for selecting the price as if the delivery +method isn’t an integration carrier.
  8. +
+
+
+

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 smashing it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Trey (www.trey.es)
  • +
+
+
+

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_price_method/tests/test_delivery_price_method.py b/delivery_price_method/tests/test_delivery_price_method.py index e6d54e84dc..16cbaa19fb 100644 --- a/delivery_price_method/tests/test_delivery_price_method.py +++ b/delivery_price_method/tests/test_delivery_price_method.py @@ -1,12 +1,14 @@ # Copyright 2020 Trey, Kilobytes de Soluciones +# Copyright 2020 Tecnativa - Pedro M. Baeza # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from odoo.tests.common import TransactionCase +from odoo.tests.common import SavepointCase -class TestDeliveryPriceMethod(TransactionCase): - - def setUp(self): - super().setUp() +class TestDeliveryPriceMethod(SavepointCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + self = cls product_shipping_cost = self.env['product.product'].create({ 'type': 'service', 'name': 'Shipping costs', @@ -19,17 +21,26 @@ def setUp(self): 'product_id': product_shipping_cost.id, 'fixed_price': 99.99, }) - - def test_delivery_price_fixed(self): - product = self.env.ref('product.product_delivery_01') - partner = self.env.ref('base.res_partner_12') - sale = self.env['sale.order'].create({ - 'partner_id': partner.id, + self.pricelist = self.env["product.pricelist"].create({ + "name": "Test pricelist", + "item_ids": [(0, 0, { + "applied_on": "3_global", + "base": "list_price", + })], + }) + self.product = self.env.ref('product.product_delivery_01') + self.partner = self.env.ref('base.res_partner_12') + self.sale = self.env['sale.order'].create({ + 'partner_id': self.partner.id, + 'pricelist_id': self.pricelist.id, 'carrier_id': self.carrier.id, 'order_line': [(0, 0, { - 'product_id': product.id, + 'product_id': self.product.id, 'product_uom_qty': 1})] }) + + def test_delivery_price_fixed(self): + sale = self.sale sale.get_delivery_price() self.assertEquals(sale.delivery_price, 99.99) sale.set_delivery_line() @@ -45,19 +56,11 @@ def test_delivery_price_fixed(self): self.assertEquals(picking.carrier_price, 99.99) def test_delivery_price_method(self): - product = self.env.ref('product.product_delivery_01') - partner = self.env.ref('base.res_partner_12') - sale = self.env['sale.order'].create({ - 'partner_id': partner.id, - 'carrier_id': self.carrier.id, - 'order_line': [(0, 0, { - 'product_id': product.id, - 'product_uom_qty': 1})] - }) self.carrier.write({ 'price_method': 'fixed', 'fixed_price': 99.99, }) + sale = self.sale sale.get_delivery_price() self.assertEquals(sale.delivery_price, 99.99) self.carrier.write({ @@ -67,9 +70,7 @@ def test_delivery_price_method(self): sale.get_delivery_price() self.assertEquals(sale.delivery_price, 5) self.carrier.write({ - 'delivery_type': 'base_on_rule', 'price_method': 'base_on_rule', - 'fixed_price': 99.99, 'price_rule_ids': [(0, 0, { 'variable': 'quantity', 'operator': '==', diff --git a/delivery_price_method/views/delivery_carrier_views.xml b/delivery_price_method/views/delivery_carrier_views.xml index 5cb99f6b3c..d0d968ae76 100644 --- a/delivery_price_method/views/delivery_carrier_views.xml +++ b/delivery_price_method/views/delivery_carrier_views.xml @@ -9,7 +9,7 @@ License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). - + From 97280f51726129af63d34c8ead6022e53fd1faaf Mon Sep 17 00:00:00 2001 From: oca-travis Date: Fri, 17 Jul 2020 08:21:42 +0000 Subject: [PATCH 03/15] [UPD] Update delivery_price_method.pot --- .../i18n/delivery_price_method.pot | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 delivery_price_method/i18n/delivery_price_method.pot diff --git a/delivery_price_method/i18n/delivery_price_method.pot b/delivery_price_method/i18n/delivery_price_method.pot new file mode 100644 index 0000000000..52471a92ea --- /dev/null +++ b/delivery_price_method/i18n/delivery_price_method.pot @@ -0,0 +1,45 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * delivery_price_method +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.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_price_method +#: selection:delivery.carrier,price_method:0 +msgid "Based on Rules" +msgstr "" + +#. module: delivery_price_method +#: selection:delivery.carrier,price_method:0 +msgid "Carrier obtained price" +msgstr "" + +#. module: delivery_price_method +#: model:ir.model,name:delivery_price_method.model_delivery_carrier +msgid "Delivery Methods" +msgstr "" + +#. module: delivery_price_method +#: selection:delivery.carrier,price_method:0 +msgid "Fixed price" +msgstr "" + +#. module: delivery_price_method +#: model:ir.model.fields,field_description:delivery_price_method.field_delivery_carrier__price_method +msgid "Price method" +msgstr "" + +#. module: delivery_price_method +#: model_terms:ir.ui.view,arch_db:delivery_price_method.view_delivery_carrier_form +msgid "Pricing" +msgstr "" + From 87a16a393298552cc15ab51556f55b4f457dbf70 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 17 Jul 2020 08:45:04 +0000 Subject: [PATCH 04/15] [ADD] icon.png --- .../static/description/icon.png | Bin 0 -> 9455 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 delivery_price_method/static/description/icon.png diff --git a/delivery_price_method/static/description/icon.png b/delivery_price_method/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 From 53a0107381cbf54cf19506fe2a2740d618967088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=A7al=20Isern?= Date: Sat, 19 Sep 2020 22:17:16 +0200 Subject: [PATCH 05/15] [IMP] delivery_price_method: black, isort, prettier --- delivery_price_method/__manifest__.py | 25 ++--- .../models/delivery_carrier.py | 15 ++- .../tests/test_delivery_price_method.py | 98 ++++++++++--------- .../views/delivery_carrier_views.xml | 23 +++-- 4 files changed, 86 insertions(+), 75 deletions(-) diff --git a/delivery_price_method/__manifest__.py b/delivery_price_method/__manifest__.py index ac1838f408..9c23d01ebe 100644 --- a/delivery_price_method/__manifest__.py +++ b/delivery_price_method/__manifest__.py @@ -2,19 +2,14 @@ # Copyright 2020 Tecnativa - Pedro M. Baeza # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). { - 'name': 'Delivery Price Method', - 'summary': 'Provides fields to be able to contemplate the tracking states' - 'and also adds a global fields', - 'author': 'Trey (www.trey.es), ' - 'Odoo Community Association (OCA)', - 'website': 'https://github.com/OCA/delivery-carrier', - 'license': 'AGPL-3', - 'category': 'Delivery', - 'version': '12.0.1.0.0', - 'depends': [ - 'delivery', - ], - 'data': [ - 'views/delivery_carrier_views.xml', - ], + "name": "Delivery Price Method", + "summary": "Provides fields to be able to contemplate the tracking states" + "and also adds a global fields", + "author": "Trey (www.trey.es), " "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/delivery-carrier", + "license": "AGPL-3", + "category": "Delivery", + "version": "12.0.1.0.0", + "depends": ["delivery"], + "data": ["views/delivery_carrier_views.xml"], } diff --git a/delivery_price_method/models/delivery_carrier.py b/delivery_price_method/models/delivery_carrier.py index fd056c1749..42968f8201 100644 --- a/delivery_price_method/models/delivery_carrier.py +++ b/delivery_price_method/models/delivery_carrier.py @@ -5,16 +5,16 @@ class DeliveryCarrier(models.Model): - _inherit = 'delivery.carrier' + _inherit = "delivery.carrier" price_method = fields.Selection( selection=[ - ('carrier', 'Carrier obtained price'), - ('fixed', 'Fixed price'), - ('base_on_rule', 'Based on Rules'), + ("carrier", "Carrier obtained price"), + ("fixed", "Fixed price"), + ("base_on_rule", "Based on Rules"), ], - string='Price method', - default='carrier', + string="Price method", + default="carrier", ) def rate_shipment(self, order): @@ -33,8 +33,7 @@ def rate_shipment(self, order): def send_shipping(self, pickings): res = super().send_shipping(pickings) if self.price_method in ("fixed", "base_on_rule"): - rates = getattr( - self, '%s_send_shipping' % self.price_method)(pickings) + rates = getattr(self, "%s_send_shipping" % self.price_method)(pickings) for index, rate in enumerate(rates): del rate["tracking_number"] # remove offending key res[index].update(rate) diff --git a/delivery_price_method/tests/test_delivery_price_method.py b/delivery_price_method/tests/test_delivery_price_method.py index 16cbaa19fb..58b249e89d 100644 --- a/delivery_price_method/tests/test_delivery_price_method.py +++ b/delivery_price_method/tests/test_delivery_price_method.py @@ -9,35 +9,40 @@ class TestDeliveryPriceMethod(SavepointCase): def setUpClass(cls): super().setUpClass() self = cls - product_shipping_cost = self.env['product.product'].create({ - 'type': 'service', - 'name': 'Shipping costs', - 'standard_price': 10, - 'list_price': 100, - }) - self.carrier = self.env['delivery.carrier'].create({ - 'name': 'Test carrier', - 'delivery_type': 'fixed', - 'product_id': product_shipping_cost.id, - 'fixed_price': 99.99, - }) - self.pricelist = self.env["product.pricelist"].create({ - "name": "Test pricelist", - "item_ids": [(0, 0, { - "applied_on": "3_global", - "base": "list_price", - })], - }) - self.product = self.env.ref('product.product_delivery_01') - self.partner = self.env.ref('base.res_partner_12') - self.sale = self.env['sale.order'].create({ - 'partner_id': self.partner.id, - 'pricelist_id': self.pricelist.id, - 'carrier_id': self.carrier.id, - 'order_line': [(0, 0, { - 'product_id': self.product.id, - 'product_uom_qty': 1})] - }) + product_shipping_cost = self.env["product.product"].create( + { + "type": "service", + "name": "Shipping costs", + "standard_price": 10, + "list_price": 100, + } + ) + self.carrier = self.env["delivery.carrier"].create( + { + "name": "Test carrier", + "delivery_type": "fixed", + "product_id": product_shipping_cost.id, + "fixed_price": 99.99, + } + ) + self.pricelist = self.env["product.pricelist"].create( + { + "name": "Test pricelist", + "item_ids": [(0, 0, {"applied_on": "3_global", "base": "list_price"})], + } + ) + self.product = self.env.ref("product.product_delivery_01") + self.partner = self.env.ref("base.res_partner_12") + self.sale = self.env["sale.order"].create( + { + "partner_id": self.partner.id, + "pricelist_id": self.pricelist.id, + "carrier_id": self.carrier.id, + "order_line": [ + (0, 0, {"product_id": self.product.id, "product_uom_qty": 1}) + ], + } + ) def test_delivery_price_fixed(self): sale = self.sale @@ -56,26 +61,29 @@ def test_delivery_price_fixed(self): self.assertEquals(picking.carrier_price, 99.99) def test_delivery_price_method(self): - self.carrier.write({ - 'price_method': 'fixed', - 'fixed_price': 99.99, - }) + self.carrier.write({"price_method": "fixed", "fixed_price": 99.99}) sale = self.sale sale.get_delivery_price() self.assertEquals(sale.delivery_price, 99.99) - self.carrier.write({ - 'price_method': 'fixed', - 'fixed_price': 5, - }) + self.carrier.write({"price_method": "fixed", "fixed_price": 5}) sale.get_delivery_price() self.assertEquals(sale.delivery_price, 5) - self.carrier.write({ - 'price_method': 'base_on_rule', - 'price_rule_ids': [(0, 0, { - 'variable': 'quantity', - 'operator': '==', - 'max_value': 1, - 'list_base_price': 11.11})] - }) + self.carrier.write( + { + "price_method": "base_on_rule", + "price_rule_ids": [ + ( + 0, + 0, + { + "variable": "quantity", + "operator": "==", + "max_value": 1, + "list_base_price": 11.11, + }, + ) + ], + } + ) sale.get_delivery_price() self.assertEquals(sale.delivery_price, 11.11) diff --git a/delivery_price_method/views/delivery_carrier_views.xml b/delivery_price_method/views/delivery_carrier_views.xml index d0d968ae76..b61169024f 100644 --- a/delivery_price_method/views/delivery_carrier_views.xml +++ b/delivery_price_method/views/delivery_carrier_views.xml @@ -1,4 +1,4 @@ - + -

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

+

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

This module allows to force a local price rate computation for any delivery method, including those that have been created to query a webservice for fetching the rate.

@@ -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 smashing it by providing a detailed and welcomed -feedback.

+feedback.

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

@@ -422,6 +422,10 @@

Contributors

  • Pedro M. Baeza
  • +
  • QubiQ 2010:
      +
    • Marçal Isern
    • +
    +
  • @@ -431,7 +435,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_price_method/tests/test_delivery_price_method.py b/delivery_price_method/tests/test_delivery_price_method.py index 58b249e89d..e1e1486f97 100644 --- a/delivery_price_method/tests/test_delivery_price_method.py +++ b/delivery_price_method/tests/test_delivery_price_method.py @@ -1,7 +1,9 @@ # Copyright 2020 Trey, Kilobytes de Soluciones # Copyright 2020 Tecnativa - Pedro M. Baeza # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from odoo.tests import Form from odoo.tests.common import SavepointCase +from odoo.tools import float_compare class TestDeliveryPriceMethod(SavepointCase): @@ -44,12 +46,23 @@ def setUpClass(cls): } ) + def _add_delivery(self): + sale = self.sale + delivery_wizard = Form( + self.env["choose.delivery.carrier"].with_context( + {"default_order_id": sale.id, "default_carrier_id": self.carrier} + ) + ) + choose_delivery_carrier = delivery_wizard.save() + choose_delivery_carrier.button_confirm() + def test_delivery_price_fixed(self): sale = self.sale - sale.get_delivery_price() - self.assertEquals(sale.delivery_price, 99.99) - sale.set_delivery_line() - self.assertEquals(len(sale.order_line), 2) + self._add_delivery() + delivery_lines = sale.order_line.filtered(lambda r: r.is_delivery) + delivery_price = sum(delivery_lines.mapped("price_unit")) + self.assertEqual(float_compare(delivery_price, 99.99, precision_digits=2), 0) + self.assertEquals(len(delivery_lines), 1) sale.action_confirm() picking = sale.picking_ids[0] self.assertEquals(len(picking.move_lines), 1) @@ -63,11 +76,16 @@ def test_delivery_price_fixed(self): def test_delivery_price_method(self): self.carrier.write({"price_method": "fixed", "fixed_price": 99.99}) sale = self.sale - sale.get_delivery_price() - self.assertEquals(sale.delivery_price, 99.99) + self._add_delivery() + delivery_lines = sale.order_line.filtered(lambda r: r.is_delivery) + delivery_price = sum(delivery_lines.mapped("price_unit")) + self.assertEqual(float_compare(delivery_price, 99.99, precision_digits=2), 0) + self.assertEquals(len(delivery_lines), 1) self.carrier.write({"price_method": "fixed", "fixed_price": 5}) - sale.get_delivery_price() - self.assertEquals(sale.delivery_price, 5) + self._add_delivery() + delivery_lines = sale.order_line.filtered(lambda r: r.is_delivery) + delivery_price = sum(delivery_lines.mapped("price_unit")) + self.assertEquals(delivery_price, 5) self.carrier.write( { "price_method": "base_on_rule", @@ -85,5 +103,7 @@ def test_delivery_price_method(self): ], } ) - sale.get_delivery_price() - self.assertEquals(sale.delivery_price, 11.11) + self._add_delivery() + delivery_lines = sale.order_line.filtered(lambda r: r.is_delivery) + delivery_price = sum(delivery_lines.mapped("price_unit")) + self.assertEquals(delivery_price, 11.11) From 6537bd23c1ea7020fcef0c899b58247ae118b46d Mon Sep 17 00:00:00 2001 From: david Date: Mon, 6 Sep 2021 10:16:04 +0200 Subject: [PATCH 07/15] [FIX] delivery_price_method: method permissions If a user don't have the necessary permissions for writing in the `delivery.carrier` model (like a low range salesman) he won't be able to choose a carrier wich uses the rate shipment override. TT31627 delivery_price_method 13.0.1.0.1 --- delivery_price_method/__manifest__.py | 2 +- delivery_price_method/models/delivery_carrier.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/delivery_price_method/__manifest__.py b/delivery_price_method/__manifest__.py index 2474defb20..9173bcd290 100644 --- a/delivery_price_method/__manifest__.py +++ b/delivery_price_method/__manifest__.py @@ -9,7 +9,7 @@ "website": "https://github.com/OCA/delivery-carrier", "license": "AGPL-3", "category": "Delivery", - "version": "13.0.1.0.0", + "version": "13.0.1.0.1", "depends": ["delivery"], "data": ["views/delivery_carrier_views.xml"], } diff --git a/delivery_price_method/models/delivery_carrier.py b/delivery_price_method/models/delivery_carrier.py index 42968f8201..01ab32333c 100644 --- a/delivery_price_method/models/delivery_carrier.py +++ b/delivery_price_method/models/delivery_carrier.py @@ -24,10 +24,10 @@ def rate_shipment(self, order): previous_method = False if self.price_method in ("fixed", "base_on_rule"): previous_method = self.delivery_type - self.delivery_type = self.price_method + self.sudo().delivery_type = self.price_method res = super().rate_shipment(order) if previous_method: - self.delivery_type = previous_method + self.sudo().delivery_type = previous_method return res def send_shipping(self, pickings): From 83fae64c9266629a9f80ca86a93cded9ee3b2dde Mon Sep 17 00:00:00 2001 From: "Pedro M. Baeza" Date: Thu, 21 Apr 2022 19:45:44 +0200 Subject: [PATCH 08/15] [IMP] delivery_*: Promote modules to Stable [UPD] README.rst delivery_price_method 13.0.1.0.2 --- delivery_price_method/README.rst | 4 ++-- delivery_price_method/__manifest__.py | 3 ++- delivery_price_method/static/description/index.html | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/delivery_price_method/README.rst b/delivery_price_method/README.rst index 45c23863b9..d81d7e3212 100644 --- a/delivery_price_method/README.rst +++ b/delivery_price_method/README.rst @@ -7,9 +7,9 @@ Delivery Price Method !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png +.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png :target: https://odoo-community.org/page/development-status - :alt: Beta + :alt: Production/Stable .. |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 diff --git a/delivery_price_method/__manifest__.py b/delivery_price_method/__manifest__.py index 9173bcd290..4caad98325 100644 --- a/delivery_price_method/__manifest__.py +++ b/delivery_price_method/__manifest__.py @@ -8,8 +8,9 @@ "author": "Trey (www.trey.es), " "Odoo Community Association (OCA)", "website": "https://github.com/OCA/delivery-carrier", "license": "AGPL-3", + "development_status": "Production/Stable", "category": "Delivery", - "version": "13.0.1.0.1", + "version": "13.0.1.0.2", "depends": ["delivery"], "data": ["views/delivery_carrier_views.xml"], } diff --git a/delivery_price_method/static/description/index.html b/delivery_price_method/static/description/index.html index 38b6db5b58..8be838de46 100644 --- a/delivery_price_method/static/description/index.html +++ b/delivery_price_method/static/description/index.html @@ -367,7 +367,7 @@

    Delivery Price Method

    !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

    +

    Production/Stable License: AGPL-3 OCA/delivery-carrier Translate me on Weblate Try me on Runbot

    This module allows to force a local price rate computation for any delivery method, including those that have been created to query a webservice for fetching the rate.

    From 0d43612cce3db1e64fa560df61739476eeb2a430 Mon Sep 17 00:00:00 2001 From: "Leonardo J. Caballero G" Date: Tue, 24 May 2022 05:12:13 +0000 Subject: [PATCH 09/15] Added translation using Weblate (Spanish) --- delivery_price_method/i18n/es.po | 45 ++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 delivery_price_method/i18n/es.po diff --git a/delivery_price_method/i18n/es.po b/delivery_price_method/i18n/es.po new file mode 100644 index 0000000000..223200c075 --- /dev/null +++ b/delivery_price_method/i18n/es.po @@ -0,0 +1,45 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * delivery_price_method +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: delivery_price_method +#: model:ir.model.fields.selection,name:delivery_price_method.selection__delivery_carrier__price_method__base_on_rule +msgid "Based on Rules" +msgstr "" + +#. module: delivery_price_method +#: model:ir.model.fields.selection,name:delivery_price_method.selection__delivery_carrier__price_method__carrier +msgid "Carrier obtained price" +msgstr "" + +#. module: delivery_price_method +#: model:ir.model.fields.selection,name:delivery_price_method.selection__delivery_carrier__price_method__fixed +msgid "Fixed price" +msgstr "" + +#. module: delivery_price_method +#: model:ir.model.fields,field_description:delivery_price_method.field_delivery_carrier__price_method +msgid "Price method" +msgstr "" + +#. module: delivery_price_method +#: model_terms:ir.ui.view,arch_db:delivery_price_method.view_delivery_carrier_form +msgid "Pricing" +msgstr "" + +#. module: delivery_price_method +#: model:ir.model,name:delivery_price_method.model_delivery_carrier +msgid "Shipping Methods" +msgstr "" From 9f82e7c703b8f053b9a6082a5b751bd4f165afd1 Mon Sep 17 00:00:00 2001 From: "Leonardo J. Caballero G" Date: Tue, 24 May 2022 05:12:16 +0000 Subject: [PATCH 10/15] Added translation using Weblate (Spanish (Chile)) --- delivery_price_method/i18n/es_CL.po | 45 +++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 delivery_price_method/i18n/es_CL.po diff --git a/delivery_price_method/i18n/es_CL.po b/delivery_price_method/i18n/es_CL.po new file mode 100644 index 0000000000..3764a795d4 --- /dev/null +++ b/delivery_price_method/i18n/es_CL.po @@ -0,0 +1,45 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * delivery_price_method +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es_CL\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_price_method +#: model:ir.model.fields.selection,name:delivery_price_method.selection__delivery_carrier__price_method__base_on_rule +msgid "Based on Rules" +msgstr "" + +#. module: delivery_price_method +#: model:ir.model.fields.selection,name:delivery_price_method.selection__delivery_carrier__price_method__carrier +msgid "Carrier obtained price" +msgstr "" + +#. module: delivery_price_method +#: model:ir.model.fields.selection,name:delivery_price_method.selection__delivery_carrier__price_method__fixed +msgid "Fixed price" +msgstr "" + +#. module: delivery_price_method +#: model:ir.model.fields,field_description:delivery_price_method.field_delivery_carrier__price_method +msgid "Price method" +msgstr "" + +#. module: delivery_price_method +#: model_terms:ir.ui.view,arch_db:delivery_price_method.view_delivery_carrier_form +msgid "Pricing" +msgstr "" + +#. module: delivery_price_method +#: model:ir.model,name:delivery_price_method.model_delivery_carrier +msgid "Shipping Methods" +msgstr "" From 34dfd093d2605386e52c84f71db053b63b0fe0e1 Mon Sep 17 00:00:00 2001 From: "Leonardo J. Caballero G" Date: Tue, 24 May 2022 05:12:18 +0000 Subject: [PATCH 11/15] Added translation using Weblate (Spanish (es_VE)) --- delivery_price_method/i18n/es_VE.po | 45 +++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 delivery_price_method/i18n/es_VE.po diff --git a/delivery_price_method/i18n/es_VE.po b/delivery_price_method/i18n/es_VE.po new file mode 100644 index 0000000000..a588e1935b --- /dev/null +++ b/delivery_price_method/i18n/es_VE.po @@ -0,0 +1,45 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * delivery_price_method +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es_VE\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_price_method +#: model:ir.model.fields.selection,name:delivery_price_method.selection__delivery_carrier__price_method__base_on_rule +msgid "Based on Rules" +msgstr "" + +#. module: delivery_price_method +#: model:ir.model.fields.selection,name:delivery_price_method.selection__delivery_carrier__price_method__carrier +msgid "Carrier obtained price" +msgstr "" + +#. module: delivery_price_method +#: model:ir.model.fields.selection,name:delivery_price_method.selection__delivery_carrier__price_method__fixed +msgid "Fixed price" +msgstr "" + +#. module: delivery_price_method +#: model:ir.model.fields,field_description:delivery_price_method.field_delivery_carrier__price_method +msgid "Price method" +msgstr "" + +#. module: delivery_price_method +#: model_terms:ir.ui.view,arch_db:delivery_price_method.view_delivery_carrier_form +msgid "Pricing" +msgstr "" + +#. module: delivery_price_method +#: model:ir.model,name:delivery_price_method.model_delivery_carrier +msgid "Shipping Methods" +msgstr "" From 6a1d35b80baf237dc3038124b3d52c92551773aa Mon Sep 17 00:00:00 2001 From: "Leonardo J. Caballero G" Date: Tue, 24 May 2022 05:18:02 +0000 Subject: [PATCH 12/15] Translated using Weblate (Spanish) Currently translated at 100.0% (6 of 6 strings) Translation: delivery-carrier-13.0/delivery-carrier-13.0-delivery_price_method Translate-URL: https://translation.odoo-community.org/projects/delivery-carrier-13-0/delivery-carrier-13-0-delivery_price_method/es/ --- delivery_price_method/i18n/es.po | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/delivery_price_method/i18n/es.po b/delivery_price_method/i18n/es.po index 223200c075..9bf80d1cbb 100644 --- a/delivery_price_method/i18n/es.po +++ b/delivery_price_method/i18n/es.po @@ -6,40 +6,42 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 13.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2022-05-24 05:34+0000\n" +"Last-Translator: Leonardo J. Caballero G. \n" "Language-Team: none\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.3.2\n" #. module: delivery_price_method #: model:ir.model.fields.selection,name:delivery_price_method.selection__delivery_carrier__price_method__base_on_rule msgid "Based on Rules" -msgstr "" +msgstr "Basado en reglas" #. module: delivery_price_method #: model:ir.model.fields.selection,name:delivery_price_method.selection__delivery_carrier__price_method__carrier msgid "Carrier obtained price" -msgstr "" +msgstr "Precio obtenido por el transportista" #. module: delivery_price_method #: model:ir.model.fields.selection,name:delivery_price_method.selection__delivery_carrier__price_method__fixed msgid "Fixed price" -msgstr "" +msgstr "Precio fijo" #. module: delivery_price_method #: model:ir.model.fields,field_description:delivery_price_method.field_delivery_carrier__price_method msgid "Price method" -msgstr "" +msgstr "Método de precio" #. module: delivery_price_method #: model_terms:ir.ui.view,arch_db:delivery_price_method.view_delivery_carrier_form msgid "Pricing" -msgstr "" +msgstr "Precios" #. module: delivery_price_method #: model:ir.model,name:delivery_price_method.model_delivery_carrier msgid "Shipping Methods" -msgstr "" +msgstr "Métodos de envío" From 231f0c3eff377fc7bf4399b898904f8c441967e7 Mon Sep 17 00:00:00 2001 From: "Leonardo J. Caballero G" Date: Tue, 24 May 2022 05:17:47 +0000 Subject: [PATCH 13/15] Translated using Weblate (Spanish (Chile)) Currently translated at 100.0% (6 of 6 strings) Translation: delivery-carrier-13.0/delivery-carrier-13.0-delivery_price_method Translate-URL: https://translation.odoo-community.org/projects/delivery-carrier-13-0/delivery-carrier-13-0-delivery_price_method/es_CL/ --- delivery_price_method/i18n/es_CL.po | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/delivery_price_method/i18n/es_CL.po b/delivery_price_method/i18n/es_CL.po index 3764a795d4..0fec900548 100644 --- a/delivery_price_method/i18n/es_CL.po +++ b/delivery_price_method/i18n/es_CL.po @@ -6,40 +6,42 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 13.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2022-05-24 05:34+0000\n" +"Last-Translator: Leonardo J. Caballero G. \n" "Language-Team: none\n" "Language: es_CL\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: delivery_price_method #: model:ir.model.fields.selection,name:delivery_price_method.selection__delivery_carrier__price_method__base_on_rule msgid "Based on Rules" -msgstr "" +msgstr "Basado en reglas" #. module: delivery_price_method #: model:ir.model.fields.selection,name:delivery_price_method.selection__delivery_carrier__price_method__carrier msgid "Carrier obtained price" -msgstr "" +msgstr "Precio obtenido por el transportista" #. module: delivery_price_method #: model:ir.model.fields.selection,name:delivery_price_method.selection__delivery_carrier__price_method__fixed msgid "Fixed price" -msgstr "" +msgstr "Precio fijo" #. module: delivery_price_method #: model:ir.model.fields,field_description:delivery_price_method.field_delivery_carrier__price_method msgid "Price method" -msgstr "" +msgstr "Método de precio" #. module: delivery_price_method #: model_terms:ir.ui.view,arch_db:delivery_price_method.view_delivery_carrier_form msgid "Pricing" -msgstr "" +msgstr "Precios" #. module: delivery_price_method #: model:ir.model,name:delivery_price_method.model_delivery_carrier msgid "Shipping Methods" -msgstr "" +msgstr "Métodos de envío" From 3b03168674c15e0a0f26e0635952d045f5c67dbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Thu, 11 Aug 2022 17:48:01 +0200 Subject: [PATCH 14/15] [IMP] delivery_price_method: black, isort, prettier --- .../delivery_price_method/odoo/addons/delivery_price_method | 1 + setup/delivery_price_method/setup.py | 6 ++++++ 2 files changed, 7 insertions(+) create mode 120000 setup/delivery_price_method/odoo/addons/delivery_price_method create mode 100644 setup/delivery_price_method/setup.py diff --git a/setup/delivery_price_method/odoo/addons/delivery_price_method b/setup/delivery_price_method/odoo/addons/delivery_price_method new file mode 120000 index 0000000000..5a8d860d8f --- /dev/null +++ b/setup/delivery_price_method/odoo/addons/delivery_price_method @@ -0,0 +1 @@ +../../../../delivery_price_method \ No newline at end of file diff --git a/setup/delivery_price_method/setup.py b/setup/delivery_price_method/setup.py new file mode 100644 index 0000000000..28c57bb640 --- /dev/null +++ b/setup/delivery_price_method/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From eda40a573ea5dfe6e7ae86806283b6cf843e56a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?= Date: Thu, 11 Aug 2022 18:08:10 +0200 Subject: [PATCH 15/15] [MIG] delivery_price_method: Migration to 14.0 TT36947 --- delivery_price_method/README.rst | 10 +++---- delivery_price_method/__manifest__.py | 2 +- .../static/description/index.html | 8 +++--- .../tests/test_delivery_price_method.py | 26 +++++++++++++------ 4 files changed, 28 insertions(+), 18 deletions(-) diff --git a/delivery_price_method/README.rst b/delivery_price_method/README.rst index d81d7e3212..33461a3099 100644 --- a/delivery_price_method/README.rst +++ b/delivery_price_method/README.rst @@ -14,13 +14,13 @@ Delivery Price Method :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/13.0/delivery_price_method + :target: https://github.com/OCA/delivery-carrier/tree/14.0/delivery_price_method :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-13-0/delivery-carrier-13-0-delivery_price_method + :target: https://translation.odoo-community.org/projects/delivery-carrier-14-0/delivery-carrier-14-0-delivery_price_method :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/99/13.0 + :target: https://runbot.odoo-community.org/runbot/99/14.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -51,7 +51,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 smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -91,6 +91,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_price_method/__manifest__.py b/delivery_price_method/__manifest__.py index 4caad98325..969ab0dcc0 100644 --- a/delivery_price_method/__manifest__.py +++ b/delivery_price_method/__manifest__.py @@ -10,7 +10,7 @@ "license": "AGPL-3", "development_status": "Production/Stable", "category": "Delivery", - "version": "13.0.1.0.2", + "version": "14.0.1.0.0", "depends": ["delivery"], "data": ["views/delivery_carrier_views.xml"], } diff --git a/delivery_price_method/static/description/index.html b/delivery_price_method/static/description/index.html index 8be838de46..c7f76c5977 100644 --- a/delivery_price_method/static/description/index.html +++ b/delivery_price_method/static/description/index.html @@ -3,7 +3,7 @@ - + Delivery Price Method