From 89574a2846654648bd909f272f0f26e1c9a38ac0 Mon Sep 17 00:00:00 2001 From: Thierry Ducrest Date: Thu, 8 Jun 2023 09:45:36 +0200 Subject: [PATCH 01/35] Add shopfloor_reception_packaging_dimension --- .../__init__.py | 3 + .../__manifest__.py | 16 ++ .../hooks.py | 40 ++++ .../models/__init__.py | 1 + .../models/shopfloor_menu.py | 24 +++ .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 5 + .../services/__init__.py | 1 + .../services/reception.py | 197 ++++++++++++++++++ .../tests/__init__.py | 1 + .../tests/test_set_package_dimension.py | 160 ++++++++++++++ .../views/shopfloor_menu.xml | 20 ++ 12 files changed, 469 insertions(+) create mode 100644 shopfloor_reception_packaging_dimension/__init__.py create mode 100644 shopfloor_reception_packaging_dimension/__manifest__.py create mode 100644 shopfloor_reception_packaging_dimension/hooks.py create mode 100644 shopfloor_reception_packaging_dimension/models/__init__.py create mode 100644 shopfloor_reception_packaging_dimension/models/shopfloor_menu.py create mode 100644 shopfloor_reception_packaging_dimension/readme/CONTRIBUTORS.rst create mode 100644 shopfloor_reception_packaging_dimension/readme/DESCRIPTION.rst create mode 100644 shopfloor_reception_packaging_dimension/services/__init__.py create mode 100644 shopfloor_reception_packaging_dimension/services/reception.py create mode 100644 shopfloor_reception_packaging_dimension/tests/__init__.py create mode 100644 shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py create mode 100644 shopfloor_reception_packaging_dimension/views/shopfloor_menu.xml diff --git a/shopfloor_reception_packaging_dimension/__init__.py b/shopfloor_reception_packaging_dimension/__init__.py new file mode 100644 index 00000000000..e7386302bbe --- /dev/null +++ b/shopfloor_reception_packaging_dimension/__init__.py @@ -0,0 +1,3 @@ +from .hooks import post_init_hook, uninstall_hook +from . import models +from . import services diff --git a/shopfloor_reception_packaging_dimension/__manifest__.py b/shopfloor_reception_packaging_dimension/__manifest__.py new file mode 100644 index 00000000000..08566851e0f --- /dev/null +++ b/shopfloor_reception_packaging_dimension/__manifest__.py @@ -0,0 +1,16 @@ +{ + "name": "Shopfloor Reception Packaging Dimension", + "summary": "Collect Packaging Dimension from the Reception scenario", + "version": "14.0.1.0.0", + "development_status": "Beta", + "category": "Inventory", + "website": "https://github.com/OCA/wms", + "author": "Camptocamp, Odoo Community Association (OCA)", + "maintainers": ["TDu"], + "license": "AGPL-3", + "installable": True, + "depends": ["shopfloor_reception"], + "data": ["views/shopfloor_menu.xml"], + "post_init_hook": "post_init_hook", + "uninstall_hook": "uninstall_hook", +} diff --git a/shopfloor_reception_packaging_dimension/hooks.py b/shopfloor_reception_packaging_dimension/hooks.py new file mode 100644 index 00000000000..00c46969c7f --- /dev/null +++ b/shopfloor_reception_packaging_dimension/hooks.py @@ -0,0 +1,40 @@ +# Copyright 2023 Camptocamp SA (http://www.camptocamp.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +import json +import logging + +from odoo import SUPERUSER_ID, api + +from odoo.addons.shopfloor_base.utils import purge_endpoints, register_new_services + +from .services.reception import Reception as Service + +_logger = logging.getLogger(__file__) + + +def post_init_hook(cr, registry): + _logger.info("Add set packaging dimension option on reception scenario") + env = api.Environment(cr, SUPERUSER_ID, {}) + scenario = env.ref("shopfloor_reception.scenario_reception") + options = scenario.options + options.update({"set_packaging_dimension": True}) + scenario.options_edit = json.dumps(options) + # The service imported is extending an existing component + # As it is a simple python import the odoo inheritance is not working + # So it needs to be fix + Service._usage = "reception" + Service._name = "shopfloor.reception" + register_new_services(env, Service) + + +def uninstall_hook(cr, registry): + _logger.info("Remove set packaging dimension option on reception scenario") + env = api.Environment(cr, SUPERUSER_ID, {}) + scenario = env.ref("shopfloor_reception.scenario_reception") + options = scenario.options + if "set_packaging_dimension" in options.keys(): + options.pop("set_packaging_dimension") + scenario.options_edit = json.dumps(options) + Service._usage = "reception" + purge_endpoints(env, Service._usage, endpoint="set_packaging_dimension") diff --git a/shopfloor_reception_packaging_dimension/models/__init__.py b/shopfloor_reception_packaging_dimension/models/__init__.py new file mode 100644 index 00000000000..8bd3d5195ca --- /dev/null +++ b/shopfloor_reception_packaging_dimension/models/__init__.py @@ -0,0 +1 @@ +from . import shopfloor_menu diff --git a/shopfloor_reception_packaging_dimension/models/shopfloor_menu.py b/shopfloor_reception_packaging_dimension/models/shopfloor_menu.py new file mode 100644 index 00000000000..6cf71a58de0 --- /dev/null +++ b/shopfloor_reception_packaging_dimension/models/shopfloor_menu.py @@ -0,0 +1,24 @@ +# Copyright 2023 Camptocamp SA (http://www.camptocamp.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from odoo import api, fields, models + + +class ShopfloorMenu(models.Model): + _inherit = "shopfloor.menu" + + set_packaging_dimension_is_possible = fields.Boolean( + compute="_compute_set_packaging_dimension_is_possible" + ) + set_packaging_dimension = fields.Boolean( + string="Set packaging dimension", + default=False, + help="If for the product being processed, its related packaging " + "dimension are not set, ask to fill them up.", + ) + + @api.depends("scenario_id") + def _compute_set_packaging_dimension_is_possible(self): + for menu in self: + menu.set_packaging_dimension_is_possible = menu.scenario_id.has_option( + "set_packaging_dimension" + ) diff --git a/shopfloor_reception_packaging_dimension/readme/CONTRIBUTORS.rst b/shopfloor_reception_packaging_dimension/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000000..0dd376faecb --- /dev/null +++ b/shopfloor_reception_packaging_dimension/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Thierry Ducrest diff --git a/shopfloor_reception_packaging_dimension/readme/DESCRIPTION.rst b/shopfloor_reception_packaging_dimension/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..fe5faf19ae4 --- /dev/null +++ b/shopfloor_reception_packaging_dimension/readme/DESCRIPTION.rst @@ -0,0 +1,5 @@ +This module adds an option to the reception scenario. +When activated. Before setting the quantity for the reception, +if there is product packaging related to the product received with +missing information, the user will be presented with a screen +(for each packaging) proposing to update the missing information. diff --git a/shopfloor_reception_packaging_dimension/services/__init__.py b/shopfloor_reception_packaging_dimension/services/__init__.py new file mode 100644 index 00000000000..aa19bba8ce4 --- /dev/null +++ b/shopfloor_reception_packaging_dimension/services/__init__.py @@ -0,0 +1 @@ +from . import reception diff --git a/shopfloor_reception_packaging_dimension/services/reception.py b/shopfloor_reception_packaging_dimension/services/reception.py new file mode 100644 index 00000000000..ccb43afa548 --- /dev/null +++ b/shopfloor_reception_packaging_dimension/services/reception.py @@ -0,0 +1,197 @@ +# Copyright 2023 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo.addons.base_rest.components.service import to_int +from odoo.addons.component.core import Component +from odoo.addons.shopfloor.utils import to_float + + +class Reception(Component): + _inherit = "shopfloor.reception" + + packaging_update_done = False + + def _before_state__set_quantity(self, picking, line, message=None): + """Show the packaging dimension screen before the set quantity screen.""" + if self.work.menu.set_packaging_dimension and not self.packaging_update_done: + packaging = self._get_next_packaging_to_set_dimension(line.product_id) + if packaging: + return self._response_for_set_packaging_dimension( + picking, line, packaging, message=message + ) + return super()._before_state__set_quantity(picking, line, message=message) + + def _get_next_packaging_to_set_dimension(self, product, previous_packaging=None): + """Return for a product the next packaging needing dimension to be set.""" + next_packaging_id = previous_packaging.id + 1 if previous_packaging else 0 + domain = [ + ("product_id", "=", product.id), + ("id", ">=", next_packaging_id), + "|", + "|", + "|", + "|", + "|", + "|", + "|", + "|", + "|", + "|", + ("packaging_length", "=", 0), + ("packaging_length", "=", False), + ("width", "=", 0), + ("width", "=", False), + ("height", "=", 0), + ("height", "=", False), + ("max_weight", "=", 0), + ("max_weight", "=", False), + ("qty", "=", 0), + ("qty", "=", False), + ("barcode", "=", False), + ] + return self.env["product.packaging"].search(domain, order="id", limit=1) + + def _response_for_set_packaging_dimension( + self, picking, line, packaging, message=None + ): + return self._response( + next_state="set_packaging_dimension", + data={ + "picking": self.data.picking(picking), + "selected_move_line": self.data.move_line(line), + "packaging": self.data_detail.packaging_detail(packaging), + }, + message=message, + ) + + def set_packaging_dimension( + self, picking_id, selected_line_id, packaging_id, cancel=False, **kwargs + ): + """Set the dimension on a product packaging. + + If the user cancel the dimension update we still propose the next + possible packgaging. + + Transitions: + - set_packaging_dimension: if more packaging needs dimension + - set_quantity: otherwise + """ + picking = self.env["stock.picking"].browse(picking_id) + selected_line = self.env["stock.move.line"].browse(selected_line_id) + packaging = self.env["product.packaging"].sudo().browse(packaging_id) + message = None + next_packaging = None + if not packaging: + message = self.msg_store.record_not_found() + elif not cancel and self._check_dimension_to_update(kwargs): + self._update_packaging_dimension(packaging, kwargs) + message = self.msg_store.packaging_dimension_updated(packaging) + + if packaging: + next_packaging = self._get_next_packaging_to_set_dimension( + selected_line.product_id, packaging + ) + if next_packaging: + return self._response_for_set_packaging_dimension( + picking, selected_line, next_packaging, message=message + ) + self.packaging_update_done = True + return self._before_state__set_quantity(picking, selected_line, message=message) + + def _check_dimension_to_update(self, dimensions): + """Return True if there is any dimension that needs to be updated on the packaging.""" + return any([value is not None for key, value in dimensions.items()]) + + def _get_dimension_fields_conversion_map(self): + return {"length": "packaging_length"} + + def _update_packaging_dimension(self, packaging, dimensions_to_update): + """Update dimension on the packaging.""" + fields_conv_map = self._get_dimension_fields_conversion_map() + for dimension, value in dimensions_to_update.items(): + if value is not None: + dimension = fields_conv_map.get(dimension, dimension) + packaging[dimension] = value + + +class ShopfloorReceptionValidator(Component): + _inherit = "shopfloor.reception.validator" + + def set_packaging_dimension(self): + return { + "picking_id": {"coerce": to_int, "required": True, "type": "integer"}, + "selected_line_id": { + "coerce": to_int, + "required": True, + "type": "integer", + }, + "packaging_id": {"coerce": to_int, "required": True, "type": "integer"}, + "height": { + "coerce": to_float, + "required": False, + "type": "float", + "nullable": True, + }, + "length": { + "coerce": to_float, + "required": False, + "type": "float", + "nullable": True, + }, + "width": { + "coerce": to_float, + "required": False, + "type": "float", + "nullable": True, + }, + "max_weight": { + "coerce": to_float, + "required": False, + "type": "float", + "nullable": True, + }, + "shipping_weight": { + "coerce": to_float, + "required": False, + "type": "float", + "nullable": True, + }, + "qty": { + "coerce": to_float, + "required": False, + "type": "float", + "nullable": True, + }, + "barcode": {"type": "string", "required": False, "nullable": True}, + "cancel": {"type": "boolean"}, + } + + +class ShopfloorReceptionValidatorResponse(Component): + _inherit = "shopfloor.reception.validator.response" + + def _states(self): + res = super()._states() + res.update({"set_packaging_dimension": self._schema_set_packaging_dimension}) + return res + + def _scan_line_next_states(self): + res = super()._scan_line_next_states() + res.update({"set_packaging_dimension"}) + return res + + def _set_lot_confirm_action_next_states(self): + res = super()._set_lot_confirm_action_next_states() + res.update({"set_packaging_dimension"}) + return res + + @property + def _schema_set_packaging_dimension(self): + return { + "picking": {"type": "dict", "schema": self.schemas.picking()}, + "selected_move_line": {"type": "dict", "schema": self.schemas.move_line()}, + "packaging": { + "type": "dict", + "schema": self.schemas_detail.packaging_detail(), + }, + } diff --git a/shopfloor_reception_packaging_dimension/tests/__init__.py b/shopfloor_reception_packaging_dimension/tests/__init__.py new file mode 100644 index 00000000000..2c166ca4fd7 --- /dev/null +++ b/shopfloor_reception_packaging_dimension/tests/__init__.py @@ -0,0 +1 @@ +from . import test_set_package_dimension diff --git a/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py b/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py new file mode 100644 index 00000000000..52248ee2a1c --- /dev/null +++ b/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py @@ -0,0 +1,160 @@ +# Copyright 2023 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo.addons.shopfloor_reception.tests.common import CommonCase + + +class TestSetPackDimension(CommonCase): + @classmethod + def setUpClassBaseData(cls): + super().setUpClassBaseData() + # Activate the option to use the module + cls.menu.sudo().set_packaging_dimension = True + cls.picking = cls._create_picking( + lines=[(cls.product_a, 10), (cls.product_b, 10), (cls.product_c, 10)] + ) + # Picking has 3 products + # Product A with one packaging + # Product B with no packaging + cls.product_b.packaging_ids = [(5, 0, 0)] + # Product C with 2 packaging + cls.product_c_packaging_2 = ( + cls.env["product.packaging"] + .sudo() + .create( + { + "name": "Big Box", + "product_id": cls.product_c.id, + "barcode": "ProductCBigBox", + "qty": 6, + } + ) + ) + + cls.line_with_packaging = cls.picking.move_line_ids[0] + cls.line_without_packaging = cls.picking.move_line_ids[1] + + def _assert_response_set_dimension( + self, response, picking, line, packaging, message=None + ): + data = { + "picking": self.data.picking(picking), + "selected_move_line": self.data.move_line(line), + "packaging": self.data_detail.packaging_detail(packaging), + } + self.assert_response( + response, + next_state="set_packaging_dimension", + data=data, + message=message, + ) + + def test_scan_product_ask_for_dimension(self): + self.product_a.tracking = "none" + # self._add_package(self.picking) + self.assertTrue(self.product_a.packaging_ids) + response = self.service.dispatch( + "scan_line", + params={ + "picking_id": self.picking.id, + "barcode": self.product_a.barcode, + }, + ) + self.data.picking(self.picking) + selected_move_line = self.picking.move_line_ids.filtered( + lambda l: l.product_id == self.product_a + ) + self._assert_response_set_dimension( + response, self.picking, selected_move_line, self.product_a_packaging + ) + + # TODO : Have questions on how the lot information is commited by the frontend + # + # def test_scan_lot_ask_for_dimension(self): + # self.product_a.tracking = "none" + # self.assertTrue(self.product_a.packaging_ids) + # response = self.service.dispatch( + # "set_lot_confirmation_action", + # params={ + # "picking_id": self.picking.id, + # "barcode": self.product_a.barcode, + # }, + # ) + # self.data.picking(self.picking) + # selected_move_line = self.picking.move_line_ids.filtered( + # lambda l: l.product_id == self.product_a + # ) + # self._assert_response_set_dimension( + # response, self.picking, selected_move_line, self.product_a_packaging + # ) + + def test_set_packaging_dimension(self): + selected_move_line = self.picking.move_line_ids.filtered( + lambda l: l.product_id == self.product_a + ) + self.service.dispatch( + "set_packaging_dimension", + params={ + "picking_id": self.picking.id, + "selected_line_id": selected_move_line.id, + "packaging_id": self.product_a_packaging.id, + "height": 55, + "qty": 34, + "barcode": "barcode", + }, + ) + self.assertEqual(self.product_a_packaging.height, 55) + self.assertEqual(self.product_a_packaging.barcode, "barcode") + self.assertEqual(self.product_a_packaging.qty, 34) + + def test_set_multiple_packaging_dimension(self): + line = self.picking.move_line_ids.filtered( + lambda l: l.product_id == self.product_c + ) + # Set the weight but other dimension are required + self.product_c_packaging_2.max_weight = 200 + response = self.service.dispatch( + "set_packaging_dimension", + params={ + "picking_id": self.picking.id, + "selected_line_id": line.id, + "packaging_id": self.product_c_packaging.id, + "height": 55, + "length": 233, + }, + ) + self.assertEqual(self.product_c_packaging.height, 55) + self.assertEqual(self.product_c_packaging.packaging_length, 233) + self._assert_response_set_dimension( + response, + self.picking, + line, + self.product_c_packaging_2, + message=self.msg_store.packaging_dimension_updated( + self.product_c_packaging + ), + ) + response = self.service.dispatch( + "set_packaging_dimension", + params={ + "picking_id": self.picking.id, + "selected_line_id": line.id, + "packaging_id": self.product_c_packaging_2.id, + "height": 200, + "max_weight": 1000, + }, + ) + self.assertEqual(self.product_c_packaging_2.height, 200) + self.assertEqual(self.product_c_packaging_2.max_weight, 1000) + self.assert_response( + response, + next_state="set_quantity", + data={ + "picking": self.data.picking(self.picking), + "selected_move_line": self.data.move_lines(line), + "confirmation_required": False, + }, + message=self.msg_store.packaging_dimension_updated( + self.product_c_packaging_2 + ), + ) diff --git a/shopfloor_reception_packaging_dimension/views/shopfloor_menu.xml b/shopfloor_reception_packaging_dimension/views/shopfloor_menu.xml new file mode 100644 index 00000000000..9c0f6502406 --- /dev/null +++ b/shopfloor_reception_packaging_dimension/views/shopfloor_menu.xml @@ -0,0 +1,20 @@ + + + + shopfloor.menu + + + + + + + + + + + + + From 3e95e3853fbe24d88d28a27d962ab14c9835371b Mon Sep 17 00:00:00 2001 From: Thierry Ducrest Date: Tue, 11 Jul 2023 08:06:26 +0200 Subject: [PATCH 02/35] sh_reception_packaging_dimension: refactor to allow module to extend --- .../services/reception.py | 44 +++++++++---------- .../tests/test_set_package_dimension.py | 39 ++++++++-------- 2 files changed, 42 insertions(+), 41 deletions(-) diff --git a/shopfloor_reception_packaging_dimension/services/reception.py b/shopfloor_reception_packaging_dimension/services/reception.py index ccb43afa548..b87458df11b 100644 --- a/shopfloor_reception_packaging_dimension/services/reception.py +++ b/shopfloor_reception_packaging_dimension/services/reception.py @@ -1,6 +1,8 @@ # Copyright 2023 Camptocamp SA # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) +from odoo.osv import expression + from odoo.addons.base_rest.components.service import to_int from odoo.addons.component.core import Component from odoo.addons.shopfloor.utils import to_float @@ -21,34 +23,32 @@ def _before_state__set_quantity(self, picking, line, message=None): ) return super()._before_state__set_quantity(picking, line, message=message) + def _get_domain_packaging_needs_dimension(self): + return expression.OR( + [ + [("packaging_length", "=", 0)], + [("packaging_length", "=", False)], + [("width", "=", 0)], + [("width", "=", False)], + [("height", "=", 0)], + [("height", "=", False)], + [("max_weight", "=", 0)], + [("max_weight", "=", False)], + [("qty", "=", 0)], + [("qty", "=", False)], + [("barcode", "=", False)], + ] + ) + def _get_next_packaging_to_set_dimension(self, product, previous_packaging=None): """Return for a product the next packaging needing dimension to be set.""" next_packaging_id = previous_packaging.id + 1 if previous_packaging else 0 - domain = [ + domain_dimension = self._get_domain_packaging_needs_dimension() + domain_packaging_id = [ ("product_id", "=", product.id), ("id", ">=", next_packaging_id), - "|", - "|", - "|", - "|", - "|", - "|", - "|", - "|", - "|", - "|", - ("packaging_length", "=", 0), - ("packaging_length", "=", False), - ("width", "=", 0), - ("width", "=", False), - ("height", "=", 0), - ("height", "=", False), - ("max_weight", "=", 0), - ("max_weight", "=", False), - ("qty", "=", 0), - ("qty", "=", False), - ("barcode", "=", False), ] + domain = expression.AND([domain_packaging_id, domain_dimension]) return self.env["product.packaging"].search(domain, order="id", limit=1) def _response_for_set_packaging_dimension( diff --git a/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py b/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py index 52248ee2a1c..64c6fae5531 100644 --- a/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py +++ b/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py @@ -68,25 +68,26 @@ def test_scan_product_ask_for_dimension(self): response, self.picking, selected_move_line, self.product_a_packaging ) - # TODO : Have questions on how the lot information is commited by the frontend - # - # def test_scan_lot_ask_for_dimension(self): - # self.product_a.tracking = "none" - # self.assertTrue(self.product_a.packaging_ids) - # response = self.service.dispatch( - # "set_lot_confirmation_action", - # params={ - # "picking_id": self.picking.id, - # "barcode": self.product_a.barcode, - # }, - # ) - # self.data.picking(self.picking) - # selected_move_line = self.picking.move_line_ids.filtered( - # lambda l: l.product_id == self.product_a - # ) - # self._assert_response_set_dimension( - # response, self.picking, selected_move_line, self.product_a_packaging - # ) + def test_scan_lot_ask_for_dimension(self): + self.product_a.tracking = "none" + selected_move_line = self.picking.move_line_ids.filtered( + lambda l: l.product_id == self.product_a + ) + self.assertTrue(self.product_a.packaging_ids) + response = self.service.dispatch( + "set_lot_confirm_action", + params={ + "picking_id": self.picking.id, + "selected_line_id": selected_move_line.id, + }, + ) + self.data.picking(self.picking) + selected_move_line = self.picking.move_line_ids.filtered( + lambda l: l.product_id == self.product_a + ) + self._assert_response_set_dimension( + response, self.picking, selected_move_line, self.product_a_packaging + ) def test_set_packaging_dimension(self): selected_move_line = self.picking.move_line_ids.filtered( From fd84c263de0469ec1fc76a925d524c98a7c46f06 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 7 Nov 2023 09:11:11 +0000 Subject: [PATCH 03/35] [UPD] Update shopfloor_reception_packaging_dimension.pot [BOT] post-merge updates --- .../README.rst | 88 ++++ .../__manifest__.py | 2 +- ...hopfloor_reception_packaging_dimension.pot | 51 +++ .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 427 ++++++++++++++++++ 5 files changed, 567 insertions(+), 1 deletion(-) create mode 100644 shopfloor_reception_packaging_dimension/README.rst create mode 100644 shopfloor_reception_packaging_dimension/i18n/shopfloor_reception_packaging_dimension.pot create mode 100644 shopfloor_reception_packaging_dimension/static/description/icon.png create mode 100644 shopfloor_reception_packaging_dimension/static/description/index.html diff --git a/shopfloor_reception_packaging_dimension/README.rst b/shopfloor_reception_packaging_dimension/README.rst new file mode 100644 index 00000000000..07f6e6c1cc5 --- /dev/null +++ b/shopfloor_reception_packaging_dimension/README.rst @@ -0,0 +1,88 @@ +======================================= +Shopfloor Reception Packaging Dimension +======================================= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:4d3c2af063d1415c5bc210b307d100dbda547800882cfc9074b28258676267dc + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Fwms-lightgray.png?logo=github + :target: https://github.com/OCA/wms/tree/14.0/shopfloor_reception_packaging_dimension + :alt: OCA/wms +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/wms-14-0/wms-14-0-shopfloor_reception_packaging_dimension + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/wms&target_branch=14.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module adds an option to the reception scenario. +When activated. Before setting the quantity for the reception, +if there is product packaging related to the product received with +missing information, the user will be presented with a screen +(for each packaging) proposing to update the missing information. + +**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 to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Camptocamp + +Contributors +~~~~~~~~~~~~ + +* Thierry Ducrest + +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. + +.. |maintainer-TDu| image:: https://github.com/TDu.png?size=40px + :target: https://github.com/TDu + :alt: TDu + +Current `maintainer `__: + +|maintainer-TDu| + +This module is part of the `OCA/wms `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/shopfloor_reception_packaging_dimension/__manifest__.py b/shopfloor_reception_packaging_dimension/__manifest__.py index 08566851e0f..fc2bd47160e 100644 --- a/shopfloor_reception_packaging_dimension/__manifest__.py +++ b/shopfloor_reception_packaging_dimension/__manifest__.py @@ -1,7 +1,7 @@ { "name": "Shopfloor Reception Packaging Dimension", "summary": "Collect Packaging Dimension from the Reception scenario", - "version": "14.0.1.0.0", + "version": "14.0.1.1.0", "development_status": "Beta", "category": "Inventory", "website": "https://github.com/OCA/wms", diff --git a/shopfloor_reception_packaging_dimension/i18n/shopfloor_reception_packaging_dimension.pot b/shopfloor_reception_packaging_dimension/i18n/shopfloor_reception_packaging_dimension.pot new file mode 100644 index 00000000000..816d3285327 --- /dev/null +++ b/shopfloor_reception_packaging_dimension/i18n/shopfloor_reception_packaging_dimension.pot @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * shopfloor_reception_packaging_dimension +# +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: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu__display_name +msgid "Display Name" +msgstr "" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu__id +msgid "ID" +msgstr "" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_shopfloor_menu__set_packaging_dimension +msgid "" +"If for the product being processed, its related packaging dimension are not " +"set, ask to fill them up." +msgstr "" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu____last_update +msgid "Last Modified on" +msgstr "" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model,name:shopfloor_reception_packaging_dimension.model_shopfloor_menu +msgid "Menu displayed in the scanner application" +msgstr "" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu__set_packaging_dimension_is_possible +msgid "Set Packaging Dimension Is Possible" +msgstr "" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu__set_packaging_dimension +msgid "Set packaging dimension" +msgstr "" diff --git a/shopfloor_reception_packaging_dimension/static/description/icon.png b/shopfloor_reception_packaging_dimension/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/shopfloor_reception_packaging_dimension/static/description/index.html b/shopfloor_reception_packaging_dimension/static/description/index.html new file mode 100644 index 00000000000..2a11932ca13 --- /dev/null +++ b/shopfloor_reception_packaging_dimension/static/description/index.html @@ -0,0 +1,427 @@ + + + + + + +Shopfloor Reception Packaging Dimension + + + +
+

