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 @@ + + + + + + + +