From cf3da2b0544c822460a6aa9eb46c2b1f2c02c9d7 Mon Sep 17 00:00:00 2001 From: Jacques-Etienne Baudoux Date: Wed, 1 Dec 2021 14:32:13 +0100 Subject: [PATCH 01/15] Add procurement_group_carrier. Extract feature from stock_picking_group_by_partner_by_carrier --- delivery_procurement_group_carrier/README.rst | 101 ++++ .../__init__.py | 1 + .../__manifest__.py | 19 + .../models/__init__.py | 2 + .../models/procurement_group.py | 11 + .../models/sale_order.py | 23 + .../readme/CONTRIBUTORS.rst | 7 + .../readme/CREDITS.rst | 3 + .../readme/DESCRIPTION.rst | 10 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 468 ++++++++++++++++++ .../static/src/scss/report_delivery_slip.scss | 3 + .../tests/__init__.py | 1 + .../tests/test_carrier.py | 45 ++ .../views/procurement_group.xml | 13 + 15 files changed, 707 insertions(+) create mode 100644 delivery_procurement_group_carrier/README.rst create mode 100644 delivery_procurement_group_carrier/__init__.py create mode 100644 delivery_procurement_group_carrier/__manifest__.py create mode 100644 delivery_procurement_group_carrier/models/__init__.py create mode 100644 delivery_procurement_group_carrier/models/procurement_group.py create mode 100644 delivery_procurement_group_carrier/models/sale_order.py create mode 100644 delivery_procurement_group_carrier/readme/CONTRIBUTORS.rst create mode 100644 delivery_procurement_group_carrier/readme/CREDITS.rst create mode 100644 delivery_procurement_group_carrier/readme/DESCRIPTION.rst create mode 100644 delivery_procurement_group_carrier/static/description/icon.png create mode 100644 delivery_procurement_group_carrier/static/description/index.html create mode 100644 delivery_procurement_group_carrier/static/src/scss/report_delivery_slip.scss create mode 100644 delivery_procurement_group_carrier/tests/__init__.py create mode 100644 delivery_procurement_group_carrier/tests/test_carrier.py create mode 100644 delivery_procurement_group_carrier/views/procurement_group.xml diff --git a/delivery_procurement_group_carrier/README.rst b/delivery_procurement_group_carrier/README.rst new file mode 100644 index 000000000000..7bf9c98bbfc0 --- /dev/null +++ b/delivery_procurement_group_carrier/README.rst @@ -0,0 +1,101 @@ +==================================== +Delivery Procurement Group Carrier +==================================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png + :target: https://odoo-community.org/page/development-status + :alt: Alpha +.. |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%2Fstock--logistics--workflow-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-workflow/tree/14.0/stock_picking_group_by_partner_by_carrier + :alt: OCA/stock-logistics-workflow +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-workflow-14-0/stock-logistics-workflow-14-0-stock_picking_group_by_partner_by_carrier + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/154/14.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This is a base module that propagates the SO carrier to the procurement group. + +Having the carrier on the procurement group allows to apply different routing +for each carrier thanks to the dynamic routing. A rule domain can then be +expressed based on the delivery carrier. See the module stock_dynamic_routing +in OCA/wms. + +The carrier on the procurement group is also used for grouping several SO in a +same delivery by carrier. See the module +stock_picking_group_by_partner_by_carrier in this repository. + +.. IMPORTANT:: + This is an alpha version, the data model and design can change at any time without warning. + Only for development or testing purpose, do not use in production. + `More details on development status `_ + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Camptocamp +* BCIM + +Contributors +~~~~~~~~~~~~ + +* Camptocamp: + * Alexandre Fayolle + * Thierry Ducrest +* BCIM: + * Jacques-Etienne Baudoux +* TROBZ: + * Phuc Tran Thanh + +Other credits +~~~~~~~~~~~~~ + +The development of this module has been financially supported by: + +* Camptocamp + +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/stock-logistics-workflow `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/delivery_procurement_group_carrier/__init__.py b/delivery_procurement_group_carrier/__init__.py new file mode 100644 index 000000000000..0650744f6bc6 --- /dev/null +++ b/delivery_procurement_group_carrier/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/delivery_procurement_group_carrier/__manifest__.py b/delivery_procurement_group_carrier/__manifest__.py new file mode 100644 index 000000000000..d185475f6274 --- /dev/null +++ b/delivery_procurement_group_carrier/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2020 Camptocamp +# Copyright 2020-2021 Jacques-Etienne Baudoux (BCIM) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + "name": "Delivery Procurement Group Carrier", + "Summary": "Record the carrier on the procurement group", + "version": "14.0.1.0.0", + "development_status": "Alpha", + "author": "Camptocamp, BCIM, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/stock-logistics-workflow", + "category": "Warehouse Management", + "depends": ["sale_stock", "delivery"], + "data": [ + "views/procurement_group.xml", + ], + "installable": True, + "license": "AGPL-3", +} diff --git a/delivery_procurement_group_carrier/models/__init__.py b/delivery_procurement_group_carrier/models/__init__.py new file mode 100644 index 000000000000..0ea2c68aa1bc --- /dev/null +++ b/delivery_procurement_group_carrier/models/__init__.py @@ -0,0 +1,2 @@ +from . import procurement_group +from . import sale_order diff --git a/delivery_procurement_group_carrier/models/procurement_group.py b/delivery_procurement_group_carrier/models/procurement_group.py new file mode 100644 index 000000000000..2019f12007ed --- /dev/null +++ b/delivery_procurement_group_carrier/models/procurement_group.py @@ -0,0 +1,11 @@ +# Copyright 2020 Camptocamp (https://www.camptocamp.com) +# Copyright 2020-2021 Jacques-Etienne Baudoux (BCIM) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models + + +class ProcurementGroup(models.Model): + _inherit = "procurement.group" + + carrier_id = fields.Many2one("delivery.carrier", string="Delivery Method") diff --git a/delivery_procurement_group_carrier/models/sale_order.py b/delivery_procurement_group_carrier/models/sale_order.py new file mode 100644 index 000000000000..d07012df625d --- /dev/null +++ b/delivery_procurement_group_carrier/models/sale_order.py @@ -0,0 +1,23 @@ +# Copyright 2020 Camptocamp (https://www.camptocamp.com) +# Copyright 2020-2021 Jacques-Etienne Baudoux (BCIM) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import models + + +class SaleOrder(models.Model): + _inherit = "sale.order" + + def action_draft(self): + res = super().action_draft() + self.procurement_group_id = False + return res + + +class SaleOrderLine(models.Model): + _inherit = "sale.order.line" + + def _prepare_procurement_group_vals(self): + vals = super()._prepare_procurement_group_vals() + vals["carrier_id"] = self.order_id.carrier_id.id + return vals diff --git a/delivery_procurement_group_carrier/readme/CONTRIBUTORS.rst b/delivery_procurement_group_carrier/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000000..671b1c1c193f --- /dev/null +++ b/delivery_procurement_group_carrier/readme/CONTRIBUTORS.rst @@ -0,0 +1,7 @@ +* Camptocamp: + * Alexandre Fayolle + * Thierry Ducrest +* BCIM: + * Jacques-Etienne Baudoux +* TROBZ: + * Phuc Tran Thanh diff --git a/delivery_procurement_group_carrier/readme/CREDITS.rst b/delivery_procurement_group_carrier/readme/CREDITS.rst new file mode 100644 index 000000000000..f5cc070c78ea --- /dev/null +++ b/delivery_procurement_group_carrier/readme/CREDITS.rst @@ -0,0 +1,3 @@ +The development of this module has been financially supported by: + +* Camptocamp diff --git a/delivery_procurement_group_carrier/readme/DESCRIPTION.rst b/delivery_procurement_group_carrier/readme/DESCRIPTION.rst new file mode 100644 index 000000000000..8823e25406b3 --- /dev/null +++ b/delivery_procurement_group_carrier/readme/DESCRIPTION.rst @@ -0,0 +1,10 @@ +This is a base module that propagates the SO carrier to the procurement group. + +Having the carrier on the procurement group allows to apply different routing +for each carrier thanks to the dynamic routing. A rule domain can then be +expressed based on the delivery carrier. See the module stock_dynamic_routing +in OCA/wms. + +The carrier on the procurement group is also used for grouping several SO in a +same delivery by carrier. See the module +stock_picking_group_by_partner_by_carrier in this repository. diff --git a/delivery_procurement_group_carrier/static/description/icon.png b/delivery_procurement_group_carrier/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_procurement_group_carrier/static/description/index.html b/delivery_procurement_group_carrier/static/description/index.html new file mode 100644 index 000000000000..f17266dc6974 --- /dev/null +++ b/delivery_procurement_group_carrier/static/description/index.html @@ -0,0 +1,468 @@ + + + + + + +Stock Picking: group by partner and carrier + + + +
+