Shopfloor Reception Packaging Dimension

+ + +

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

+

This module adds an option to the reception scenario. +When activated. Before setting the quantity for the reception, +if there is product packaging related to the product received with +missing information, the user will be presented with a screen +(for each packaging) proposing to update the missing information.

+

Table of contents

+ +
+

Bug Tracker

+

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

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Camptocamp
  • +
+
+
+

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.

+

Current maintainer:

+

TDu

+

This module is part of the OCA/wms project on GitHub.

+

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

+
+
+
+ + From 01b6520df2fae687162502fd60a399f2bc54aa40 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 7 Nov 2023 13:10:05 +0000 Subject: [PATCH 04/35] Added translation using Weblate (Italian) Translated using Weblate (Italian) Currently translated at 100.0% (7 of 7 strings) Translation: wms-14.0/wms-14.0-shopfloor_reception_packaging_dimension Translate-URL: https://translation.odoo-community.org/projects/wms-14-0/wms-14-0-shopfloor_reception_packaging_dimension/it/ --- .../i18n/it.po | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 shopfloor_reception_packaging_dimension/i18n/it.po diff --git a/shopfloor_reception_packaging_dimension/i18n/it.po b/shopfloor_reception_packaging_dimension/i18n/it.po new file mode 100644 index 00000000000..2b37f8306b7 --- /dev/null +++ b/shopfloor_reception_packaging_dimension/i18n/it.po @@ -0,0 +1,56 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * shopfloor_reception_packaging_dimension +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-11-12 17:37+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu__id +msgid "ID" +msgstr "ID" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_shopfloor_menu__set_packaging_dimension +msgid "" +"If for the product being processed, its related packaging dimension are not " +"set, ask to fill them up." +msgstr "" +"Se per il prodotto che deve essere lavorato, non è impostata la dimensione " +"dell'imballo, chiede di compilarla." + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model,name:shopfloor_reception_packaging_dimension.model_shopfloor_menu +msgid "Menu displayed in the scanner application" +msgstr "Menu visualizzato nell'applicazione di scansione" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu__set_packaging_dimension_is_possible +msgid "Set Packaging Dimension Is Possible" +msgstr "È possibile impostare la dimensione dell'imballo" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu__set_packaging_dimension +msgid "Set packaging dimension" +msgstr "Imposta dimensione imballo" From 1ca1384cd518a21c3f79c2965879d943288ca72a Mon Sep 17 00:00:00 2001 From: Thierry Ducrest Date: Wed, 22 Nov 2023 10:47:11 +0100 Subject: [PATCH 05/35] sf_reception_packaging_dimension: fix test confirmation --- .../tests/test_set_package_dimension.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py b/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py index 64c6fae5531..468e1bbc935 100644 --- a/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py +++ b/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py @@ -153,7 +153,7 @@ def test_set_multiple_packaging_dimension(self): data={ "picking": self.data.picking(self.picking), "selected_move_line": self.data.move_lines(line), - "confirmation_required": False, + "confirmation_required": None, }, message=self.msg_store.packaging_dimension_updated( self.product_c_packaging_2 From 6b8e4e6b436e3adcdbc8e1ab30cc66aa00bc3b2a Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 22 Nov 2023 11:03:21 +0000 Subject: [PATCH 06/35] [BOT] post-merge updates --- shopfloor_reception_packaging_dimension/README.rst | 2 +- shopfloor_reception_packaging_dimension/__manifest__.py | 2 +- .../static/description/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/shopfloor_reception_packaging_dimension/README.rst b/shopfloor_reception_packaging_dimension/README.rst index 07f6e6c1cc5..fa2e8d0c434 100644 --- a/shopfloor_reception_packaging_dimension/README.rst +++ b/shopfloor_reception_packaging_dimension/README.rst @@ -7,7 +7,7 @@ Shopfloor Reception Packaging Dimension !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:4d3c2af063d1415c5bc210b307d100dbda547800882cfc9074b28258676267dc + !! source digest: sha256:a9807c9f273dac265c97d18b5e70280442942cb5b6e019e779be93784cd4765e !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/shopfloor_reception_packaging_dimension/__manifest__.py b/shopfloor_reception_packaging_dimension/__manifest__.py index fc2bd47160e..2430e9a749c 100644 --- a/shopfloor_reception_packaging_dimension/__manifest__.py +++ b/shopfloor_reception_packaging_dimension/__manifest__.py @@ -1,7 +1,7 @@ { "name": "Shopfloor Reception Packaging Dimension", "summary": "Collect Packaging Dimension from the Reception scenario", - "version": "14.0.1.1.0", + "version": "14.0.1.2.0", "development_status": "Beta", "category": "Inventory", "website": "https://github.com/OCA/wms", diff --git a/shopfloor_reception_packaging_dimension/static/description/index.html b/shopfloor_reception_packaging_dimension/static/description/index.html index 2a11932ca13..c3d3760a4f0 100644 --- a/shopfloor_reception_packaging_dimension/static/description/index.html +++ b/shopfloor_reception_packaging_dimension/static/description/index.html @@ -367,7 +367,7 @@

