From bf95db829ee77fb20d412cea4039657a39135c94 Mon Sep 17 00:00:00 2001 From: Thierry Ducrest Date: Thu, 10 Jun 2021 07:07:32 +0200 Subject: [PATCH] [13.0][ADD] 2 modules related to sale_order_line_position The module `sale_order_line_position` is on `sale_reporting`. First one `delivery_line_sale_line_position` adds the position number on the delivery report. And the second one `delivery_line_sale_line_position` is a glue module with `stock_picking_group_by_partner_by_carrier` and adds the position number on the remaining to deliver information. --- .travis.yml | 12 +++++ delivery_line_sale_line_position/__init__.py | 1 + .../__manifest__.py | 19 +++++++ .../models/__init__.py | 2 + .../models/stock_move.py | 12 +++++ .../models/stock_move_line.py | 12 +++++ .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 6 +++ .../report/report_deliveryslip.xml | 49 +++++++++++++++++++ .../views/stock_move.xml | 17 +++++++ .../views/stock_picking.xml | 20 ++++++++ oca_dependencies.txt | 1 + .../addons/delivery_line_sale_line_position | 1 + .../delivery_line_sale_line_position/setup.py | 6 +++ ...p_by_partner_by_carrier_sale_line_position | 1 + .../setup.py | 6 +++ .../__init__.py | 1 + .../__manifest__.py | 19 +++++++ .../models/__init__.py | 1 + .../models/stock_picking.py | 18 +++++++ .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 7 +++ .../report/report_deliveryslip.xml | 45 +++++++++++++++++ 23 files changed, 258 insertions(+) create mode 100644 delivery_line_sale_line_position/__init__.py create mode 100644 delivery_line_sale_line_position/__manifest__.py create mode 100644 delivery_line_sale_line_position/models/__init__.py create mode 100644 delivery_line_sale_line_position/models/stock_move.py create mode 100644 delivery_line_sale_line_position/models/stock_move_line.py create mode 100644 delivery_line_sale_line_position/readme/CONTRIBUTORS.rst create mode 100644 delivery_line_sale_line_position/readme/DESCRIPTION.rst create mode 100644 delivery_line_sale_line_position/report/report_deliveryslip.xml create mode 100644 delivery_line_sale_line_position/views/stock_move.xml create mode 100644 delivery_line_sale_line_position/views/stock_picking.xml create mode 120000 setup/delivery_line_sale_line_position/odoo/addons/delivery_line_sale_line_position create mode 100644 setup/delivery_line_sale_line_position/setup.py create mode 120000 setup/stock_picking_group_by_partner_by_carrier_sale_line_position/odoo/addons/stock_picking_group_by_partner_by_carrier_sale_line_position create mode 100644 setup/stock_picking_group_by_partner_by_carrier_sale_line_position/setup.py create mode 100644 stock_picking_group_by_partner_by_carrier_sale_line_position/__init__.py create mode 100644 stock_picking_group_by_partner_by_carrier_sale_line_position/__manifest__.py create mode 100644 stock_picking_group_by_partner_by_carrier_sale_line_position/models/__init__.py create mode 100644 stock_picking_group_by_partner_by_carrier_sale_line_position/models/stock_picking.py create mode 100644 stock_picking_group_by_partner_by_carrier_sale_line_position/readme/CONTRIBUTORS.rst create mode 100644 stock_picking_group_by_partner_by_carrier_sale_line_position/readme/DESCRIPTION.rst create mode 100644 stock_picking_group_by_partner_by_carrier_sale_line_position/report/report_deliveryslip.xml diff --git a/.travis.yml b/.travis.yml index adfc611..1aab316 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,12 +18,24 @@ stages: jobs: include: + # Separate tests because the depence stock_picking_group_by_partner_by_carrier + # clashes with other module in the repository. - stage: test env: - TESTS=1 ODOO_REPO="odoo/odoo" MAKEPOT="1" + INCLUDE="delivery_line_sale_line_position,stock_picking_group_by_partner_by_carrier_sale_line_position" - stage: test env: - TESTS=1 ODOO_REPO="OCA/OCB" + INCLUDE="delivery_line_sale_line_position,stock_picking_group_by_partner_by_carrier_sale_line_position" + - stage: test + env: + - TESTS=1 ODOO_REPO="odoo/odoo" MAKEPOT="1" + EXCLUDE="delivery_line_sale_line_position,stock_picking_group_by_partner_by_carrier_sale_line_position" + - stage: test + env: + - TESTS=1 ODOO_REPO="OCA/OCB" + EXCLUDE="delivery_line_sale_line_position,stock_picking_group_by_partner_by_carrier_sale_line_position" env: global: - VERSION="13.0" TESTS="0" LINT_CHECK="0" MAKEPOT="0" diff --git a/delivery_line_sale_line_position/__init__.py b/delivery_line_sale_line_position/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/delivery_line_sale_line_position/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/delivery_line_sale_line_position/__manifest__.py b/delivery_line_sale_line_position/__manifest__.py new file mode 100644 index 0000000..5fba36a --- /dev/null +++ b/delivery_line_sale_line_position/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2021 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +{ + "name": "Delivery Line Sale Line Position", + "summary": "Adds the sale line position to the delivery report lines", + "version": "13.0.1.0.0", + "category": "Delivery", + "author": "Camptocamp, Odoo Community Association (OCA)", + "license": "AGPL-3", + "website": "https://github.com/OCA/stock-logistics-reporting", + "depends": ["sale_order_line_position"], + "data": [ + "report/report_deliveryslip.xml", + "views/stock_move.xml", + "views/stock_picking.xml", + ], + "installable": True, +} diff --git a/delivery_line_sale_line_position/models/__init__.py b/delivery_line_sale_line_position/models/__init__.py new file mode 100644 index 0000000..f800274 --- /dev/null +++ b/delivery_line_sale_line_position/models/__init__.py @@ -0,0 +1,2 @@ +from . import stock_move +from . import stock_move_line diff --git a/delivery_line_sale_line_position/models/stock_move.py b/delivery_line_sale_line_position/models/stock_move.py new file mode 100644 index 0000000..1a09cd0 --- /dev/null +++ b/delivery_line_sale_line_position/models/stock_move.py @@ -0,0 +1,12 @@ +# Copyright 2021 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import fields, models + + +class StockMove(models.Model): + _inherit = "stock.move" + + position_sale_line = fields.Char( + related="sale_line_id.position_formatted", string="Position" + ) diff --git a/delivery_line_sale_line_position/models/stock_move_line.py b/delivery_line_sale_line_position/models/stock_move_line.py new file mode 100644 index 0000000..158f2f1 --- /dev/null +++ b/delivery_line_sale_line_position/models/stock_move_line.py @@ -0,0 +1,12 @@ +# Copyright 2021 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import fields, models + + +class StockMoveLine(models.Model): + _inherit = "stock.move.line" + + position_sale_line = fields.Char( + related="move_id.position_sale_line", string="Position" + ) diff --git a/delivery_line_sale_line_position/readme/CONTRIBUTORS.rst b/delivery_line_sale_line_position/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..0dd376f --- /dev/null +++ b/delivery_line_sale_line_position/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Thierry Ducrest diff --git a/delivery_line_sale_line_position/readme/DESCRIPTION.rst b/delivery_line_sale_line_position/readme/DESCRIPTION.rst new file mode 100644 index 0000000..7ad226d --- /dev/null +++ b/delivery_line_sale_line_position/readme/DESCRIPTION.rst @@ -0,0 +1,6 @@ +This module is build on top of the module `sale_order_line_position`. + +On the delivery report it adds a column with the `Postion` from the related +sale order line. + +The `Position` can also made visible int the stock picking view. diff --git a/delivery_line_sale_line_position/report/report_deliveryslip.xml b/delivery_line_sale_line_position/report/report_deliveryslip.xml new file mode 100644 index 0000000..3f370c9 --- /dev/null +++ b/delivery_line_sale_line_position/report/report_deliveryslip.xml @@ -0,0 +1,49 @@ + + + + diff --git a/delivery_line_sale_line_position/views/stock_move.xml b/delivery_line_sale_line_position/views/stock_move.xml new file mode 100644 index 0000000..8a8dfd2 --- /dev/null +++ b/delivery_line_sale_line_position/views/stock_move.xml @@ -0,0 +1,17 @@ + + + + + stock.move.line.operations.tree + stock.move.line + + + + + + + + + + + diff --git a/delivery_line_sale_line_position/views/stock_picking.xml b/delivery_line_sale_line_position/views/stock_picking.xml new file mode 100644 index 0000000..5bf97e9 --- /dev/null +++ b/delivery_line_sale_line_position/views/stock_picking.xml @@ -0,0 +1,20 @@ + + + + + stock.view.picking.form + stock.picking + + + + + + + + + + + diff --git a/oca_dependencies.txt b/oca_dependencies.txt index 931da65..4686d6c 100644 --- a/oca_dependencies.txt +++ b/oca_dependencies.txt @@ -1,3 +1,4 @@ # See https://github.com/OCA/odoo-community.org/blob/master/website/Contribution/CONTRIBUTING.rst#oca_dependencies-txt server-ux reporting-engine +sale-reporting diff --git a/setup/delivery_line_sale_line_position/odoo/addons/delivery_line_sale_line_position b/setup/delivery_line_sale_line_position/odoo/addons/delivery_line_sale_line_position new file mode 120000 index 0000000..d0aa2b9 --- /dev/null +++ b/setup/delivery_line_sale_line_position/odoo/addons/delivery_line_sale_line_position @@ -0,0 +1 @@ +../../../../delivery_line_sale_line_position \ No newline at end of file diff --git a/setup/delivery_line_sale_line_position/setup.py b/setup/delivery_line_sale_line_position/setup.py new file mode 100644 index 0000000..28c57bb --- /dev/null +++ b/setup/delivery_line_sale_line_position/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) diff --git a/setup/stock_picking_group_by_partner_by_carrier_sale_line_position/odoo/addons/stock_picking_group_by_partner_by_carrier_sale_line_position b/setup/stock_picking_group_by_partner_by_carrier_sale_line_position/odoo/addons/stock_picking_group_by_partner_by_carrier_sale_line_position new file mode 120000 index 0000000..b45bec0 --- /dev/null +++ b/setup/stock_picking_group_by_partner_by_carrier_sale_line_position/odoo/addons/stock_picking_group_by_partner_by_carrier_sale_line_position @@ -0,0 +1 @@ +../../../../stock_picking_group_by_partner_by_carrier_sale_line_position \ No newline at end of file diff --git a/setup/stock_picking_group_by_partner_by_carrier_sale_line_position/setup.py b/setup/stock_picking_group_by_partner_by_carrier_sale_line_position/setup.py new file mode 100644 index 0000000..28c57bb --- /dev/null +++ b/setup/stock_picking_group_by_partner_by_carrier_sale_line_position/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) diff --git a/stock_picking_group_by_partner_by_carrier_sale_line_position/__init__.py b/stock_picking_group_by_partner_by_carrier_sale_line_position/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/stock_picking_group_by_partner_by_carrier_sale_line_position/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/stock_picking_group_by_partner_by_carrier_sale_line_position/__manifest__.py b/stock_picking_group_by_partner_by_carrier_sale_line_position/__manifest__.py new file mode 100644 index 0000000..4e92ea8 --- /dev/null +++ b/stock_picking_group_by_partner_by_carrier_sale_line_position/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2021 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +{ + "name": "Stock Picking Group By Partner By Carrier Sale Line Position", + "summary": "Glue module for sale position and delivery report grouped", + "version": "13.0.1.0.0", + "category": "Delivery", + "author": "Camptocamp, Odoo Community Association (OCA)", + "license": "AGPL-3", + "website": "https://github.com/OCA/stock-logistics-reporting", + "depends": [ + "delivery_line_sale_line_position", + "stock_picking_group_by_partner_by_carrier", + ], + "data": ["report/report_deliveryslip.xml"], + "installable": True, + "auto_install": True, +} diff --git a/stock_picking_group_by_partner_by_carrier_sale_line_position/models/__init__.py b/stock_picking_group_by_partner_by_carrier_sale_line_position/models/__init__.py new file mode 100644 index 0000000..ae4c272 --- /dev/null +++ b/stock_picking_group_by_partner_by_carrier_sale_line_position/models/__init__.py @@ -0,0 +1 @@ +from . import stock_picking diff --git a/stock_picking_group_by_partner_by_carrier_sale_line_position/models/stock_picking.py b/stock_picking_group_by_partner_by_carrier_sale_line_position/models/stock_picking.py new file mode 100644 index 0000000..b018760 --- /dev/null +++ b/stock_picking_group_by_partner_by_carrier_sale_line_position/models/stock_picking.py @@ -0,0 +1,18 @@ +# Copyright 2021 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) + +from odoo import models + + +class StockPicking(models.Model): + _inherit = "stock.picking" + + def _get_sorted_moves(self): + self.ensure_one() + return self.move_lines.sorted( + lambda m: m.sale_line_id.order_id.id * 1000 + m.sale_line_id.position + ) + + def _get_sorted_move_lines(self): + self.ensure_one() + return self.move_line_ids.sorted(lambda l: l.move_id.sale_line_id.position) diff --git a/stock_picking_group_by_partner_by_carrier_sale_line_position/readme/CONTRIBUTORS.rst b/stock_picking_group_by_partner_by_carrier_sale_line_position/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..0dd376f --- /dev/null +++ b/stock_picking_group_by_partner_by_carrier_sale_line_position/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Thierry Ducrest diff --git a/stock_picking_group_by_partner_by_carrier_sale_line_position/readme/DESCRIPTION.rst b/stock_picking_group_by_partner_by_carrier_sale_line_position/readme/DESCRIPTION.rst new file mode 100644 index 0000000..9a65e3f --- /dev/null +++ b/stock_picking_group_by_partner_by_carrier_sale_line_position/readme/DESCRIPTION.rst @@ -0,0 +1,7 @@ +This is a glue module for the sale line position on the delivery report +and the module `stock_picking_group_by_partner_by_carrier`. + +It ensures that on the delivery report the position column is displayed +only if some positions exist. +And also adds the sale line position on the remaining to deliver list at +the bottom of the report. diff --git a/stock_picking_group_by_partner_by_carrier_sale_line_position/report/report_deliveryslip.xml b/stock_picking_group_by_partner_by_carrier_sale_line_position/report/report_deliveryslip.xml new file mode 100644 index 0000000..cdbaf92 --- /dev/null +++ b/stock_picking_group_by_partner_by_carrier_sale_line_position/report/report_deliveryslip.xml @@ -0,0 +1,45 @@ + + + + + + + +