Stock Picking: group by partner and carrier

+ + +

Alpha License: AGPL-3 OCA/stock-logistics-workflow Translate me on Weblate Try me on Runbot

+

This module can be used if your customers expect that several different orders +they passed will be shipped in a single delivery order.

+

With this module installed, when a sale order is confirmed, the stock moves for +the lines of the sale order can be placed in an existing delivery order that +shares the same delivery address and carrier (or lack thereof).

+

Sale orders with a Shipping Policy set to ‘When all products are ready’ always +get their own shipping.

+

When the delivery slip is printed, the list of pending quantities to deliver +is shown at the end, grouped by order.

+

The grouping can also be applied in case of external resupply. Moves at the +destination of the same delivery address defined on the resupply stock rule +will be grouped in a same delivery order.

+

Note: The grouping is currently not propagated to the pulled internal moves if +you don’t use the module stock_available_to_promise_release in the wms +repository.

+
+

Important

+

This is an alpha version, the data model and design can change at any time without warning. +Only for development or testing purpose, do not use in production. +More details on development status

+
+

Table of contents

+ +
+

Usage

+

To use this module you need to enable grouping on the picking types for which you want grouping.

+

If you want to enable this for the shippings of a warehouse:

+
    +
  • be sure that in the settings of the Inventory app, you checked “Manage Push +and Pull inventory flows”
  • +
  • enable “debug mode”
  • +
  • go to the warehouse for which you want grouping and check the setting “Group +Shippings”
  • +