Shopfloor Reception Packaging Dimension

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:4d3c2af063d1415c5bc210b307d100dbda547800882cfc9074b28258676267dc +!! source digest: sha256:a9807c9f273dac265c97d18b5e70280442942cb5b6e019e779be93784cd4765e !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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

This module adds an option to the reception scenario. From 401bdab6c352c7ceeb94c8572a8856e1ffeb4944 Mon Sep 17 00:00:00 2001 From: Akim Juillerat Date: Mon, 4 Aug 2025 21:05:50 +0200 Subject: [PATCH 07/35] [IMP] shopfloor_reception_packaging_dimension: pre-commit auto fixes --- .../README.rst | 34 +++++++++---------- .../__manifest__.py | 2 +- .../pyproject.toml | 3 ++ .../readme/CONTRIBUTORS.md | 1 + .../readme/CONTRIBUTORS.rst | 1 - .../readme/DESCRIPTION.md | 5 +++ .../readme/DESCRIPTION.rst | 5 --- .../static/description/index.html | 30 ++++++++-------- .../views/shopfloor_menu.xml | 14 ++++---- 9 files changed, 49 insertions(+), 46 deletions(-) create mode 100644 shopfloor_reception_packaging_dimension/pyproject.toml create mode 100644 shopfloor_reception_packaging_dimension/readme/CONTRIBUTORS.md delete mode 100644 shopfloor_reception_packaging_dimension/readme/CONTRIBUTORS.rst create mode 100644 shopfloor_reception_packaging_dimension/readme/DESCRIPTION.md delete mode 100644 shopfloor_reception_packaging_dimension/readme/DESCRIPTION.rst diff --git a/shopfloor_reception_packaging_dimension/README.rst b/shopfloor_reception_packaging_dimension/README.rst index fa2e8d0c434..bbc869e7de3 100644 --- a/shopfloor_reception_packaging_dimension/README.rst +++ b/shopfloor_reception_packaging_dimension/README.rst @@ -16,23 +16,23 @@ Shopfloor Reception Packaging Dimension .. |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%2Fwms-lightgray.png?logo=github - :target: https://github.com/OCA/wms/tree/14.0/shopfloor_reception_packaging_dimension - :alt: OCA/wms +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--shopfloor-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-shopfloor/tree/18.0/shopfloor_reception_packaging_dimension + :alt: OCA/stock-logistics-shopfloor .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/wms-14-0/wms-14-0-shopfloor_reception_packaging_dimension + :target: https://translation.odoo-community.org/projects/stock-logistics-shopfloor-18-0/stock-logistics-shopfloor-18-0-shopfloor_reception_packaging_dimension :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/wms&target_branch=14.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-shopfloor&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| -This module adds an option to the reception scenario. -When activated. Before setting the quantity for the reception, -if there is product packaging related to the product received with -missing information, the user will be presented with a screen -(for each packaging) proposing to update the missing information. +This module adds an option to the reception scenario. When activated. +Before setting the quantity for the reception, if there is product +packaging related to the product received with missing information, the +user will be presented with a screen (for each packaging) proposing to +update the missing information. **Table of contents** @@ -42,10 +42,10 @@ missing information, the user will be presented with a screen Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -53,17 +53,17 @@ Credits ======= Authors -~~~~~~~ +------- * Camptocamp Contributors -~~~~~~~~~~~~ +------------ -* Thierry Ducrest +- Thierry Ducrest Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -83,6 +83,6 @@ Current `maintainer `__: |maintainer-TDu| -This module is part of the `OCA/wms `_ project on GitHub. +This module is part of the `OCA/stock-logistics-shopfloor `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/shopfloor_reception_packaging_dimension/__manifest__.py b/shopfloor_reception_packaging_dimension/__manifest__.py index 2430e9a749c..f1becba8eb6 100644 --- a/shopfloor_reception_packaging_dimension/__manifest__.py +++ b/shopfloor_reception_packaging_dimension/__manifest__.py @@ -4,7 +4,7 @@ "version": "14.0.1.2.0", "development_status": "Beta", "category": "Inventory", - "website": "https://github.com/OCA/wms", + "website": "https://github.com/OCA/stock-logistics-shopfloor", "author": "Camptocamp, Odoo Community Association (OCA)", "maintainers": ["TDu"], "license": "AGPL-3", diff --git a/shopfloor_reception_packaging_dimension/pyproject.toml b/shopfloor_reception_packaging_dimension/pyproject.toml new file mode 100644 index 00000000000..4231d0cccb3 --- /dev/null +++ b/shopfloor_reception_packaging_dimension/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/shopfloor_reception_packaging_dimension/readme/CONTRIBUTORS.md b/shopfloor_reception_packaging_dimension/readme/CONTRIBUTORS.md new file mode 100644 index 00000000000..62ceaf42fc5 --- /dev/null +++ b/shopfloor_reception_packaging_dimension/readme/CONTRIBUTORS.md @@ -0,0 +1 @@ +- Thierry Ducrest \<\> diff --git a/shopfloor_reception_packaging_dimension/readme/CONTRIBUTORS.rst b/shopfloor_reception_packaging_dimension/readme/CONTRIBUTORS.rst deleted file mode 100644 index 0dd376faecb..00000000000 --- a/shopfloor_reception_packaging_dimension/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1 +0,0 @@ -* Thierry Ducrest diff --git a/shopfloor_reception_packaging_dimension/readme/DESCRIPTION.md b/shopfloor_reception_packaging_dimension/readme/DESCRIPTION.md new file mode 100644 index 00000000000..7486f8c5859 --- /dev/null +++ b/shopfloor_reception_packaging_dimension/readme/DESCRIPTION.md @@ -0,0 +1,5 @@ +This module adds an option to the reception scenario. When activated. +Before setting the quantity for the reception, if there is product +packaging related to the product received with missing information, the +user will be presented with a screen (for each packaging) proposing to +update the missing information. diff --git a/shopfloor_reception_packaging_dimension/readme/DESCRIPTION.rst b/shopfloor_reception_packaging_dimension/readme/DESCRIPTION.rst deleted file mode 100644 index fe5faf19ae4..00000000000 --- a/shopfloor_reception_packaging_dimension/readme/DESCRIPTION.rst +++ /dev/null @@ -1,5 +0,0 @@ -This module adds an option to the reception scenario. -When activated. Before setting the quantity for the reception, -if there is product packaging related to the product received with -missing information, the user will be presented with a screen -(for each packaging) proposing to update the missing information. diff --git a/shopfloor_reception_packaging_dimension/static/description/index.html b/shopfloor_reception_packaging_dimension/static/description/index.html index c3d3760a4f0..d5eda6c791c 100644 --- a/shopfloor_reception_packaging_dimension/static/description/index.html +++ b/shopfloor_reception_packaging_dimension/static/description/index.html @@ -1,4 +1,3 @@ - @@ -9,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -275,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -301,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -369,12 +369,12 @@

Shopfloor Reception Packaging Dimension

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:a9807c9f273dac265c97d18b5e70280442942cb5b6e019e779be93784cd4765e !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

-

This module adds an option to the reception scenario. -When activated. Before setting the quantity for the reception, -if there is product packaging related to the product received with -missing information, the user will be presented with a screen -(for each packaging) proposing to update the missing information.

+

Beta License: AGPL-3 OCA/stock-logistics-shopfloor Translate me on Weblate Try me on Runboat

+

This module adds an option to the reception scenario. When activated. +Before setting the quantity for the reception, if there is product +packaging related to the product received with missing information, the +user will be presented with a screen (for each packaging) proposing to +update the missing information.

Table of contents

    @@ -389,10 +389,10 @@

    Shopfloor Reception Packaging Dimension

Bug Tracker

-

Bugs are tracked on GitHub Issues. +

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

+feedback.

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

@@ -412,13 +412,15 @@

Contributors

Maintainers

This module is maintained by the OCA.

-Odoo Community Association + +Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

TDu

-

This module is part of the OCA/wms project on GitHub.

+

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

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

diff --git a/shopfloor_reception_packaging_dimension/views/shopfloor_menu.xml b/shopfloor_reception_packaging_dimension/views/shopfloor_menu.xml index 9c0f6502406..e055bd11ad0 100644 --- a/shopfloor_reception_packaging_dimension/views/shopfloor_menu.xml +++ b/shopfloor_reception_packaging_dimension/views/shopfloor_menu.xml @@ -4,17 +4,15 @@ shopfloor.menu - - - + - - - - - + + + + From 3b897553b6a64086d16e9e7dcf8bd4be5c317d5f Mon Sep 17 00:00:00 2001 From: Akim Juillerat Date: Tue, 5 Aug 2025 18:02:12 +0200 Subject: [PATCH 08/35] [MIG] shopfloor_reception_packaging_dimension: Migration to 18.0 --- .../__manifest__.py | 4 +++- .../hooks.py | 8 ++------ .../services/reception.py | 8 ++++---- .../tests/test_set_package_dimension.py | 17 +++++++++-------- .../views/shopfloor_menu.xml | 3 +-- 5 files changed, 19 insertions(+), 21 deletions(-) diff --git a/shopfloor_reception_packaging_dimension/__manifest__.py b/shopfloor_reception_packaging_dimension/__manifest__.py index f1becba8eb6..e1a7b9a0061 100644 --- a/shopfloor_reception_packaging_dimension/__manifest__.py +++ b/shopfloor_reception_packaging_dimension/__manifest__.py @@ -1,7 +1,9 @@ +# Copyright 2023 Camptocamp SA +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) { "name": "Shopfloor Reception Packaging Dimension", "summary": "Collect Packaging Dimension from the Reception scenario", - "version": "14.0.1.2.0", + "version": "18.0.1.0.0", "development_status": "Beta", "category": "Inventory", "website": "https://github.com/OCA/stock-logistics-shopfloor", diff --git a/shopfloor_reception_packaging_dimension/hooks.py b/shopfloor_reception_packaging_dimension/hooks.py index 00c46969c7f..eca59a9c6c0 100644 --- a/shopfloor_reception_packaging_dimension/hooks.py +++ b/shopfloor_reception_packaging_dimension/hooks.py @@ -4,8 +4,6 @@ import json import logging -from odoo import SUPERUSER_ID, api - from odoo.addons.shopfloor_base.utils import purge_endpoints, register_new_services from .services.reception import Reception as Service @@ -13,9 +11,8 @@ _logger = logging.getLogger(__file__) -def post_init_hook(cr, registry): +def post_init_hook(env): _logger.info("Add set packaging dimension option on reception scenario") - env = api.Environment(cr, SUPERUSER_ID, {}) scenario = env.ref("shopfloor_reception.scenario_reception") options = scenario.options options.update({"set_packaging_dimension": True}) @@ -28,9 +25,8 @@ def post_init_hook(cr, registry): register_new_services(env, Service) -def uninstall_hook(cr, registry): +def uninstall_hook(env): _logger.info("Remove set packaging dimension option on reception scenario") - env = api.Environment(cr, SUPERUSER_ID, {}) scenario = env.ref("shopfloor_reception.scenario_reception") options = scenario.options if "set_packaging_dimension" in options.keys(): diff --git a/shopfloor_reception_packaging_dimension/services/reception.py b/shopfloor_reception_packaging_dimension/services/reception.py index b87458df11b..189b5b77677 100644 --- a/shopfloor_reception_packaging_dimension/services/reception.py +++ b/shopfloor_reception_packaging_dimension/services/reception.py @@ -32,8 +32,8 @@ def _get_domain_packaging_needs_dimension(self): [("width", "=", False)], [("height", "=", 0)], [("height", "=", False)], - [("max_weight", "=", 0)], - [("max_weight", "=", False)], + [("weight", "=", 0)], + [("weight", "=", False)], [("qty", "=", 0)], [("qty", "=", False)], [("barcode", "=", False)], @@ -99,7 +99,7 @@ def set_packaging_dimension( return self._before_state__set_quantity(picking, selected_line, message=message) def _check_dimension_to_update(self, dimensions): - """Return True if there is any dimension that needs to be updated on the packaging.""" + """Return True if any dimension on the packaging needs to be updated""" return any([value is not None for key, value in dimensions.items()]) def _get_dimension_fields_conversion_map(self): @@ -144,7 +144,7 @@ def set_packaging_dimension(self): "type": "float", "nullable": True, }, - "max_weight": { + "weight": { "coerce": to_float, "required": False, "type": "float", diff --git a/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py b/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py index 468e1bbc935..8caf483567c 100644 --- a/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py +++ b/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py @@ -4,6 +4,7 @@ from odoo.addons.shopfloor_reception.tests.common import CommonCase +# pylint: disable=W8110 class TestSetPackDimension(CommonCase): @classmethod def setUpClassBaseData(cls): @@ -62,7 +63,7 @@ def test_scan_product_ask_for_dimension(self): ) self.data.picking(self.picking) selected_move_line = self.picking.move_line_ids.filtered( - lambda l: l.product_id == self.product_a + lambda li: li.product_id == self.product_a ) self._assert_response_set_dimension( response, self.picking, selected_move_line, self.product_a_packaging @@ -71,7 +72,7 @@ def test_scan_product_ask_for_dimension(self): def test_scan_lot_ask_for_dimension(self): self.product_a.tracking = "none" selected_move_line = self.picking.move_line_ids.filtered( - lambda l: l.product_id == self.product_a + lambda li: li.product_id == self.product_a ) self.assertTrue(self.product_a.packaging_ids) response = self.service.dispatch( @@ -83,7 +84,7 @@ def test_scan_lot_ask_for_dimension(self): ) self.data.picking(self.picking) selected_move_line = self.picking.move_line_ids.filtered( - lambda l: l.product_id == self.product_a + lambda li: li.product_id == self.product_a ) self._assert_response_set_dimension( response, self.picking, selected_move_line, self.product_a_packaging @@ -91,7 +92,7 @@ def test_scan_lot_ask_for_dimension(self): def test_set_packaging_dimension(self): selected_move_line = self.picking.move_line_ids.filtered( - lambda l: l.product_id == self.product_a + lambda li: li.product_id == self.product_a ) self.service.dispatch( "set_packaging_dimension", @@ -110,10 +111,10 @@ def test_set_packaging_dimension(self): def test_set_multiple_packaging_dimension(self): line = self.picking.move_line_ids.filtered( - lambda l: l.product_id == self.product_c + lambda li: li.product_id == self.product_c ) # Set the weight but other dimension are required - self.product_c_packaging_2.max_weight = 200 + self.product_c_packaging_2.weight = 200 response = self.service.dispatch( "set_packaging_dimension", params={ @@ -142,11 +143,11 @@ def test_set_multiple_packaging_dimension(self): "selected_line_id": line.id, "packaging_id": self.product_c_packaging_2.id, "height": 200, - "max_weight": 1000, + "weight": 1000, }, ) self.assertEqual(self.product_c_packaging_2.height, 200) - self.assertEqual(self.product_c_packaging_2.max_weight, 1000) + self.assertEqual(self.product_c_packaging_2.weight, 1000) self.assert_response( response, next_state="set_quantity", diff --git a/shopfloor_reception_packaging_dimension/views/shopfloor_menu.xml b/shopfloor_reception_packaging_dimension/views/shopfloor_menu.xml index e055bd11ad0..fe4c6ec92f5 100644 --- a/shopfloor_reception_packaging_dimension/views/shopfloor_menu.xml +++ b/shopfloor_reception_packaging_dimension/views/shopfloor_menu.xml @@ -7,9 +7,8 @@ - From 08c028ee94622d21c614ba0a48f36caeae42cf14 Mon Sep 17 00:00:00 2001 From: Simone Orsi Date: Tue, 19 Aug 2025 11:00:47 +0200 Subject: [PATCH 09/35] shopfloor_reception_packaging_dimension: fix missing response validator --- .../services/reception.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/shopfloor_reception_packaging_dimension/services/reception.py b/shopfloor_reception_packaging_dimension/services/reception.py index 189b5b77677..e5b4d1e6a3f 100644 --- a/shopfloor_reception_packaging_dimension/services/reception.py +++ b/shopfloor_reception_packaging_dimension/services/reception.py @@ -195,3 +195,11 @@ def _schema_set_packaging_dimension(self): "schema": self.schemas_detail.packaging_detail(), }, } + + def _set_packaging_dimension_next_states(self): + return {"set_packaging_dimension", "set_quantity"} + + def set_packaging_dimension(self): + return self._response_schema( + next_states=self._set_packaging_dimension_next_states() + ) From cb6bed0b3e814db9fcc7a5239049728207e1d37f Mon Sep 17 00:00:00 2001 From: Simone Orsi Date: Tue, 19 Aug 2025 11:04:58 +0200 Subject: [PATCH 10/35] shopfloor_reception_packaging_dimension: fix init of class var Such vars should be initialized when the component gets initialized. --- shopfloor_reception_packaging_dimension/services/reception.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/shopfloor_reception_packaging_dimension/services/reception.py b/shopfloor_reception_packaging_dimension/services/reception.py index e5b4d1e6a3f..16a761325b5 100644 --- a/shopfloor_reception_packaging_dimension/services/reception.py +++ b/shopfloor_reception_packaging_dimension/services/reception.py @@ -11,7 +11,9 @@ class Reception(Component): _inherit = "shopfloor.reception" - packaging_update_done = False + def __init__(self, work_context): + super().__init__(work_context) + self.packaging_update_done = False def _before_state__set_quantity(self, picking, line, message=None): """Show the packaging dimension screen before the set quantity screen.""" From 8ccc721d9feb8b4b55e31657d927367c3749ff19 Mon Sep 17 00:00:00 2001 From: Simone Orsi Date: Tue, 19 Aug 2025 11:06:08 +0200 Subject: [PATCH 11/35] shopfloor_reception_packaging_dimension: fix typo --- shopfloor_reception_packaging_dimension/services/reception.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shopfloor_reception_packaging_dimension/services/reception.py b/shopfloor_reception_packaging_dimension/services/reception.py index 16a761325b5..f2410b8b6e3 100644 --- a/shopfloor_reception_packaging_dimension/services/reception.py +++ b/shopfloor_reception_packaging_dimension/services/reception.py @@ -72,7 +72,7 @@ def set_packaging_dimension( """Set the dimension on a product packaging. If the user cancel the dimension update we still propose the next - possible packgaging. + possible packaging. Transitions: - set_packaging_dimension: if more packaging needs dimension From 3de11442f5b2f65aebb49829d547464d83054c82 Mon Sep 17 00:00:00 2001 From: Simone Orsi Date: Tue, 19 Aug 2025 11:57:55 +0200 Subject: [PATCH 12/35] shopfloor_reception_packaging_dimension: add hooks for packaging data --- .../services/reception.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/shopfloor_reception_packaging_dimension/services/reception.py b/shopfloor_reception_packaging_dimension/services/reception.py index f2410b8b6e3..42d7bf1712c 100644 --- a/shopfloor_reception_packaging_dimension/services/reception.py +++ b/shopfloor_reception_packaging_dimension/services/reception.py @@ -61,11 +61,16 @@ def _response_for_set_packaging_dimension( data={ "picking": self.data.picking(picking), "selected_move_line": self.data.move_line(line), - "packaging": self.data_detail.packaging_detail(packaging), + "packaging": self._set_packaging_dimension_data_for_packaging( + packaging + ), }, message=message, ) + def _set_packaging_dimension_data_for_packaging(self, packaging): + return self.data_detail.packaging_detail(packaging) + def set_packaging_dimension( self, picking_id, selected_line_id, packaging_id, cancel=False, **kwargs ): @@ -192,10 +197,13 @@ def _schema_set_packaging_dimension(self): return { "picking": {"type": "dict", "schema": self.schemas.picking()}, "selected_move_line": {"type": "dict", "schema": self.schemas.move_line()}, - "packaging": { - "type": "dict", - "schema": self.schemas_detail.packaging_detail(), - }, + "packaging": self._schema_packaging(), + } + + def _schema_packaging(self): + return { + "type": "dict", + "schema": self.schemas_detail.packaging_detail(), } def _set_packaging_dimension_next_states(self): From 4c18979671c09e55a757041435c993bf661100ba Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 19 Aug 2025 14:54:07 +0000 Subject: [PATCH 13/35] [UPD] Update shopfloor_reception_packaging_dimension.pot --- .../shopfloor_reception_packaging_dimension.pot | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/shopfloor_reception_packaging_dimension/i18n/shopfloor_reception_packaging_dimension.pot b/shopfloor_reception_packaging_dimension/i18n/shopfloor_reception_packaging_dimension.pot index 816d3285327..f8713c8f882 100644 --- a/shopfloor_reception_packaging_dimension/i18n/shopfloor_reception_packaging_dimension.pot +++ b/shopfloor_reception_packaging_dimension/i18n/shopfloor_reception_packaging_dimension.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" +"Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,16 +13,6 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" -#. module: shopfloor_reception_packaging_dimension -#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu__display_name -msgid "Display Name" -msgstr "" - -#. module: shopfloor_reception_packaging_dimension -#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu__id -msgid "ID" -msgstr "" - #. module: shopfloor_reception_packaging_dimension #: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_shopfloor_menu__set_packaging_dimension msgid "" @@ -30,11 +20,6 @@ msgid "" "set, ask to fill them up." msgstr "" -#. module: shopfloor_reception_packaging_dimension -#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu____last_update -msgid "Last Modified on" -msgstr "" - #. module: shopfloor_reception_packaging_dimension #: model:ir.model,name:shopfloor_reception_packaging_dimension.model_shopfloor_menu msgid "Menu displayed in the scanner application" From 64c7a3bb6e35aa772bbdec7b888380984fddd04c Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 19 Aug 2025 15:03:38 +0000 Subject: [PATCH 14/35] [BOT] post-merge updates --- .../README.rst | 10 ++++--- .../static/description/index.html | 26 ++++++++++++------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/shopfloor_reception_packaging_dimension/README.rst b/shopfloor_reception_packaging_dimension/README.rst index bbc869e7de3..5aef7117948 100644 --- a/shopfloor_reception_packaging_dimension/README.rst +++ b/shopfloor_reception_packaging_dimension/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ======================================= Shopfloor Reception Packaging Dimension ======================================= @@ -7,13 +11,13 @@ Shopfloor Reception Packaging Dimension !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:a9807c9f273dac265c97d18b5e70280442942cb5b6e019e779be93784cd4765e + !! source digest: sha256:ecb5b68abcce88c2bda92a033952d123eb405092152e95a1a358b91555b3dc12 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |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 +.. |badge2| image:: https://img.shields.io/badge/license-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--shopfloor-lightgray.png?logo=github @@ -60,7 +64,7 @@ Authors Contributors ------------ -- Thierry Ducrest +- Thierry Ducrest Maintainers ----------- diff --git a/shopfloor_reception_packaging_dimension/static/description/index.html b/shopfloor_reception_packaging_dimension/static/description/index.html index d5eda6c791c..c11e3bb49b2 100644 --- a/shopfloor_reception_packaging_dimension/static/description/index.html +++ b/shopfloor_reception_packaging_dimension/static/description/index.html @@ -3,7 +3,7 @@ -Shopfloor Reception Packaging Dimension +README.rst -
-

Shopfloor Reception Packaging Dimension

+
+ + +Odoo Community Association + +
+

Shopfloor Reception Packaging Dimension

-

Beta License: AGPL-3 OCA/stock-logistics-shopfloor Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/stock-logistics-shopfloor Translate me on Weblate Try me on Runboat

This module adds an option to the reception scenario. When activated. Before setting the quantity for the reception, if there is product packaging related to the product received with missing information, the @@ -388,7 +393,7 @@

Shopfloor Reception Packaging Dimension

-

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 to smash it by providing a detailed and welcomed @@ -396,21 +401,21 @@

Bug Tracker

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

+
From c385b6393e6ea40ed8c2b7e6baadf5d8b56681bb Mon Sep 17 00:00:00 2001 From: Akim Juillerat Date: Wed, 20 Aug 2025 19:00:43 +0200 Subject: [PATCH 15/35] [IMP] shopfloor_reception_packaging_dimension: collect only needed dimensions --- .../__manifest__.py | 7 +- .../models/__init__.py | 1 + .../models/product_packaging_level.py | 33 +++++++++ .../services/reception.py | 35 ++++++--- .../tests/test_set_package_dimension.py | 71 +++++++++++++++++++ .../views/product_packaging_level.xml | 23 ++++++ 6 files changed, 157 insertions(+), 13 deletions(-) create mode 100644 shopfloor_reception_packaging_dimension/models/product_packaging_level.py create mode 100644 shopfloor_reception_packaging_dimension/views/product_packaging_level.xml diff --git a/shopfloor_reception_packaging_dimension/__manifest__.py b/shopfloor_reception_packaging_dimension/__manifest__.py index e1a7b9a0061..333ec5e48db 100644 --- a/shopfloor_reception_packaging_dimension/__manifest__.py +++ b/shopfloor_reception_packaging_dimension/__manifest__.py @@ -11,8 +11,11 @@ "maintainers": ["TDu"], "license": "AGPL-3", "installable": True, - "depends": ["shopfloor_reception"], - "data": ["views/shopfloor_menu.xml"], + "depends": ["shopfloor_reception", "product_packaging_level"], + "data": [ + "views/product_packaging_level.xml", + "views/shopfloor_menu.xml", + ], "post_init_hook": "post_init_hook", "uninstall_hook": "uninstall_hook", } diff --git a/shopfloor_reception_packaging_dimension/models/__init__.py b/shopfloor_reception_packaging_dimension/models/__init__.py index 8bd3d5195ca..0f96d1da6bd 100644 --- a/shopfloor_reception_packaging_dimension/models/__init__.py +++ b/shopfloor_reception_packaging_dimension/models/__init__.py @@ -1 +1,2 @@ +from . import product_packaging_level from . import shopfloor_menu diff --git a/shopfloor_reception_packaging_dimension/models/product_packaging_level.py b/shopfloor_reception_packaging_dimension/models/product_packaging_level.py new file mode 100644 index 00000000000..f766f5be621 --- /dev/null +++ b/shopfloor_reception_packaging_dimension/models/product_packaging_level.py @@ -0,0 +1,33 @@ +# Copyright 2025 Camptocamp SA +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) +from odoo import fields, models + +HELP_TEXT = ( + "When marked, shopfloor will require to set this dimension during " + "reception if undefined on the packaging" +) + + +class ProductPackagingLevel(models.Model): + _inherit = "product.packaging.level" + + shopfloor_collect_length = fields.Boolean( + "Collect length", + default=True, + help=HELP_TEXT, + ) + shopfloor_collect_width = fields.Boolean( + "Collect width", + default=True, + help=HELP_TEXT, + ) + shopfloor_collect_height = fields.Boolean( + "Collect height", + default=True, + help=HELP_TEXT, + ) + shopfloor_collect_weight = fields.Boolean( + "Collect weight", + default=True, + help=HELP_TEXT, + ) diff --git a/shopfloor_reception_packaging_dimension/services/reception.py b/shopfloor_reception_packaging_dimension/services/reception.py index 42d7bf1712c..695c6d0b8d8 100644 --- a/shopfloor_reception_packaging_dimension/services/reception.py +++ b/shopfloor_reception_packaging_dimension/services/reception.py @@ -28,16 +28,30 @@ def _before_state__set_quantity(self, picking, line, message=None): def _get_domain_packaging_needs_dimension(self): return expression.OR( [ - [("packaging_length", "=", 0)], - [("packaging_length", "=", False)], - [("width", "=", 0)], - [("width", "=", False)], - [("height", "=", 0)], - [("height", "=", False)], - [("weight", "=", 0)], - [("weight", "=", False)], - [("qty", "=", 0)], - [("qty", "=", False)], + [ + ("packaging_level_id.shopfloor_collect_length", "=", True), + "|", + ("packaging_length", "=", 0), + ("packaging_length", "=", False), + ], + [ + ("packaging_level_id.shopfloor_collect_width", "=", True), + "|", + ("width", "=", 0), + ("width", "=", False), + ], + [ + ("packaging_level_id.shopfloor_collect_height", "=", True), + "|", + ("height", "=", 0), + ("height", "=", False), + ], + [ + ("packaging_level_id.shopfloor_collect_weight", "=", True), + "|", + ("weight", "=", 0), + ("weight", "=", False), + ], [("barcode", "=", False)], ] ) @@ -93,7 +107,6 @@ def set_packaging_dimension( elif not cancel and self._check_dimension_to_update(kwargs): self._update_packaging_dimension(packaging, kwargs) message = self.msg_store.packaging_dimension_updated(packaging) - if packaging: next_packaging = self._get_next_packaging_to_set_dimension( selected_line.product_id, packaging diff --git a/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py b/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py index 8caf483567c..d797f6b4c03 100644 --- a/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py +++ b/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py @@ -14,6 +14,17 @@ def setUpClassBaseData(cls): cls.picking = cls._create_picking( lines=[(cls.product_a, 10), (cls.product_b, 10), (cls.product_c, 10)] ) + cls.default_packaging_level = cls.env[ + "product.packaging" + ].default_packaging_level_id() + cls.default_packaging_level.sudo().write( + { + "shopfloor_collect_length": True, + "shopfloor_collect_width": True, + "shopfloor_collect_height": True, + "shopfloor_collect_weight": True, + } + ) # Picking has 3 products # Product A with one packaging # Product B with no packaging @@ -69,6 +80,66 @@ def test_scan_product_ask_for_dimension(self): response, self.picking, selected_move_line, self.product_a_packaging ) + def test_scan_product_dimension_already_defined(self): + self.product_a.tracking = "none" + self.product_a_packaging.write( + { + "packaging_length": 10.0, + "width": 5.0, + "height": 2.0, + "weight": 1.5, + } + ) + response = self.service.dispatch( + "scan_line", + params={ + "picking_id": self.picking.id, + "barcode": self.product_a.barcode, + }, + ) + selected_move_line = self.picking.move_line_ids.filtered( + lambda li: li.product_id == self.product_a + ) + self.assert_response( + response, + next_state="set_quantity", + data={ + "confirmation_required": None, + "picking": self.data.picking(self.picking), + "selected_move_line": [self.data.move_line(selected_move_line)], + }, + ) + + def test_scan_product_dimension_not_needed(self): + self.product_a.tracking = "none" + self.default_packaging_level.sudo().write( + { + "shopfloor_collect_length": False, + "shopfloor_collect_width": False, + "shopfloor_collect_height": False, + "shopfloor_collect_weight": False, + } + ) + response = self.service.dispatch( + "scan_line", + params={ + "picking_id": self.picking.id, + "barcode": self.product_a.barcode, + }, + ) + selected_move_line = self.picking.move_line_ids.filtered( + lambda li: li.product_id == self.product_a + ) + self.assert_response( + response, + next_state="set_quantity", + data={ + "confirmation_required": None, + "picking": self.data.picking(self.picking), + "selected_move_line": [self.data.move_line(selected_move_line)], + }, + ) + def test_scan_lot_ask_for_dimension(self): self.product_a.tracking = "none" selected_move_line = self.picking.move_line_ids.filtered( diff --git a/shopfloor_reception_packaging_dimension/views/product_packaging_level.xml b/shopfloor_reception_packaging_dimension/views/product_packaging_level.xml new file mode 100644 index 00000000000..93950b5f655 --- /dev/null +++ b/shopfloor_reception_packaging_dimension/views/product_packaging_level.xml @@ -0,0 +1,23 @@ + + + + product.packaging.level.form + product.packaging.level + + + + + + + + + + + + + + + From d7387fd58fa3e9ce38578321302f35e31ef9ea06 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Fri, 29 Aug 2025 12:52:43 +0000 Subject: [PATCH 16/35] [UPD] Update shopfloor_reception_packaging_dimension.pot --- ...hopfloor_reception_packaging_dimension.pot | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/shopfloor_reception_packaging_dimension/i18n/shopfloor_reception_packaging_dimension.pot b/shopfloor_reception_packaging_dimension/i18n/shopfloor_reception_packaging_dimension.pot index f8713c8f882..bedc200b543 100644 --- a/shopfloor_reception_packaging_dimension/i18n/shopfloor_reception_packaging_dimension.pot +++ b/shopfloor_reception_packaging_dimension/i18n/shopfloor_reception_packaging_dimension.pot @@ -13,6 +13,26 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_height +msgid "Collect height" +msgstr "" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_length +msgid "Collect length" +msgstr "" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_weight +msgid "Collect weight" +msgstr "" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_width +msgid "Collect width" +msgstr "" + #. module: shopfloor_reception_packaging_dimension #: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_shopfloor_menu__set_packaging_dimension msgid "" @@ -20,6 +40,11 @@ msgid "" "set, ask to fill them up." msgstr "" +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model,name:shopfloor_reception_packaging_dimension.model_product_packaging_level +msgid "Level management for product.packaging" +msgstr "" + #. module: shopfloor_reception_packaging_dimension #: model:ir.model,name:shopfloor_reception_packaging_dimension.model_shopfloor_menu msgid "Menu displayed in the scanner application" @@ -34,3 +59,18 @@ msgstr "" #: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu__set_packaging_dimension msgid "Set packaging dimension" msgstr "" + +#. module: shopfloor_reception_packaging_dimension +#: model_terms:ir.ui.view,arch_db:shopfloor_reception_packaging_dimension.view_product_packaging_level_form +msgid "Shopfloor" +msgstr "" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_height +#: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_length +#: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_weight +#: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_width +msgid "" +"When marked, shopfloor will require to set this dimension during reception " +"if undefined on the packaging" +msgstr "" From d726c3f8ebebaf63d4bab4165a7f1988a31b776f Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 29 Aug 2025 13:02:46 +0000 Subject: [PATCH 17/35] [BOT] post-merge updates --- shopfloor_reception_packaging_dimension/README.rst | 2 +- shopfloor_reception_packaging_dimension/__manifest__.py | 2 +- .../static/description/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/shopfloor_reception_packaging_dimension/README.rst b/shopfloor_reception_packaging_dimension/README.rst index 5aef7117948..76aa14b5212 100644 --- a/shopfloor_reception_packaging_dimension/README.rst +++ b/shopfloor_reception_packaging_dimension/README.rst @@ -11,7 +11,7 @@ Shopfloor Reception Packaging Dimension !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:ecb5b68abcce88c2bda92a033952d123eb405092152e95a1a358b91555b3dc12 + !! source digest: sha256:9eeb40e76db899eedaf247b7f44f8ccb3222db15482d93d6f80b64e27fdfd2a6 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/shopfloor_reception_packaging_dimension/__manifest__.py b/shopfloor_reception_packaging_dimension/__manifest__.py index 333ec5e48db..7e3f8b99edc 100644 --- a/shopfloor_reception_packaging_dimension/__manifest__.py +++ b/shopfloor_reception_packaging_dimension/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Shopfloor Reception Packaging Dimension", "summary": "Collect Packaging Dimension from the Reception scenario", - "version": "18.0.1.0.0", + "version": "18.0.1.1.0", "development_status": "Beta", "category": "Inventory", "website": "https://github.com/OCA/stock-logistics-shopfloor", diff --git a/shopfloor_reception_packaging_dimension/static/description/index.html b/shopfloor_reception_packaging_dimension/static/description/index.html index c11e3bb49b2..fd1a3a9de72 100644 --- a/shopfloor_reception_packaging_dimension/static/description/index.html +++ b/shopfloor_reception_packaging_dimension/static/description/index.html @@ -372,7 +372,7 @@