+

You can also enable this for individual picking types by checking the setting +“Group Pickings” on the picking type view.

+
+
+

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

+
    +
  • Camptocamp
  • +
  • BCIM
  • +
+
+
+

Contributors

+ +
+
+

Other credits

+

The development of this module has been financially supported by:

+
    +
  • Camptocamp
  • +
+
+
+

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/stock-logistics-workflow project on GitHub.

+

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

+
+
+
+ + diff --git a/delivery_procurement_group_carrier/static/src/scss/report_delivery_slip.scss b/delivery_procurement_group_carrier/static/src/scss/report_delivery_slip.scss new file mode 100644 index 000000000000..90d99cc80012 --- /dev/null +++ b/delivery_procurement_group_carrier/static/src/scss/report_delivery_slip.scss @@ -0,0 +1,3 @@ +.remaining-to-deliver-separator { + background-color: #c6c6c6; +} diff --git a/delivery_procurement_group_carrier/tests/__init__.py b/delivery_procurement_group_carrier/tests/__init__.py new file mode 100644 index 000000000000..57c1b3fba877 --- /dev/null +++ b/delivery_procurement_group_carrier/tests/__init__.py @@ -0,0 +1 @@ +from . import test_carrier diff --git a/delivery_procurement_group_carrier/tests/test_carrier.py b/delivery_procurement_group_carrier/tests/test_carrier.py new file mode 100644 index 000000000000..f888434c6afa --- /dev/null +++ b/delivery_procurement_group_carrier/tests/test_carrier.py @@ -0,0 +1,45 @@ +# Copyright 2020 Camptocamp (https://www.camptocamp.com) +# Copyright 2020 Jacques-Etienne Baudoux (BCIM) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo.tests import tagged + +from odoo.addons.sale.tests.common import TestSaleCommonBase + + +@tagged("post_install", "-at_install") +class TestProcurementGroupCarrier(TestSaleCommonBase): + # FIXME: TestSale is very heavy and create tons of records w/ no tracking disable + # for every test. Move to SavepointCase! + def setUp(self): + super().setUp() + self.carrier1 = self.env["delivery.carrier"].create( + { + "name": "My Test Carrier", + "product_id": self.env.ref("delivery.product_product_delivery").id, + } + ) + self.partner = self.env["res.partner"].create({"name": "Test Partner"}) + + def test_sale_procurement_group_carrier(self): + """Check the SO procurement group contains the carrier on SO confirmation""" + product = self.env.ref("product.product_delivery_01") + sale_order_line_vals = { + "name": product.name, + "product_id": product.id, + "product_uom_qty": 1, + "product_uom": product.uom_id.id, + "price_unit": product.list_price, + } + sale_order_vals = { + "partner_id": self.partner.id, + "partner_invoice_id": self.partner.id, + "partner_shipping_id": self.partner.id, + "carrier_id": self.carrier1.id, + "order_line": [(0, 0, sale_order_line_vals)], + "pricelist_id": self.env.ref("product.list0").id, + } + so = self.env["sale.order"].create(sale_order_vals) + so.action_confirm() + self.assertTrue(so.picking_ids) + self.assertEqual(so.procurement_group_id.carrier_id, so.carrier_id) diff --git a/delivery_procurement_group_carrier/views/procurement_group.xml b/delivery_procurement_group_carrier/views/procurement_group.xml new file mode 100644 index 000000000000..09746589280a --- /dev/null +++ b/delivery_procurement_group_carrier/views/procurement_group.xml @@ -0,0 +1,13 @@ + + + + procurement.group.form + procurement.group + + + + + + + + From 8fc7369d872ad85ca61884bfe1ae091f50146037 Mon Sep 17 00:00:00 2001 From: oca-travis Date: Mon, 24 Jan 2022 14:44:09 +0000 Subject: [PATCH 02/15] [UPD] Update delivery_procurement_group_carrier.pot --- .../delivery_procurement_group_carrier.pot | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 delivery_procurement_group_carrier/i18n/delivery_procurement_group_carrier.pot diff --git a/delivery_procurement_group_carrier/i18n/delivery_procurement_group_carrier.pot b/delivery_procurement_group_carrier/i18n/delivery_procurement_group_carrier.pot new file mode 100644 index 000000000000..058eb9662f70 --- /dev/null +++ b/delivery_procurement_group_carrier/i18n/delivery_procurement_group_carrier.pot @@ -0,0 +1,55 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * delivery_procurement_group_carrier +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.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_procurement_group_carrier +#: model:ir.model.fields,field_description:delivery_procurement_group_carrier.field_procurement_group__carrier_id +msgid "Delivery Method" +msgstr "" + +#. module: delivery_procurement_group_carrier +#: model:ir.model.fields,field_description:delivery_procurement_group_carrier.field_procurement_group__display_name +#: model:ir.model.fields,field_description:delivery_procurement_group_carrier.field_sale_order__display_name +#: model:ir.model.fields,field_description:delivery_procurement_group_carrier.field_sale_order_line__display_name +msgid "Display Name" +msgstr "" + +#. module: delivery_procurement_group_carrier +#: model:ir.model.fields,field_description:delivery_procurement_group_carrier.field_procurement_group__id +#: model:ir.model.fields,field_description:delivery_procurement_group_carrier.field_sale_order__id +#: model:ir.model.fields,field_description:delivery_procurement_group_carrier.field_sale_order_line__id +msgid "ID" +msgstr "" + +#. module: delivery_procurement_group_carrier +#: model:ir.model.fields,field_description:delivery_procurement_group_carrier.field_procurement_group____last_update +#: model:ir.model.fields,field_description:delivery_procurement_group_carrier.field_sale_order____last_update +#: model:ir.model.fields,field_description:delivery_procurement_group_carrier.field_sale_order_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: delivery_procurement_group_carrier +#: model:ir.model,name:delivery_procurement_group_carrier.model_procurement_group +msgid "Procurement Group" +msgstr "" + +#. module: delivery_procurement_group_carrier +#: model:ir.model,name:delivery_procurement_group_carrier.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: delivery_procurement_group_carrier +#: model:ir.model,name:delivery_procurement_group_carrier.model_sale_order_line +msgid "Sales Order Line" +msgstr "" From 736f1af9daa9088d6a1848d00f837551483ad0cc Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 24 Jan 2022 14:52:28 +0000 Subject: [PATCH 03/15] [UPD] README.rst --- delivery_procurement_group_carrier/README.rst | 12 +-- .../static/description/index.html | 77 +++++++------------ 2 files changed, 34 insertions(+), 55 deletions(-) diff --git a/delivery_procurement_group_carrier/README.rst b/delivery_procurement_group_carrier/README.rst index 7bf9c98bbfc0..4b841e49d632 100644 --- a/delivery_procurement_group_carrier/README.rst +++ b/delivery_procurement_group_carrier/README.rst @@ -1,6 +1,6 @@ -==================================== +================================== Delivery Procurement Group Carrier -==================================== +================================== .. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! @@ -14,10 +14,10 @@ Delivery Procurement Group Carrier :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--workflow-lightgray.png?logo=github - :target: https://github.com/OCA/stock-logistics-workflow/tree/14.0/stock_picking_group_by_partner_by_carrier + :target: https://github.com/OCA/stock-logistics-workflow/tree/14.0/delivery_procurement_group_carrier :alt: OCA/stock-logistics-workflow .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/stock-logistics-workflow-14-0/stock-logistics-workflow-14-0-stock_picking_group_by_partner_by_carrier + :target: https://translation.odoo-community.org/projects/stock-logistics-workflow-14-0/stock-logistics-workflow-14-0-delivery_procurement_group_carrier :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png :target: https://runbot.odoo-community.org/runbot/154/14.0 @@ -52,7 +52,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. @@ -96,6 +96,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/stock-logistics-workflow `_ project on GitHub. +This module is part of the `OCA/stock-logistics-workflow `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/delivery_procurement_group_carrier/static/description/index.html b/delivery_procurement_group_carrier/static/description/index.html index f17266dc6974..acd6c4a0567c 100644 --- a/delivery_procurement_group_carrier/static/description/index.html +++ b/delivery_procurement_group_carrier/static/description/index.html @@ -4,7 +4,7 @@ -Stock Picking: group by partner and carrier +Delivery Procurement Group Carrier -
-

Stock Picking: group by partner and carrier

+
+

Delivery Procurement Group Carrier

-

Alpha License: AGPL-3 OCA/stock-logistics-workflow Translate me on Weblate Try me on Runbot

-

This module can be used if your customers expect that several different orders -they passed will be shipped in a single delivery order.

-

With this module installed, when a sale order is confirmed, the stock moves for -the lines of the sale order can be placed in an existing delivery order that -shares the same delivery address and carrier (or lack thereof).

-

Sale orders with a Shipping Policy set to ‘When all products are ready’ always -get their own shipping.

-

When the delivery slip is printed, the list of pending quantities to deliver -is shown at the end, grouped by order.

-

The grouping can also be applied in case of external resupply. Moves at the -destination of the same delivery address defined on the resupply stock rule -will be grouped in a same delivery order.

-

Note: The grouping is currently not propagated to the pulled internal moves if -you don’t use the module stock_available_to_promise_release in the wms -repository.

+

Alpha License: AGPL-3 OCA/stock-logistics-workflow Translate me on Weblate Try me on Runbot

+

This is a base module that propagates the SO carrier to the procurement group.

+

Having the carrier on the procurement group allows to apply different routing +for each carrier thanks to the dynamic routing. A rule domain can then be +expressed based on the delivery carrier. See the module stock_dynamic_routing +in OCA/wms.

+

The carrier on the procurement group is also used for grouping several SO in a +same delivery by carrier. See the module +stock_picking_group_by_partner_by_carrier in this repository.

Important

This is an alpha version, the data model and design can change at any time without warning. @@ -392,74 +385,60 @@

Stock Picking: group by partner and carrier

Table of contents

-
-

Usage

-

To use this module you need to enable grouping on the picking types for which you want grouping.

-

If you want to enable this for the shippings of a warehouse:

-
    -
  • be sure that in the settings of the Inventory app, you checked “Manage Push -and Pull inventory flows”
  • -
  • enable “debug mode”
  • -
  • go to the warehouse for which you want grouping and check the setting “Group -Shippings”
  • -
-

You can also enable this for individual picking types by checking the setting -“Group Pickings” on the picking type view.

-
-

Bug Tracker

+

Bug Tracker

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

+feedback.

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

-

Credits

+

Credits

-

Authors

+

Authors

  • Camptocamp
  • BCIM
-

Contributors

+

Contributors

-

Other credits

+

Other credits

The development of this module has been financially supported by:

  • Camptocamp
-

Maintainers

+

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/stock-logistics-workflow project on GitHub.

+

This module is part of the OCA/stock-logistics-workflow project on GitHub.

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

From ffb2ba7eed0ea1e916e1c3c7eac5ea696e976eb7 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 24 Jan 2022 14:52:30 +0000 Subject: [PATCH 04/15] delivery_procurement_group_carrier 14.0.1.1.0 --- delivery_procurement_group_carrier/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/delivery_procurement_group_carrier/__manifest__.py b/delivery_procurement_group_carrier/__manifest__.py index d185475f6274..e746ae33e904 100644 --- a/delivery_procurement_group_carrier/__manifest__.py +++ b/delivery_procurement_group_carrier/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Delivery Procurement Group Carrier", "Summary": "Record the carrier on the procurement group", - "version": "14.0.1.0.0", + "version": "14.0.1.1.0", "development_status": "Alpha", "author": "Camptocamp, BCIM, Odoo Community Association (OCA)", "website": "https://github.com/OCA/stock-logistics-workflow", From 49b90a3bb3b34661e6f0789d57e88123070fbc3e Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Thu, 15 Dec 2022 16:11:15 +0100 Subject: [PATCH 05/15] [MIG][16.0] delivery_procurement_group_carrier --- delivery_procurement_group_carrier/README.rst | 20 +++---- .../__manifest__.py | 5 +- .../models/__init__.py | 3 +- .../models/procurement_group.py | 2 +- .../models/sale_order.py | 11 +--- .../models/sale_order_line.py | 14 +++++ .../readme/CONTRIBUTORS.rst | 1 + .../static/description/index.html | 15 ++---- .../tests/test_carrier.py | 53 ++++++++++--------- 9 files changed, 62 insertions(+), 62 deletions(-) create mode 100644 delivery_procurement_group_carrier/models/sale_order_line.py diff --git a/delivery_procurement_group_carrier/README.rst b/delivery_procurement_group_carrier/README.rst index 4b841e49d632..f54817bf55f8 100644 --- a/delivery_procurement_group_carrier/README.rst +++ b/delivery_procurement_group_carrier/README.rst @@ -7,20 +7,20 @@ Delivery Procurement Group Carrier !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status - :alt: Alpha + :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%2Fstock--logistics--workflow-lightgray.png?logo=github - :target: https://github.com/OCA/stock-logistics-workflow/tree/14.0/delivery_procurement_group_carrier + :target: https://github.com/OCA/stock-logistics-workflow/tree/16.0/delivery_procurement_group_carrier :alt: OCA/stock-logistics-workflow .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/stock-logistics-workflow-14-0/stock-logistics-workflow-14-0-delivery_procurement_group_carrier + :target: https://translation.odoo-community.org/projects/stock-logistics-workflow-16-0/stock-logistics-workflow-16-0-delivery_procurement_group_carrier :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/154/14.0 + :target: https://runbot.odoo-community.org/runbot/154/16.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -36,11 +36,6 @@ The carrier on the procurement group is also used for grouping several SO in a same delivery by carrier. See the module stock_picking_group_by_partner_by_carrier in this repository. -.. IMPORTANT:: - This is an alpha version, the data model and design can change at any time without warning. - Only for development or testing purpose, do not use in production. - `More details on development status `_ - **Table of contents** .. contents:: @@ -52,7 +47,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. @@ -75,6 +70,7 @@ Contributors * Jacques-Etienne Baudoux * TROBZ: * Phuc Tran Thanh +* Denis Roussel Other credits ~~~~~~~~~~~~~ @@ -96,6 +92,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/stock-logistics-workflow `_ project on GitHub. +This module is part of the `OCA/stock-logistics-workflow `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/delivery_procurement_group_carrier/__manifest__.py b/delivery_procurement_group_carrier/__manifest__.py index e746ae33e904..1985bfe556c4 100644 --- a/delivery_procurement_group_carrier/__manifest__.py +++ b/delivery_procurement_group_carrier/__manifest__.py @@ -1,12 +1,11 @@ # Copyright 2020 Camptocamp # Copyright 2020-2021 Jacques-Etienne Baudoux (BCIM) -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). { "name": "Delivery Procurement Group Carrier", "Summary": "Record the carrier on the procurement group", - "version": "14.0.1.1.0", - "development_status": "Alpha", + "version": "16.0.1.0.0", "author": "Camptocamp, BCIM, Odoo Community Association (OCA)", "website": "https://github.com/OCA/stock-logistics-workflow", "category": "Warehouse Management", diff --git a/delivery_procurement_group_carrier/models/__init__.py b/delivery_procurement_group_carrier/models/__init__.py index 0ea2c68aa1bc..079c861f2afc 100644 --- a/delivery_procurement_group_carrier/models/__init__.py +++ b/delivery_procurement_group_carrier/models/__init__.py @@ -1,2 +1 @@ -from . import procurement_group -from . import sale_order +from . import procurement_group, sale_order, sale_order_line diff --git a/delivery_procurement_group_carrier/models/procurement_group.py b/delivery_procurement_group_carrier/models/procurement_group.py index 2019f12007ed..cb96a1198ca4 100644 --- a/delivery_procurement_group_carrier/models/procurement_group.py +++ b/delivery_procurement_group_carrier/models/procurement_group.py @@ -1,6 +1,6 @@ # Copyright 2020 Camptocamp (https://www.camptocamp.com) # Copyright 2020-2021 Jacques-Etienne Baudoux (BCIM) -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from odoo import fields, models diff --git a/delivery_procurement_group_carrier/models/sale_order.py b/delivery_procurement_group_carrier/models/sale_order.py index d07012df625d..6acf6ff486a9 100644 --- a/delivery_procurement_group_carrier/models/sale_order.py +++ b/delivery_procurement_group_carrier/models/sale_order.py @@ -1,6 +1,6 @@ # Copyright 2020 Camptocamp (https://www.camptocamp.com) # Copyright 2020-2021 Jacques-Etienne Baudoux (BCIM) -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from odoo import models @@ -12,12 +12,3 @@ def action_draft(self): res = super().action_draft() self.procurement_group_id = False return res - - -class SaleOrderLine(models.Model): - _inherit = "sale.order.line" - - def _prepare_procurement_group_vals(self): - vals = super()._prepare_procurement_group_vals() - vals["carrier_id"] = self.order_id.carrier_id.id - return vals diff --git a/delivery_procurement_group_carrier/models/sale_order_line.py b/delivery_procurement_group_carrier/models/sale_order_line.py new file mode 100644 index 000000000000..e0aec3f7f4a8 --- /dev/null +++ b/delivery_procurement_group_carrier/models/sale_order_line.py @@ -0,0 +1,14 @@ +# Copyright 2020 Camptocamp (https://www.camptocamp.com) +# Copyright 2020-2021 Jacques-Etienne Baudoux (BCIM) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from odoo import models + + +class SaleOrderLine(models.Model): + _inherit = "sale.order.line" + + def _prepare_procurement_group_vals(self): + vals = super()._prepare_procurement_group_vals() + vals["carrier_id"] = self.order_id.carrier_id.id + return vals diff --git a/delivery_procurement_group_carrier/readme/CONTRIBUTORS.rst b/delivery_procurement_group_carrier/readme/CONTRIBUTORS.rst index 671b1c1c193f..ac9dae465df6 100644 --- a/delivery_procurement_group_carrier/readme/CONTRIBUTORS.rst +++ b/delivery_procurement_group_carrier/readme/CONTRIBUTORS.rst @@ -5,3 +5,4 @@ * Jacques-Etienne Baudoux * TROBZ: * Phuc Tran Thanh +* Denis Roussel diff --git a/delivery_procurement_group_carrier/static/description/index.html b/delivery_procurement_group_carrier/static/description/index.html index acd6c4a0567c..4d303a9abe22 100644 --- a/delivery_procurement_group_carrier/static/description/index.html +++ b/delivery_procurement_group_carrier/static/description/index.html @@ -3,7 +3,7 @@ - + Delivery Procurement Group Carrier