Shopfloor Reception Packaging Dimension

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:ecb5b68abcce88c2bda92a033952d123eb405092152e95a1a358b91555b3dc12 +!! source digest: sha256:9eeb40e76db899eedaf247b7f44f8ccb3222db15482d93d6f80b64e27fdfd2a6 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/stock-logistics-shopfloor Translate me on Weblate Try me on Runboat

This module adds an option to the reception scenario. When activated. From 18df1be924126deae32cc31ab28cdce559dd83fb Mon Sep 17 00:00:00 2001 From: Weblate Date: Fri, 29 Aug 2025 13:02:54 +0000 Subject: [PATCH 18/35] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: stock-logistics-shopfloor-18.0/stock-logistics-shopfloor-18.0-shopfloor_reception_packaging_dimension Translate-URL: https://translation.odoo-community.org/projects/stock-logistics-shopfloor-18-0/stock-logistics-shopfloor-18-0-shopfloor_reception_packaging_dimension/ --- .../i18n/it.po | 52 +++++++++++++++---- 1 file changed, 43 insertions(+), 9 deletions(-) diff --git a/shopfloor_reception_packaging_dimension/i18n/it.po b/shopfloor_reception_packaging_dimension/i18n/it.po index 2b37f8306b7..ab90ae7bdbf 100644 --- a/shopfloor_reception_packaging_dimension/i18n/it.po +++ b/shopfloor_reception_packaging_dimension/i18n/it.po @@ -17,14 +17,24 @@ msgstr "" "X-Generator: Weblate 4.17\n" #. module: shopfloor_reception_packaging_dimension -#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu__display_name -msgid "Display Name" -msgstr "Nome visualizzato" +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_height +msgid "Collect height" +msgstr "" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_length +msgid "Collect length" +msgstr "" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_weight +msgid "Collect weight" +msgstr "" #. module: shopfloor_reception_packaging_dimension -#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu__id -msgid "ID" -msgstr "ID" +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_width +msgid "Collect width" +msgstr "" #. module: shopfloor_reception_packaging_dimension #: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_shopfloor_menu__set_packaging_dimension @@ -36,9 +46,9 @@ msgstr "" "dell'imballo, chiede di compilarla." #. module: shopfloor_reception_packaging_dimension -#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu____last_update -msgid "Last Modified on" -msgstr "Ultima modifica il" +#: model:ir.model,name:shopfloor_reception_packaging_dimension.model_product_packaging_level +msgid "Level management for product.packaging" +msgstr "" #. module: shopfloor_reception_packaging_dimension #: model:ir.model,name:shopfloor_reception_packaging_dimension.model_shopfloor_menu @@ -54,3 +64,27 @@ msgstr "È possibile impostare la dimensione dell'imballo" #: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_shopfloor_menu__set_packaging_dimension msgid "Set packaging dimension" msgstr "Imposta dimensione imballo" + +#. module: shopfloor_reception_packaging_dimension +#: model_terms:ir.ui.view,arch_db:shopfloor_reception_packaging_dimension.view_product_packaging_level_form +msgid "Shopfloor" +msgstr "" + +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_height +#: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_length +#: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_weight +#: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_width +msgid "" +"When marked, shopfloor will require to set this dimension during reception " +"if undefined on the packaging" +msgstr "" + +#~ msgid "Display Name" +#~ msgstr "Nome visualizzato" + +#~ msgid "ID" +#~ msgstr "ID" + +#~ msgid "Last Modified on" +#~ msgstr "Ultima modifica il" From 18edbed2205387b3ddb6181b99952d6a1a1240bf Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 1 Sep 2025 07:28:50 +0000 Subject: [PATCH 19/35] Translated using Weblate (Italian) Currently translated at 100.0% (11 of 11 strings) Translation: stock-logistics-shopfloor-18.0/stock-logistics-shopfloor-18.0-shopfloor_reception_packaging_dimension Translate-URL: https://translation.odoo-community.org/projects/stock-logistics-shopfloor-18-0/stock-logistics-shopfloor-18-0-shopfloor_reception_packaging_dimension/it/ --- .../i18n/it.po | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/shopfloor_reception_packaging_dimension/i18n/it.po b/shopfloor_reception_packaging_dimension/i18n/it.po index ab90ae7bdbf..2ba3659a928 100644 --- a/shopfloor_reception_packaging_dimension/i18n/it.po +++ b/shopfloor_reception_packaging_dimension/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-11-12 17:37+0000\n" +"PO-Revision-Date: 2025-09-01 09:42+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -14,27 +14,27 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.17\n" +"X-Generator: Weblate 5.10.4\n" #. module: shopfloor_reception_packaging_dimension #: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_height msgid "Collect height" -msgstr "" +msgstr "Raccogli altezza" #. module: shopfloor_reception_packaging_dimension #: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_length msgid "Collect length" -msgstr "" +msgstr "Raccogli lunghezza" #. module: shopfloor_reception_packaging_dimension #: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_weight msgid "Collect weight" -msgstr "" +msgstr "Raccogli peso" #. module: shopfloor_reception_packaging_dimension #: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_width msgid "Collect width" -msgstr "" +msgstr "Raccogli larghezza" #. module: shopfloor_reception_packaging_dimension #: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_shopfloor_menu__set_packaging_dimension @@ -48,7 +48,7 @@ msgstr "" #. module: shopfloor_reception_packaging_dimension #: model:ir.model,name:shopfloor_reception_packaging_dimension.model_product_packaging_level msgid "Level management for product.packaging" -msgstr "" +msgstr "Gestione livello per product.packaging" #. module: shopfloor_reception_packaging_dimension #: model:ir.model,name:shopfloor_reception_packaging_dimension.model_shopfloor_menu @@ -68,7 +68,7 @@ msgstr "Imposta dimensione imballo" #. module: shopfloor_reception_packaging_dimension #: model_terms:ir.ui.view,arch_db:shopfloor_reception_packaging_dimension.view_product_packaging_level_form msgid "Shopfloor" -msgstr "" +msgstr "Reparto" #. module: shopfloor_reception_packaging_dimension #: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_height @@ -79,6 +79,8 @@ msgid "" "When marked, shopfloor will require to set this dimension during reception " "if undefined on the packaging" msgstr "" +"Una volta contrassegnata, il reparto dovrà impostare questa dimensione " +"durante la ricezione se non definita sulla confezione" #~ msgid "Display Name" #~ msgstr "Nome visualizzato" From 699b4255e4820b7bc5417cab30ffdf1590b835ab Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Fri, 5 Sep 2025 13:29:03 +0200 Subject: [PATCH 20/35] [IMP] shopfloor_reception_packaging_dimension: pre-commit autofixes --- .../README.rst | 22 ++++++-------- .../__manifest__.py | 2 +- .../static/description/index.html | 30 ++++++++----------- 3 files changed, 22 insertions(+), 32 deletions(-) diff --git a/shopfloor_reception_packaging_dimension/README.rst b/shopfloor_reception_packaging_dimension/README.rst index 76aa14b5212..5d22e1c29d6 100644 --- a/shopfloor_reception_packaging_dimension/README.rst +++ b/shopfloor_reception_packaging_dimension/README.rst @@ -1,7 +1,3 @@ -.. image:: https://odoo-community.org/readme-banner-image - :target: https://odoo-community.org/get-involved?utm_source=readme - :alt: Odoo Community Association - ======================================= Shopfloor Reception Packaging Dimension ======================================= @@ -17,17 +13,17 @@ Shopfloor Reception Packaging Dimension .. |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/license-AGPL--3-blue.png +.. |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--shopfloor-lightgray.png?logo=github - :target: https://github.com/OCA/stock-logistics-shopfloor/tree/18.0/shopfloor_reception_packaging_dimension - :alt: OCA/stock-logistics-shopfloor +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fwms-lightgray.png?logo=github + :target: https://github.com/OCA/wms/tree/16.0/shopfloor_reception_packaging_dimension + :alt: OCA/wms .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/stock-logistics-shopfloor-18-0/stock-logistics-shopfloor-18-0-shopfloor_reception_packaging_dimension + :target: https://translation.odoo-community.org/projects/wms-16-0/wms-16-0-shopfloor_reception_packaging_dimension :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-shopfloor&target_branch=18.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/wms&target_branch=16.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -46,10 +42,10 @@ update the missing information. Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -87,6 +83,6 @@ Current `maintainer `__: |maintainer-TDu| -This module is part of the `OCA/stock-logistics-shopfloor `_ project on GitHub. +This module is part of the `OCA/wms `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/shopfloor_reception_packaging_dimension/__manifest__.py b/shopfloor_reception_packaging_dimension/__manifest__.py index 7e3f8b99edc..9b90ab14f33 100644 --- a/shopfloor_reception_packaging_dimension/__manifest__.py +++ b/shopfloor_reception_packaging_dimension/__manifest__.py @@ -6,7 +6,7 @@ "version": "18.0.1.1.0", "development_status": "Beta", "category": "Inventory", - "website": "https://github.com/OCA/stock-logistics-shopfloor", + "website": "https://github.com/OCA/wms", "author": "Camptocamp, Odoo Community Association (OCA)", "maintainers": ["TDu"], "license": "AGPL-3", diff --git a/shopfloor_reception_packaging_dimension/static/description/index.html b/shopfloor_reception_packaging_dimension/static/description/index.html index fd1a3a9de72..385bf696e3c 100644 --- a/shopfloor_reception_packaging_dimension/static/description/index.html +++ b/shopfloor_reception_packaging_dimension/static/description/index.html @@ -3,7 +3,7 @@ -README.rst +Shopfloor Reception Packaging Dimension -

+
+

Shopfloor Reception Packaging Dimension

- - -Odoo Community Association - -
-

Shopfloor Reception Packaging Dimension

-

Beta License: AGPL-3 OCA/stock-logistics-shopfloor Translate me on Weblate Try me on Runboat

+

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

This module adds an option to the reception scenario. When activated. Before setting the quantity for the reception, if there is product packaging related to the product received with missing information, the @@ -393,29 +388,29 @@

Shopfloor Reception Packaging Dimension

-

Bug Tracker

-

Bugs are tracked on GitHub Issues. +

Bug Tracker

+

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

+feedback.

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

-

Credits

+

Credits

-

Authors

+

Authors

  • Camptocamp
-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -425,11 +420,10 @@

Maintainers

promote its widespread use.

Current maintainer:

TDu

-

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

+

This module is part of the OCA/wms project on GitHub.

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

-
From a8c33d8e351fa6a7fda87c348eba2b266682290a Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Fri, 5 Sep 2025 13:30:44 +0200 Subject: [PATCH 21/35] [MIG] shopfloor_reception_packaging_dimension: Migration to 16.0 (from 18.0) --- .../odoo/addons/shopfloor_reception_packaging_dimension | 1 + setup/shopfloor_reception_packaging_dimension/setup.py | 6 ++++++ shopfloor_reception_packaging_dimension/README.rst | 1 + shopfloor_reception_packaging_dimension/__manifest__.py | 2 +- shopfloor_reception_packaging_dimension/hooks.py | 8 ++++++-- .../readme/CONTRIBUTORS.md | 1 + .../static/description/index.html | 1 + .../views/shopfloor_menu.xml | 3 ++- 8 files changed, 19 insertions(+), 4 deletions(-) create mode 120000 setup/shopfloor_reception_packaging_dimension/odoo/addons/shopfloor_reception_packaging_dimension create mode 100644 setup/shopfloor_reception_packaging_dimension/setup.py diff --git a/setup/shopfloor_reception_packaging_dimension/odoo/addons/shopfloor_reception_packaging_dimension b/setup/shopfloor_reception_packaging_dimension/odoo/addons/shopfloor_reception_packaging_dimension new file mode 120000 index 00000000000..9ff2c52e7ae --- /dev/null +++ b/setup/shopfloor_reception_packaging_dimension/odoo/addons/shopfloor_reception_packaging_dimension @@ -0,0 +1 @@ +../../../../shopfloor_reception_packaging_dimension \ No newline at end of file diff --git a/setup/shopfloor_reception_packaging_dimension/setup.py b/setup/shopfloor_reception_packaging_dimension/setup.py new file mode 100644 index 00000000000..28c57bb6403 --- /dev/null +++ b/setup/shopfloor_reception_packaging_dimension/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) diff --git a/shopfloor_reception_packaging_dimension/README.rst b/shopfloor_reception_packaging_dimension/README.rst index 5d22e1c29d6..9ad7f5dc789 100644 --- a/shopfloor_reception_packaging_dimension/README.rst +++ b/shopfloor_reception_packaging_dimension/README.rst @@ -61,6 +61,7 @@ Contributors ------------ - Thierry Ducrest +- Denis Roussel Maintainers ----------- diff --git a/shopfloor_reception_packaging_dimension/__manifest__.py b/shopfloor_reception_packaging_dimension/__manifest__.py index 9b90ab14f33..ea28dc77e86 100644 --- a/shopfloor_reception_packaging_dimension/__manifest__.py +++ b/shopfloor_reception_packaging_dimension/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Shopfloor Reception Packaging Dimension", "summary": "Collect Packaging Dimension from the Reception scenario", - "version": "18.0.1.1.0", + "version": "16.0.1.0.0", "development_status": "Beta", "category": "Inventory", "website": "https://github.com/OCA/wms", diff --git a/shopfloor_reception_packaging_dimension/hooks.py b/shopfloor_reception_packaging_dimension/hooks.py index eca59a9c6c0..763dee221f3 100644 --- a/shopfloor_reception_packaging_dimension/hooks.py +++ b/shopfloor_reception_packaging_dimension/hooks.py @@ -4,6 +4,8 @@ import json import logging +from odoo import SUPERUSER_ID, api + from odoo.addons.shopfloor_base.utils import purge_endpoints, register_new_services from .services.reception import Reception as Service @@ -11,7 +13,8 @@ _logger = logging.getLogger(__file__) -def post_init_hook(env): +def post_init_hook(cr, registry): + env = api.Environment(cr, SUPERUSER_ID, {}) _logger.info("Add set packaging dimension option on reception scenario") scenario = env.ref("shopfloor_reception.scenario_reception") options = scenario.options @@ -25,7 +28,8 @@ def post_init_hook(env): register_new_services(env, Service) -def uninstall_hook(env): +def uninstall_hook(cr, registry): + env = api.Environment(cr, SUPERUSER_ID, {}) _logger.info("Remove set packaging dimension option on reception scenario") scenario = env.ref("shopfloor_reception.scenario_reception") options = scenario.options diff --git a/shopfloor_reception_packaging_dimension/readme/CONTRIBUTORS.md b/shopfloor_reception_packaging_dimension/readme/CONTRIBUTORS.md index 62ceaf42fc5..e3bb8b0f9b7 100644 --- a/shopfloor_reception_packaging_dimension/readme/CONTRIBUTORS.md +++ b/shopfloor_reception_packaging_dimension/readme/CONTRIBUTORS.md @@ -1 +1,2 @@ - Thierry Ducrest \<\> +- Denis Roussel \<\> \ No newline at end of file diff --git a/shopfloor_reception_packaging_dimension/static/description/index.html b/shopfloor_reception_packaging_dimension/static/description/index.html index 385bf696e3c..84e2fae6a45 100644 --- a/shopfloor_reception_packaging_dimension/static/description/index.html +++ b/shopfloor_reception_packaging_dimension/static/description/index.html @@ -407,6 +407,7 @@

Authors

Contributors

diff --git a/shopfloor_reception_packaging_dimension/views/shopfloor_menu.xml b/shopfloor_reception_packaging_dimension/views/shopfloor_menu.xml index fe4c6ec92f5..42c46d55a28 100644 --- a/shopfloor_reception_packaging_dimension/views/shopfloor_menu.xml +++ b/shopfloor_reception_packaging_dimension/views/shopfloor_menu.xml @@ -5,9 +5,10 @@ + From 4fe98132e7983b77092d05ca5d8517e0de7cc71c Mon Sep 17 00:00:00 2001 From: Thierry Ducrest Date: Wed, 7 Jun 2023 05:18:46 +0200 Subject: [PATCH 22/35] Add shopfloor_reception_packaging_dimension_mobile --- .../README.rst | 79 +++++++++ .../__init__.py | 0 .../__manifest__.py | 19 +++ .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 4 + .../scenario/reception_packaging_dimension.js | 150 ++++++++++++++++++ .../templates/assets.xml | 25 +++ 7 files changed, 278 insertions(+) create mode 100644 shopfloor_reception_packaging_dimension_mobile/README.rst create mode 100644 shopfloor_reception_packaging_dimension_mobile/__init__.py create mode 100644 shopfloor_reception_packaging_dimension_mobile/__manifest__.py create mode 100644 shopfloor_reception_packaging_dimension_mobile/readme/CONTRIBUTORS.rst create mode 100644 shopfloor_reception_packaging_dimension_mobile/readme/DESCRIPTION.rst create mode 100644 shopfloor_reception_packaging_dimension_mobile/static/src/scenario/reception_packaging_dimension.js create mode 100644 shopfloor_reception_packaging_dimension_mobile/templates/assets.xml diff --git a/shopfloor_reception_packaging_dimension_mobile/README.rst b/shopfloor_reception_packaging_dimension_mobile/README.rst new file mode 100644 index 00000000000..326943dfe9b --- /dev/null +++ b/shopfloor_reception_packaging_dimension_mobile/README.rst @@ -0,0 +1,79 @@ +============================================= +Shopfloor Checkout Package Measurement Mobile +============================================= + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! 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%2Fwms-lightgray.png?logo=github + :target: https://github.com/OCA/wms/tree/14.0/shopfloor_checkout_package_measurement_mobile + :alt: OCA/wms +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/wms-14-0/wms-14-0-shopfloor_checkout_package_measurement_mobile + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/285/14.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module adds the front end part for the `shopfloor_checkout_package_measurement` module. +Allowing to set package measurements from the mobile shopfloor application. + +.. 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 + +Contributors +~~~~~~~~~~~~ + +* Thierry Ducrest + +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/wms `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/shopfloor_reception_packaging_dimension_mobile/__init__.py b/shopfloor_reception_packaging_dimension_mobile/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/shopfloor_reception_packaging_dimension_mobile/__manifest__.py b/shopfloor_reception_packaging_dimension_mobile/__manifest__.py new file mode 100644 index 00000000000..503602e7377 --- /dev/null +++ b/shopfloor_reception_packaging_dimension_mobile/__manifest__.py @@ -0,0 +1,19 @@ +# Copyright 2023 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +{ + "name": "Shopfloor Reception Packaging Dimension Mobile", + "summary": "Frontend for the packaging dimension on reception scenario", + "version": "14.0.1.0.0", + "development_status": "Alpha", + "category": "Inventory", + "website": "https://github.com/OCA/wms", + "author": "Camptocamp, Odoo Community Association (OCA)", + "maintainers": ["TDu"], + "license": "AGPL-3", + "depends": [ + "shopfloor_reception_mobile", + "shopfloor_reception_packaging_dimension", + ], + "data": ["templates/assets.xml"], +} diff --git a/shopfloor_reception_packaging_dimension_mobile/readme/CONTRIBUTORS.rst b/shopfloor_reception_packaging_dimension_mobile/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000000..0dd376faecb --- /dev/null +++ b/shopfloor_reception_packaging_dimension_mobile/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Thierry Ducrest diff --git a/shopfloor_reception_packaging_dimension_mobile/readme/DESCRIPTION.rst b/shopfloor_reception_packaging_dimension_mobile/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..ab7978b5619 --- /dev/null +++ b/shopfloor_reception_packaging_dimension_mobile/readme/DESCRIPTION.rst @@ -0,0 +1,4 @@ +This module adds the front end part for the `shopfloor_reception_packaging_dimension` +module. Allowing to set dimension on packaging related to the product being processed, +if they are not set already. +The option needs to be enable on the shopfloor menu. diff --git a/shopfloor_reception_packaging_dimension_mobile/static/src/scenario/reception_packaging_dimension.js b/shopfloor_reception_packaging_dimension_mobile/static/src/scenario/reception_packaging_dimension.js new file mode 100644 index 00000000000..dc75b3f9755 --- /dev/null +++ b/shopfloor_reception_packaging_dimension_mobile/static/src/scenario/reception_packaging_dimension.js @@ -0,0 +1,150 @@ +/** + * Copyright 2023 Camptocamp SA (http://www.camptocamp.com) + * License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + */ + +import {process_registry} from "/shopfloor_mobile_base/static/wms/src/services/process_registry.js"; + +import {reception_states} from "/shopfloor_reception_mobile/static/src/scenario/reception_states.js"; + +// Get the original template of the reception scenario +const reception_scenario = process_registry.get("reception"); +const template = reception_scenario.component.template; +// And inject the new state template (for this module) into it +const pos = template.indexOf(""); + +const new_template = + template.substring(0, pos) + + ` +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + Done + + + + + + Skip + + + +
+
+ +` + + template.substring(pos); + +// Extend the reception scenario with : +// - the new patched template +// - the js code for the new state +const ReceptionPackageDimension = process_registry.extend("reception", { + template: new_template, + "methods._get_states": function () { + let states = reception_states.bind(this)(); + states["set_packaging_dimension"] = { + display_info: { + title: "Set packaging dimension", + }, + events: { + go_back: "on_back", + }, + get_payload_set_packaging_dimension: () => { + let values = { + picking_id: this.state.data.picking.id, + selected_line_id: this.state.data.selected_move_line.id, + packaging_id: this.state.data.packaging.id, + }; + const measurements = [ + "length", + "width", + "height", + "max_weight", + "qty", + "barcode", + ]; + for (const measurement of measurements) { + values[measurement] = this.state.data.packaging[measurement]; + } + return values; + }, + on_skip: () => { + const payload = this.state.get_payload_set_packaging_dimension(); + payload["cancel"] = true; + this.wait_call(this.odoo.call("set_packaging_dimension", payload)); + }, + on_done: () => { + const payload = this.state.get_payload_set_packaging_dimension(); + this.wait_call(this.odoo.call("set_packaging_dimension", payload)); + }, + }; + return states; + }, +}); + +process_registry.replace("reception", ReceptionPackageDimension); diff --git a/shopfloor_reception_packaging_dimension_mobile/templates/assets.xml b/shopfloor_reception_packaging_dimension_mobile/templates/assets.xml new file mode 100644 index 00000000000..000d0fa522b --- /dev/null +++ b/shopfloor_reception_packaging_dimension_mobile/templates/assets.xml @@ -0,0 +1,25 @@ + + + + + + + From 12f4c40882ed6893e203adbbaf67861c21c33bba Mon Sep 17 00:00:00 2001 From: Thierry Ducrest Date: Tue, 11 Jul 2023 13:53:58 +0200 Subject: [PATCH 23/35] sh_reception_packaging_dimension_mobile: refactor for extensibility --- .../scenario/reception_packaging_dimension.js | 23 +++++++------------ 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/shopfloor_reception_packaging_dimension_mobile/static/src/scenario/reception_packaging_dimension.js b/shopfloor_reception_packaging_dimension_mobile/static/src/scenario/reception_packaging_dimension.js index dc75b3f9755..980adbbb2ac 100644 --- a/shopfloor_reception_packaging_dimension_mobile/static/src/scenario/reception_packaging_dimension.js +++ b/shopfloor_reception_packaging_dimension_mobile/static/src/scenario/reception_packaging_dimension.js @@ -5,14 +5,12 @@ import {process_registry} from "/shopfloor_mobile_base/static/wms/src/services/process_registry.js"; -import {reception_states} from "/shopfloor_reception_mobile/static/src/scenario/reception_states.js"; - -// Get the original template of the reception scenario const reception_scenario = process_registry.get("reception"); +const _get_states = reception_scenario.component.methods._get_states; +// Get the original template of the reception scenario const template = reception_scenario.component.template; // And inject the new state template (for this module) into it const pos = template.indexOf(""); - const new_template = template.substring(0, pos) + ` @@ -77,7 +75,7 @@ const new_template = v-model="state.data.packaging.max_weight" > - + @@ -105,8 +103,11 @@ const new_template = // - the js code for the new state const ReceptionPackageDimension = process_registry.extend("reception", { template: new_template, + "methods.get_packaging_measurements": function () { + return ["length", "width", "height", "max_weight", "qty", "barcode"]; + }, "methods._get_states": function () { - let states = reception_states.bind(this)(); + let states = _get_states.bind(this)(); states["set_packaging_dimension"] = { display_info: { title: "Set packaging dimension", @@ -120,15 +121,7 @@ const ReceptionPackageDimension = process_registry.extend("reception", { selected_line_id: this.state.data.selected_move_line.id, packaging_id: this.state.data.packaging.id, }; - const measurements = [ - "length", - "width", - "height", - "max_weight", - "qty", - "barcode", - ]; - for (const measurement of measurements) { + for (const measurement of this.get_packaging_measurements()) { values[measurement] = this.state.data.packaging[measurement]; } return values; From c5cc5a81ad6e956b63c6051976d63e0df9c48cd8 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Tue, 7 Nov 2023 09:11:12 +0000 Subject: [PATCH 24/35] [UPD] Update shopfloor_reception_packaging_dimension_mobile.pot --- ...opfloor_reception_packaging_dimension_mobile.pot | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 shopfloor_reception_packaging_dimension_mobile/i18n/shopfloor_reception_packaging_dimension_mobile.pot diff --git a/shopfloor_reception_packaging_dimension_mobile/i18n/shopfloor_reception_packaging_dimension_mobile.pot b/shopfloor_reception_packaging_dimension_mobile/i18n/shopfloor_reception_packaging_dimension_mobile.pot new file mode 100644 index 00000000000..4d8b20f912f --- /dev/null +++ b/shopfloor_reception_packaging_dimension_mobile/i18n/shopfloor_reception_packaging_dimension_mobile.pot @@ -0,0 +1,13 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +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" From 1d4cf7dea0a430d5ff2e1ad09a5ab89b78d98411 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 7 Nov 2023 09:36:44 +0000 Subject: [PATCH 25/35] [BOT] post-merge updates --- .../README.rst | 43 +- .../__manifest__.py | 2 +- .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 432 ++++++++++++++++++ 4 files changed, 461 insertions(+), 16 deletions(-) create mode 100644 shopfloor_reception_packaging_dimension_mobile/static/description/icon.png create mode 100644 shopfloor_reception_packaging_dimension_mobile/static/description/index.html diff --git a/shopfloor_reception_packaging_dimension_mobile/README.rst b/shopfloor_reception_packaging_dimension_mobile/README.rst index 326943dfe9b..0c7b199f48f 100644 --- a/shopfloor_reception_packaging_dimension_mobile/README.rst +++ b/shopfloor_reception_packaging_dimension_mobile/README.rst @@ -1,11 +1,14 @@ -============================================= -Shopfloor Checkout Package Measurement Mobile -============================================= +============================================== +Shopfloor Reception Packaging Dimension Mobile +============================================== -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:0a022165b9c574559c392b7d2b419b9c0373bc82fc777cc497f937a75738af1a + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png :target: https://odoo-community.org/page/development-status @@ -14,19 +17,21 @@ Shopfloor Checkout Package Measurement Mobile :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fwms-lightgray.png?logo=github - :target: https://github.com/OCA/wms/tree/14.0/shopfloor_checkout_package_measurement_mobile + :target: https://github.com/OCA/wms/tree/14.0/shopfloor_reception_packaging_dimension_mobile :alt: OCA/wms .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/wms-14-0/wms-14-0-shopfloor_checkout_package_measurement_mobile + :target: https://translation.odoo-community.org/projects/wms-14-0/wms-14-0-shopfloor_reception_packaging_dimension_mobile :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/285/14.0 - :alt: Try me on Runbot +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/wms&target_branch=14.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| -This module adds the front end part for the `shopfloor_checkout_package_measurement` module. -Allowing to set package measurements from the mobile shopfloor application. +This module adds the front end part for the `shopfloor_reception_packaging_dimension` +module. Allowing to set dimension on packaging related to the product being processed, +if they are not set already. +The option needs to be enable on the shopfloor menu. .. IMPORTANT:: This is an alpha version, the data model and design can change at any time without warning. @@ -43,8 +48,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 `_. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -74,6 +79,14 @@ 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/wms `_ project on GitHub. +.. |maintainer-TDu| image:: https://github.com/TDu.png?size=40px + :target: https://github.com/TDu + :alt: TDu + +Current `maintainer `__: + +|maintainer-TDu| + +This module is part of the `OCA/wms `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/shopfloor_reception_packaging_dimension_mobile/__manifest__.py b/shopfloor_reception_packaging_dimension_mobile/__manifest__.py index 503602e7377..6d7fb613af5 100644 --- a/shopfloor_reception_packaging_dimension_mobile/__manifest__.py +++ b/shopfloor_reception_packaging_dimension_mobile/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Shopfloor Reception Packaging Dimension Mobile", "summary": "Frontend for the packaging dimension on reception scenario", - "version": "14.0.1.0.0", + "version": "14.0.1.1.0", "development_status": "Alpha", "category": "Inventory", "website": "https://github.com/OCA/wms", diff --git a/shopfloor_reception_packaging_dimension_mobile/static/description/icon.png b/shopfloor_reception_packaging_dimension_mobile/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/shopfloor_reception_packaging_dimension_mobile/static/description/index.html b/shopfloor_reception_packaging_dimension_mobile/static/description/index.html new file mode 100644 index 00000000000..c1d0d932025 --- /dev/null +++ b/shopfloor_reception_packaging_dimension_mobile/static/description/index.html @@ -0,0 +1,432 @@ + + + + + + +Shopfloor Reception Packaging Dimension Mobile + + + +
+

Shopfloor Reception Packaging Dimension Mobile

+ + +

Alpha License: AGPL-3 OCA/wms Translate me on Weblate Try me on Runboat

+

This module adds the front end part for the shopfloor_reception_packaging_dimension +module. Allowing to set dimension on packaging related to the product being processed, +if they are not set already. +The option needs to be enable on the shopfloor menu.

+
+

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

+ +
+

Bug Tracker

+

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

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Camptocamp
  • +
+
+
+

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.

+

Current maintainer:

+

TDu

+

This module is part of the OCA/wms project on GitHub.

+

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

+
+
+
+ + From 6be6755ef0b3d4f1a63cf86cdd88ee7653b39fb8 Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 7 Nov 2023 13:10:11 +0000 Subject: [PATCH 26/35] Added translation using Weblate (Italian) --- .../i18n/it.po | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 shopfloor_reception_packaging_dimension_mobile/i18n/it.po diff --git a/shopfloor_reception_packaging_dimension_mobile/i18n/it.po b/shopfloor_reception_packaging_dimension_mobile/i18n/it.po new file mode 100644 index 00000000000..9ce4346f63e --- /dev/null +++ b/shopfloor_reception_packaging_dimension_mobile/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" From 45ce1d0e460f3c1645f5ec874e7d56cd0d0dce2c Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Fri, 5 Sep 2025 13:58:52 +0200 Subject: [PATCH 27/35] [IMP] shopfloor_reception_packaging_dimension_mobile: pre-commit autofixes --- .../addons/shopfloor_reception_packaging_dimension_mobile | 1 + .../shopfloor_reception_packaging_dimension_mobile/setup.py | 6 ++++++ 2 files changed, 7 insertions(+) create mode 120000 setup/shopfloor_reception_packaging_dimension_mobile/odoo/addons/shopfloor_reception_packaging_dimension_mobile create mode 100644 setup/shopfloor_reception_packaging_dimension_mobile/setup.py diff --git a/setup/shopfloor_reception_packaging_dimension_mobile/odoo/addons/shopfloor_reception_packaging_dimension_mobile b/setup/shopfloor_reception_packaging_dimension_mobile/odoo/addons/shopfloor_reception_packaging_dimension_mobile new file mode 120000 index 00000000000..a9ab8c21f8f --- /dev/null +++ b/setup/shopfloor_reception_packaging_dimension_mobile/odoo/addons/shopfloor_reception_packaging_dimension_mobile @@ -0,0 +1 @@ +../../../../shopfloor_reception_packaging_dimension_mobile \ No newline at end of file diff --git a/setup/shopfloor_reception_packaging_dimension_mobile/setup.py b/setup/shopfloor_reception_packaging_dimension_mobile/setup.py new file mode 100644 index 00000000000..28c57bb6403 --- /dev/null +++ b/setup/shopfloor_reception_packaging_dimension_mobile/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) From 483108767d993aa920522a2de02e3d26fb00514c Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Fri, 5 Sep 2025 14:00:24 +0200 Subject: [PATCH 28/35] [MIG] shopfloor_reception_packaging_dimension_mobile: Migration to 16.0 --- .../README.rst | 20 ++++++--------- .../__manifest__.py | 3 +-- .../readme/CONTRIBUTORS.rst | 1 + .../static/description/index.html | 25 ++++++++----------- 4 files changed, 21 insertions(+), 28 deletions(-) diff --git a/shopfloor_reception_packaging_dimension_mobile/README.rst b/shopfloor_reception_packaging_dimension_mobile/README.rst index 0c7b199f48f..61ce5c6b1f0 100644 --- a/shopfloor_reception_packaging_dimension_mobile/README.rst +++ b/shopfloor_reception_packaging_dimension_mobile/README.rst @@ -10,20 +10,20 @@ Shopfloor Reception Packaging Dimension Mobile !! source digest: sha256:0a022165b9c574559c392b7d2b419b9c0373bc82fc777cc497f937a75738af1a !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -.. |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%2Fwms-lightgray.png?logo=github - :target: https://github.com/OCA/wms/tree/14.0/shopfloor_reception_packaging_dimension_mobile + :target: https://github.com/OCA/wms/tree/16.0/shopfloor_reception_packaging_dimension_mobile :alt: OCA/wms .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/wms-14-0/wms-14-0-shopfloor_reception_packaging_dimension_mobile + :target: https://translation.odoo-community.org/projects/wms-16-0/wms-16-0-shopfloor_reception_packaging_dimension_mobile :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/wms&target_branch=14.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/wms&target_branch=16.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -33,11 +33,6 @@ module. Allowing to set dimension on packaging related to the product being proc if they are not set already. The option needs to be enable on the shopfloor menu. -.. 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:: @@ -49,7 +44,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -65,6 +60,7 @@ Contributors ~~~~~~~~~~~~ * Thierry Ducrest +* Denis Roussel Maintainers ~~~~~~~~~~~ @@ -87,6 +83,6 @@ Current `maintainer `__: |maintainer-TDu| -This module is part of the `OCA/wms `_ project on GitHub. +This module is part of the `OCA/wms `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/shopfloor_reception_packaging_dimension_mobile/__manifest__.py b/shopfloor_reception_packaging_dimension_mobile/__manifest__.py index 6d7fb613af5..0fbd8188128 100644 --- a/shopfloor_reception_packaging_dimension_mobile/__manifest__.py +++ b/shopfloor_reception_packaging_dimension_mobile/__manifest__.py @@ -4,8 +4,7 @@ { "name": "Shopfloor Reception Packaging Dimension Mobile", "summary": "Frontend for the packaging dimension on reception scenario", - "version": "14.0.1.1.0", - "development_status": "Alpha", + "version": "16.0.1.0.0", "category": "Inventory", "website": "https://github.com/OCA/wms", "author": "Camptocamp, Odoo Community Association (OCA)", diff --git a/shopfloor_reception_packaging_dimension_mobile/readme/CONTRIBUTORS.rst b/shopfloor_reception_packaging_dimension_mobile/readme/CONTRIBUTORS.rst index 0dd376faecb..9dda9dc4be2 100644 --- a/shopfloor_reception_packaging_dimension_mobile/readme/CONTRIBUTORS.rst +++ b/shopfloor_reception_packaging_dimension_mobile/readme/CONTRIBUTORS.rst @@ -1 +1,2 @@ * Thierry Ducrest +* Denis Roussel diff --git a/shopfloor_reception_packaging_dimension_mobile/static/description/index.html b/shopfloor_reception_packaging_dimension_mobile/static/description/index.html index c1d0d932025..6b74bc7bd66 100644 --- a/shopfloor_reception_packaging_dimension_mobile/static/description/index.html +++ b/shopfloor_reception_packaging_dimension_mobile/static/description/index.html @@ -1,4 +1,3 @@ - @@ -9,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -275,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -301,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -369,17 +369,11 @@

Shopfloor Reception Packaging Dimension Mobile

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:0a022165b9c574559c392b7d2b419b9c0373bc82fc777cc497f937a75738af1a !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Alpha License: AGPL-3 OCA/wms Translate me on Weblate Try me on Runboat

+

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

This module adds the front end part for the shopfloor_reception_packaging_dimension module. Allowing to set dimension on packaging related to the product being processed, if they are not set already. The option needs to be enable on the shopfloor menu.

-
-

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

    @@ -397,7 +391,7 @@

    Bug Tracker

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

    +feedback.

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

@@ -412,18 +406,21 @@

Authors

Contributors

Maintainers

This module is maintained by the OCA.

-Odoo Community Association + +Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

TDu

-

This module is part of the OCA/wms project on GitHub.

+

This module is part of the OCA/wms project on GitHub.

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

From 91391461ff2536972c4f733a8d3fe4fdf2d8d4cb Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Mon, 13 Oct 2025 10:31:40 +0200 Subject: [PATCH 29/35] [FIX] shopfloor_reception_packaging_dimension_mobile: Use correct field for packaging weight --- .../static/src/scenario/reception_packaging_dimension.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/shopfloor_reception_packaging_dimension_mobile/static/src/scenario/reception_packaging_dimension.js b/shopfloor_reception_packaging_dimension_mobile/static/src/scenario/reception_packaging_dimension.js index 980adbbb2ac..30138f958c8 100644 --- a/shopfloor_reception_packaging_dimension_mobile/static/src/scenario/reception_packaging_dimension.js +++ b/shopfloor_reception_packaging_dimension_mobile/static/src/scenario/reception_packaging_dimension.js @@ -68,11 +68,11 @@ const new_template = @@ -104,7 +104,7 @@ const new_template = const ReceptionPackageDimension = process_registry.extend("reception", { template: new_template, "methods.get_packaging_measurements": function () { - return ["length", "width", "height", "max_weight", "qty", "barcode"]; + return ["length", "width", "height", "weight", "qty", "barcode"]; }, "methods._get_states": function () { let states = _get_states.bind(this)(); From ed08a9046ef282d2569dc35349200938fbf45e1c Mon Sep 17 00:00:00 2001 From: Mmequignon Date: Tue, 23 Sep 2025 10:56:26 +0200 Subject: [PATCH 30/35] shopfloor_reception_packaging_dimension: Collect dimension optional when barcode empty --- .../models/product_packaging_level.py | 7 +- .../services/reception.py | 5 +- .../tests/test_set_package_dimension.py | 70 +++++++++++-------- .../views/product_packaging_level.xml | 1 + 4 files changed, 51 insertions(+), 32 deletions(-) diff --git a/shopfloor_reception_packaging_dimension/models/product_packaging_level.py b/shopfloor_reception_packaging_dimension/models/product_packaging_level.py index f766f5be621..b0070d9262f 100644 --- a/shopfloor_reception_packaging_dimension/models/product_packaging_level.py +++ b/shopfloor_reception_packaging_dimension/models/product_packaging_level.py @@ -3,7 +3,7 @@ from odoo import fields, models HELP_TEXT = ( - "When marked, shopfloor will require to set this dimension during " + "When marked, shopfloor will require to set dimensions during " "reception if undefined on the packaging" ) @@ -31,3 +31,8 @@ class ProductPackagingLevel(models.Model): default=True, help=HELP_TEXT, ) + shopfloor_collect_barcode = fields.Boolean( + "Collect Barcode", + default=True, + help=HELP_TEXT, + ) diff --git a/shopfloor_reception_packaging_dimension/services/reception.py b/shopfloor_reception_packaging_dimension/services/reception.py index 695c6d0b8d8..bcce750e136 100644 --- a/shopfloor_reception_packaging_dimension/services/reception.py +++ b/shopfloor_reception_packaging_dimension/services/reception.py @@ -52,7 +52,10 @@ def _get_domain_packaging_needs_dimension(self): ("weight", "=", 0), ("weight", "=", False), ], - [("barcode", "=", False)], + [ + ("packaging_level_id.shopfloor_collect_barcode", "=", True), + ("barcode", "=", False), + ], ] ) diff --git a/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py b/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py index d797f6b4c03..9f31e223a2b 100644 --- a/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py +++ b/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py @@ -23,6 +23,7 @@ def setUpClassBaseData(cls): "shopfloor_collect_width": True, "shopfloor_collect_height": True, "shopfloor_collect_weight": True, + "shopfloor_collect_barcode": True, } ) # Picking has 3 products @@ -88,6 +89,7 @@ def test_scan_product_dimension_already_defined(self): "width": 5.0, "height": 2.0, "weight": 1.5, + "barcode": "BARCODE", } ) response = self.service.dispatch( @@ -110,16 +112,48 @@ def test_scan_product_dimension_already_defined(self): }, ) - def test_scan_product_dimension_not_needed(self): + def test_show_set_dimension_screen(self): self.product_a.tracking = "none" - self.default_packaging_level.sudo().write( + # Configure product so it should hit every condition + self.product_a.packaging_ids.write( { - "shopfloor_collect_length": False, - "shopfloor_collect_width": False, - "shopfloor_collect_height": False, - "shopfloor_collect_weight": False, + "packaging_length": 0, + "width": 0, + "height": 0, + "weight": 0, + "barcode": False, } ) + # Set collect values to false + collect_field_names = [ + "shopfloor_collect_length", + "shopfloor_collect_width", + "shopfloor_collect_height", + "shopfloor_collect_weight", + "shopfloor_collect_barcode", + ] + no_collect_dict = {field: False for field in collect_field_names} + selected_move_line = self.picking.move_line_ids.filtered( + lambda li: li.product_id == self.product_a + ) + for field_name in no_collect_dict.keys(): + # For each field, set only this condition to true, and ensure next screen + # is set_dimension + vals = dict(no_collect_dict, **{field_name: True}) + self.default_packaging_level.sudo().write(vals) + response = self.service.dispatch( + "scan_line", + params={ + "picking_id": self.picking.id, + "barcode": self.product_a.barcode, + }, + ) + self._assert_response_set_dimension( + response, self.picking, selected_move_line, self.product_a_packaging + ) + # when all collect values are False, no dimension is needed, next screen + # is set_dimension + self.default_packaging_level.sudo().write(no_collect_dict) response = self.service.dispatch( "scan_line", params={ @@ -127,9 +161,6 @@ def test_scan_product_dimension_not_needed(self): "barcode": self.product_a.barcode, }, ) - selected_move_line = self.picking.move_line_ids.filtered( - lambda li: li.product_id == self.product_a - ) self.assert_response( response, next_state="set_quantity", @@ -140,27 +171,6 @@ def test_scan_product_dimension_not_needed(self): }, ) - def test_scan_lot_ask_for_dimension(self): - self.product_a.tracking = "none" - selected_move_line = self.picking.move_line_ids.filtered( - lambda li: li.product_id == self.product_a - ) - self.assertTrue(self.product_a.packaging_ids) - response = self.service.dispatch( - "set_lot_confirm_action", - params={ - "picking_id": self.picking.id, - "selected_line_id": selected_move_line.id, - }, - ) - self.data.picking(self.picking) - selected_move_line = self.picking.move_line_ids.filtered( - lambda li: li.product_id == self.product_a - ) - self._assert_response_set_dimension( - response, self.picking, selected_move_line, self.product_a_packaging - ) - def test_set_packaging_dimension(self): selected_move_line = self.picking.move_line_ids.filtered( lambda li: li.product_id == self.product_a diff --git a/shopfloor_reception_packaging_dimension/views/product_packaging_level.xml b/shopfloor_reception_packaging_dimension/views/product_packaging_level.xml index 93950b5f655..c8634809a03 100644 --- a/shopfloor_reception_packaging_dimension/views/product_packaging_level.xml +++ b/shopfloor_reception_packaging_dimension/views/product_packaging_level.xml @@ -15,6 +15,7 @@ + From 1ad03b366b0eeabffe5f2738d9c63f0f6cd7e44c Mon Sep 17 00:00:00 2001 From: Nicolas Delbovier Date: Thu, 26 Feb 2026 08:13:13 +0100 Subject: [PATCH 31/35] [IMP] shopfloor_reception_packaging_dimension: format readme and index.html --- .../README.rst | 6 ++++- .../static/description/index.html | 24 ++++++++++++------- .../README.rst | 6 ++++- .../static/description/index.html | 24 ++++++++++++------- 4 files changed, 40 insertions(+), 20 deletions(-) diff --git a/shopfloor_reception_packaging_dimension/README.rst b/shopfloor_reception_packaging_dimension/README.rst index 9ad7f5dc789..fe2cb72b8c3 100644 --- a/shopfloor_reception_packaging_dimension/README.rst +++ b/shopfloor_reception_packaging_dimension/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ======================================= Shopfloor Reception Packaging Dimension ======================================= @@ -13,7 +17,7 @@ Shopfloor Reception Packaging Dimension .. |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 +.. |badge2| image:: https://img.shields.io/badge/license-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%2Fwms-lightgray.png?logo=github diff --git a/shopfloor_reception_packaging_dimension/static/description/index.html b/shopfloor_reception_packaging_dimension/static/description/index.html index 84e2fae6a45..d28b1eb9da8 100644 --- a/shopfloor_reception_packaging_dimension/static/description/index.html +++ b/shopfloor_reception_packaging_dimension/static/description/index.html @@ -3,7 +3,7 @@ -Shopfloor Reception Packaging Dimension +README.rst -
-

Shopfloor Reception Packaging Dimension

+
+ + +Odoo Community Association + +
+

Shopfloor Reception Packaging Dimension

-

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

+

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

This module adds an option to the reception scenario. When activated. Before setting the quantity for the reception, if there is product packaging related to the product received with missing information, the @@ -388,7 +393,7 @@

Shopfloor Reception Packaging Dimension

-

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 to smash it by providing a detailed and welcomed @@ -396,22 +401,22 @@

Bug Tracker

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

+
diff --git a/shopfloor_reception_packaging_dimension_mobile/README.rst b/shopfloor_reception_packaging_dimension_mobile/README.rst index 61ce5c6b1f0..0b682c68b53 100644 --- a/shopfloor_reception_packaging_dimension_mobile/README.rst +++ b/shopfloor_reception_packaging_dimension_mobile/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ============================================== Shopfloor Reception Packaging Dimension Mobile ============================================== @@ -13,7 +17,7 @@ Shopfloor Reception Packaging Dimension Mobile .. |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 +.. |badge2| image:: https://img.shields.io/badge/license-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%2Fwms-lightgray.png?logo=github diff --git a/shopfloor_reception_packaging_dimension_mobile/static/description/index.html b/shopfloor_reception_packaging_dimension_mobile/static/description/index.html index 6b74bc7bd66..ebeec41788d 100644 --- a/shopfloor_reception_packaging_dimension_mobile/static/description/index.html +++ b/shopfloor_reception_packaging_dimension_mobile/static/description/index.html @@ -3,7 +3,7 @@ -Shopfloor Reception Packaging Dimension Mobile +README.rst -
-

Shopfloor Reception Packaging Dimension Mobile

+
+ + +Odoo Community Association + +
+

Shopfloor Reception Packaging Dimension Mobile

-

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

+

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

This module adds the front end part for the shopfloor_reception_packaging_dimension module. Allowing to set dimension on packaging related to the product being processed, if they are not set already. @@ -387,7 +392,7 @@

Shopfloor Reception Packaging Dimension Mobile

-

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 to smash it by providing a detailed and welcomed @@ -395,22 +400,22 @@

Bug Tracker

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

+
From 508436fc5dea33f531516545937fa8dfeee115bc Mon Sep 17 00:00:00 2001 From: Nicolas Delbovier Date: Thu, 26 Feb 2026 08:13:20 +0100 Subject: [PATCH 32/35] [FIX] shopfloor_reception_packaging_dimension: prevent session recovery noise in tests Reset 'shopfloor_user_id' on the move line after the assertion to prevent subsequent test steps from triggering a session recovery warning. --- .../tests/test_set_package_dimension.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py b/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py index 9f31e223a2b..d04d9e335c7 100644 --- a/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py +++ b/shopfloor_reception_packaging_dimension/tests/test_set_package_dimension.py @@ -151,6 +151,9 @@ def test_show_set_dimension_screen(self): self._assert_response_set_dimension( response, self.picking, selected_move_line, self.product_a_packaging ) + # To avoid the message about recovering a session + selected_move_line.shopfloor_user_id = False + # when all collect values are False, no dimension is needed, next screen # is set_dimension self.default_packaging_level.sudo().write(no_collect_dict) From ee393ae0d345ac2f91c4d152ab0f7152c56e1a4a Mon Sep 17 00:00:00 2001 From: oca-ci Date: Fri, 24 Apr 2026 12:13:16 +0000 Subject: [PATCH 33/35] [UPD] Update shopfloor_reception_packaging_dimension.pot --- .../i18n/shopfloor_reception_packaging_dimension.pot | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/shopfloor_reception_packaging_dimension/i18n/shopfloor_reception_packaging_dimension.pot b/shopfloor_reception_packaging_dimension/i18n/shopfloor_reception_packaging_dimension.pot index bedc200b543..d4dac442dc2 100644 --- a/shopfloor_reception_packaging_dimension/i18n/shopfloor_reception_packaging_dimension.pot +++ b/shopfloor_reception_packaging_dimension/i18n/shopfloor_reception_packaging_dimension.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 18.0\n" +"Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -13,6 +13,11 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_barcode +msgid "Collect Barcode" +msgstr "" + #. module: shopfloor_reception_packaging_dimension #: model:ir.model.fields,field_description:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_height msgid "Collect height" @@ -66,11 +71,12 @@ msgid "Shopfloor" msgstr "" #. module: shopfloor_reception_packaging_dimension +#: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_barcode #: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_height #: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_length #: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_weight #: model:ir.model.fields,help:shopfloor_reception_packaging_dimension.field_product_packaging_level__shopfloor_collect_width msgid "" -"When marked, shopfloor will require to set this dimension during reception " -"if undefined on the packaging" +"When marked, shopfloor will require to set dimensions during reception if " +"undefined on the packaging" msgstr "" From 17e0dfe9137ba88fa3d2a18176fbd45ffbcc9fd2 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Fri, 24 Apr 2026 12:13:16 +0000 Subject: [PATCH 34/35] [UPD] Update shopfloor_reception_packaging_dimension_mobile.pot --- .../i18n/shopfloor_reception_packaging_dimension_mobile.pot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shopfloor_reception_packaging_dimension_mobile/i18n/shopfloor_reception_packaging_dimension_mobile.pot b/shopfloor_reception_packaging_dimension_mobile/i18n/shopfloor_reception_packaging_dimension_mobile.pot index 4d8b20f912f..78d58d53fe0 100644 --- a/shopfloor_reception_packaging_dimension_mobile/i18n/shopfloor_reception_packaging_dimension_mobile.pot +++ b/shopfloor_reception_packaging_dimension_mobile/i18n/shopfloor_reception_packaging_dimension_mobile.pot @@ -3,7 +3,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" +"Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" From c28a95de5116d6ce0d22daa0bc5ac4c3b71458d3 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 24 Apr 2026 12:26:19 +0000 Subject: [PATCH 35/35] [BOT] post-merge updates --- README.md | 2 ++ setup/_metapackage/VERSION.txt | 2 +- setup/_metapackage/setup.py | 2 ++ shopfloor_reception_packaging_dimension/README.rst | 2 +- .../static/description/index.html | 2 +- shopfloor_reception_packaging_dimension_mobile/README.rst | 2 +- .../static/description/index.html | 2 +- 7 files changed, 9 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 485ebe3bf98..ad919e6a2cc 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,8 @@ addon | version | maintainers | summary [shopfloor_mobile_base_auth_api_key](shopfloor_mobile_base_auth_api_key/) | 16.0.1.0.0 | | Provides authentication via API key to Shopfloor base mobile app [shopfloor_reception](shopfloor_reception/) | 16.0.1.6.8 | mmequignon JuMiSanAr | Reception scenario for shopfloor [shopfloor_reception_mobile](shopfloor_reception_mobile/) | 16.0.1.1.3 | JuMiSanAr | Scenario for receiving products +[shopfloor_reception_packaging_dimension](shopfloor_reception_packaging_dimension/) | 16.0.1.0.0 | TDu | Collect Packaging Dimension from the Reception scenario +[shopfloor_reception_packaging_dimension_mobile](shopfloor_reception_packaging_dimension_mobile/) | 16.0.1.0.0 | TDu | Frontend for the packaging dimension on reception scenario [shopfloor_reception_refund_return](shopfloor_reception_refund_return/) | 16.0.1.0.0 | mmequignon | Mark created return as to refund [shopfloor_rest_log](shopfloor_rest_log/) | 16.0.1.0.0 | simahawk | Integrate rest_log into Shopfloor app [shopfloor_workstation](shopfloor_workstation/) | 16.0.1.0.0 | | Manage warehouse workstation with barcode scanners diff --git a/setup/_metapackage/VERSION.txt b/setup/_metapackage/VERSION.txt index 431a9eeea71..c7c947ba9af 100644 --- a/setup/_metapackage/VERSION.txt +++ b/setup/_metapackage/VERSION.txt @@ -1 +1 @@ -16.0.20250707.0 \ No newline at end of file +16.0.20260424.0 \ No newline at end of file diff --git a/setup/_metapackage/setup.py b/setup/_metapackage/setup.py index 8e2d79ab95b..0016cfda3d7 100644 --- a/setup/_metapackage/setup.py +++ b/setup/_metapackage/setup.py @@ -24,6 +24,8 @@ 'odoo-addon-shopfloor_mobile_base_auth_api_key>=16.0dev,<16.1dev', 'odoo-addon-shopfloor_reception>=16.0dev,<16.1dev', 'odoo-addon-shopfloor_reception_mobile>=16.0dev,<16.1dev', + 'odoo-addon-shopfloor_reception_packaging_dimension>=16.0dev,<16.1dev', + 'odoo-addon-shopfloor_reception_packaging_dimension_mobile>=16.0dev,<16.1dev', 'odoo-addon-shopfloor_reception_refund_return>=16.0dev,<16.1dev', 'odoo-addon-shopfloor_rest_log>=16.0dev,<16.1dev', 'odoo-addon-shopfloor_workstation>=16.0dev,<16.1dev', diff --git a/shopfloor_reception_packaging_dimension/README.rst b/shopfloor_reception_packaging_dimension/README.rst index fe2cb72b8c3..b4f1a9d55cd 100644 --- a/shopfloor_reception_packaging_dimension/README.rst +++ b/shopfloor_reception_packaging_dimension/README.rst @@ -11,7 +11,7 @@ Shopfloor Reception Packaging Dimension !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:9eeb40e76db899eedaf247b7f44f8ccb3222db15482d93d6f80b64e27fdfd2a6 + !! source digest: sha256:10dcd377f02002d46855dc5febcb3c6cb4f2c3b513aced11a7d2419014d82972 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/shopfloor_reception_packaging_dimension/static/description/index.html b/shopfloor_reception_packaging_dimension/static/description/index.html index d28b1eb9da8..9f253cb7e48 100644 --- a/shopfloor_reception_packaging_dimension/static/description/index.html +++ b/shopfloor_reception_packaging_dimension/static/description/index.html @@ -372,7 +372,7 @@

Shopfloor Reception Packaging Dimension

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:9eeb40e76db899eedaf247b7f44f8ccb3222db15482d93d6f80b64e27fdfd2a6 +!! source digest: sha256:10dcd377f02002d46855dc5febcb3c6cb4f2c3b513aced11a7d2419014d82972 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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

This module adds an option to the reception scenario. When activated. diff --git a/shopfloor_reception_packaging_dimension_mobile/README.rst b/shopfloor_reception_packaging_dimension_mobile/README.rst index 0b682c68b53..bbc8970c22a 100644 --- a/shopfloor_reception_packaging_dimension_mobile/README.rst +++ b/shopfloor_reception_packaging_dimension_mobile/README.rst @@ -11,7 +11,7 @@ Shopfloor Reception Packaging Dimension Mobile !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:0a022165b9c574559c392b7d2b419b9c0373bc82fc777cc497f937a75738af1a + !! source digest: sha256:0402ab8d93381963ff108f3191d77ef9efe3b8336f69603a1c0ded61d7c0c2d2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/shopfloor_reception_packaging_dimension_mobile/static/description/index.html b/shopfloor_reception_packaging_dimension_mobile/static/description/index.html index ebeec41788d..3bcdad1513d 100644 --- a/shopfloor_reception_packaging_dimension_mobile/static/description/index.html +++ b/shopfloor_reception_packaging_dimension_mobile/static/description/index.html @@ -372,7 +372,7 @@

Shopfloor Reception Packaging Dimension Mobile

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:0a022165b9c574559c392b7d2b419b9c0373bc82fc777cc497f937a75738af1a +!! source digest: sha256:0402ab8d93381963ff108f3191d77ef9efe3b8336f69603a1c0ded61d7c0c2d2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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

This module adds the front end part for the shopfloor_reception_packaging_dimension