diff --git a/stock_picking_completion_info/__manifest__.py b/stock_picking_completion_info/__manifest__.py index c7fb9fc0818..cd4aa481372 100644 --- a/stock_picking_completion_info/__manifest__.py +++ b/stock_picking_completion_info/__manifest__.py @@ -4,7 +4,7 @@ "name": "Stock Picking Completion Info", "summary": "Display on current document completion information according " "to next operations", - "version": "14.0.1.1.0", + "version": "16.0.1.0.0", "development_status": "Beta", "category": "Warehouse Management", "website": "https://github.com/OCA/wms", diff --git a/stock_picking_completion_info/i18n/es_AR.po b/stock_picking_completion_info/i18n/es_AR.po deleted file mode 100644 index 8f51b4e9567..00000000000 --- a/stock_picking_completion_info/i18n/es_AR.po +++ /dev/null @@ -1,99 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * stock_picking_completion_info -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" -"Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2021-10-19 23:35+0000\n" -"Last-Translator: Ignacio Buioli \n" -"Language-Team: none\n" -"Language: es_AR\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.3.2\n" - -#. module: stock_picking_completion_info -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_picking__completion_info -msgid "Completion Info" -msgstr "Información de Finalización" - -#. module: stock_picking_completion_info -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_picking_type__display_completion_info -msgid "Display Completion Info" -msgstr "Mostrar Información de Finalización" - -#. module: stock_picking_completion_info -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_move__display_name -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_picking__display_name -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_picking_type__display_name -msgid "Display Name" -msgstr "Mostrar Nombre" - -#. module: stock_picking_completion_info -#: model:ir.model.fields.selection,name:stock_picking_completion_info.selection__stock_picking__completion_info__full_order_picking -msgid "" -"Full order picking: You are processing a full order picking that will allow " -"next operation to be processed" -msgstr "" -"Preparación de pedidos completa: está procesando una preparación de pedidos " -"completa que permitirá procesar la siguiente operación" - -#. module: stock_picking_completion_info -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_move__id -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_picking__id -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_picking_type__id -msgid "ID" -msgstr "ID" - -#. module: stock_picking_completion_info -#: model:ir.model.fields,help:stock_picking_completion_info.field_stock_picking_type__display_completion_info -msgid "" -"Inform operator of a completed operation at processing and at completion" -msgstr "" -"Informar al operador de una operación completada durante el procesamiento y " -"al finalizar" - -#. module: stock_picking_completion_info -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_move____last_update -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_picking____last_update -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_picking_type____last_update -msgid "Last Modified on" -msgstr "Última Modificación el" - -#. module: stock_picking_completion_info -#: model:ir.model.fields.selection,name:stock_picking_completion_info.selection__stock_picking__completion_info__last_picking -msgid "" -"Last picking: Completion of this operation allows next operations to be " -"processed." -msgstr "" -"Última entrega: La finalización de esta operación permite procesar las " -"próximas operaciones." - -#. module: stock_picking_completion_info -#: model:ir.model.fields.selection,name:stock_picking_completion_info.selection__stock_picking__completion_info__next_picking_ready -msgid "Next operations are ready to be processed." -msgstr "Las siguientes operaciones están listas para ser procesadas." - -#. module: stock_picking_completion_info -#: model:ir.model.fields.selection,name:stock_picking_completion_info.selection__stock_picking__completion_info__no -msgid "No" -msgstr "No" - -#. module: stock_picking_completion_info -#: model:ir.model,name:stock_picking_completion_info.model_stock_picking_type -msgid "Picking Type" -msgstr "Tipo de Entrega" - -#. module: stock_picking_completion_info -#: model:ir.model,name:stock_picking_completion_info.model_stock_move -msgid "Stock Move" -msgstr "Movimiento de Inventario" - -#. module: stock_picking_completion_info -#: model:ir.model,name:stock_picking_completion_info.model_stock_picking -msgid "Transfer" -msgstr "Transferencia" diff --git a/stock_picking_completion_info/i18n/stock_picking_completion_info.pot b/stock_picking_completion_info/i18n/stock_picking_completion_info.pot index 10d61e3213d..cee66b396fb 100644 --- a/stock_picking_completion_info/i18n/stock_picking_completion_info.pot +++ b/stock_picking_completion_info/i18n/stock_picking_completion_info.pot @@ -4,8 +4,10 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 14.0\n" +"Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-12-02 10:17+0000\n" +"PO-Revision-Date: 2022-12-02 10:17+0000\n" "Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -23,13 +25,6 @@ msgstr "" msgid "Display Completion Info" msgstr "" -#. module: stock_picking_completion_info -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_move__display_name -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_picking__display_name -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_picking_type__display_name -msgid "Display Name" -msgstr "" - #. module: stock_picking_completion_info #: model:ir.model.fields.selection,name:stock_picking_completion_info.selection__stock_picking__completion_info__full_order_picking msgid "" @@ -37,26 +32,12 @@ msgid "" "next operation to be processed" msgstr "" -#. module: stock_picking_completion_info -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_move__id -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_picking__id -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_picking_type__id -msgid "ID" -msgstr "" - #. module: stock_picking_completion_info #: model:ir.model.fields,help:stock_picking_completion_info.field_stock_picking_type__display_completion_info msgid "" "Inform operator of a completed operation at processing and at completion" msgstr "" -#. module: stock_picking_completion_info -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_move____last_update -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_picking____last_update -#: model:ir.model.fields,field_description:stock_picking_completion_info.field_stock_picking_type____last_update -msgid "Last Modified on" -msgstr "" - #. module: stock_picking_completion_info #: model:ir.model.fields.selection,name:stock_picking_completion_info.selection__stock_picking__completion_info__last_picking msgid "" diff --git a/stock_picking_completion_info/models/stock_picking.py b/stock_picking_completion_info/models/stock_picking.py index abaafa975a4..4d881dea492 100644 --- a/stock_picking_completion_info/models/stock_picking.py +++ b/stock_picking_completion_info/models/stock_picking.py @@ -37,7 +37,7 @@ class StockPicking(models.Model): @api.depends( "picking_type_id.display_completion_info", - "move_lines.common_dest_move_ids.state", + "move_ids.common_dest_move_ids.state", ) def _compute_completion_info(self): for picking in self: @@ -49,7 +49,7 @@ def _compute_completion_info(self): continue # Depending moves are all the origin moves linked to the # destination pickings' moves - depending_moves = picking.move_lines.mapped("common_dest_move_ids") + depending_moves = picking.move_ids.mapped("common_dest_move_ids") # If all the depending moves are done or canceled then next picking # is ready to be processed if picking.state == "done" and all( @@ -59,12 +59,12 @@ def _compute_completion_info(self): continue # If all the depending moves are the moves on the actual picking # then it's a full order and next picking is ready to be processed - if depending_moves == picking.move_lines: + if depending_moves == picking.move_ids: picking.completion_info = "full_order_picking" continue # If there aren't any depending move from another picking that is # not done, then actual picking is the last to process - other_depending_moves = (depending_moves - picking.move_lines).filtered( + other_depending_moves = (depending_moves - picking.move_ids).filtered( lambda m: m.state not in ("done", "cancel") ) if not other_depending_moves: @@ -82,5 +82,5 @@ def write(self, vals): if "state" in vals: # invalidate cache, the api.depends do not allow to find all # the conditions to invalidate the field - self.env["stock.picking"].invalidate_cache(fnames=["completion_info"]) + self.env["stock.picking"].invalidate_model(fnames=["completion_info"]) return True diff --git a/stock_picking_completion_info/readme/CONTRIBUTORS.rst b/stock_picking_completion_info/readme/CONTRIBUTORS.rst index c50bea2bedc..531f9b6a753 100644 --- a/stock_picking_completion_info/readme/CONTRIBUTORS.rst +++ b/stock_picking_completion_info/readme/CONTRIBUTORS.rst @@ -1,2 +1,3 @@ * Akim Juillerat * Raphaël Reverdy +* Hughes Damry diff --git a/stock_picking_completion_info/tests/test_stock_picking_completion_info.py b/stock_picking_completion_info/tests/test_stock_picking_completion_info.py index e656595d236..53eac4d2e58 100644 --- a/stock_picking_completion_info/tests/test_stock_picking_completion_info.py +++ b/stock_picking_completion_info/tests/test_stock_picking_completion_info.py @@ -1,9 +1,9 @@ # Copyright 2019 Camptocamp SA # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) -from odoo.tests import Form, SavepointCase +from odoo.tests import Form, TransactionCase -class TestStockPickingCompletionInfo(SavepointCase): +class TestStockPickingCompletionInfo(TransactionCase): @classmethod def setUpClass(cls): super().setUpClass() @@ -32,8 +32,6 @@ def setUpClass(cls): def _init_inventory(self, same_location=True): # Product 1 on shelf 1 # Product 2 on shelf 2 - inventory = self.env["stock.inventory"].create({"name": "Test init"}) - inventory.action_start() if not same_location: product_location_list = [ (self.product_1, self.stock_shelf_location), @@ -44,22 +42,17 @@ def _init_inventory(self, same_location=True): (self.product_1, self.stock_shelf_location), (self.product_2, self.stock_shelf_location), ] - lines_vals = list() + vals_list = list() for product, location in product_location_list: - lines_vals.append( - ( - 0, - 0, - { - "product_id": product.id, - "product_uom_id": product.uom_id.id, - "product_qty": 10.0, - "location_id": location.id, - }, - ) + vals_list.append( + { + "product_id": product.id, + "inventory_quantity": 10.0, + "location_id": location.id, + } ) - inventory.write({"line_ids": lines_vals}) - inventory.action_validate() + quants = self.env["stock.quant"].create(vals_list) + quants.action_apply_inventory() def _create_pickings(self, same_pick_location=True): # Create delivery order @@ -158,7 +151,7 @@ def test_picking_all_at_once(self): self.assertEqual(pick_order.completion_info, "full_order_picking") res = pick_order.button_validate() Form( - self.env["stock.immediate.transfer"].with_context(res["context"]) + self.env["stock.immediate.transfer"].with_context(**res["context"]) ).save().process() self.assertEqual(pick_move_1.state, "done") self.assertEqual(pick_move_2.state, "done") @@ -208,7 +201,7 @@ def test_picking_from_different_locations(self): self.assertEqual(pick_order_2.completion_info, "no") res = pick_order_1.button_validate() Form( - self.env["stock.immediate.transfer"].with_context(res["context"]) + self.env["stock.immediate.transfer"].with_context(**res["context"]) ).save().process() self.assertEqual(pick_move_1.state, "done") self.assertEqual(pick_order_1.state, "done") @@ -218,7 +211,7 @@ def test_picking_from_different_locations(self): self.assertEqual(pick_order_2.completion_info, "last_picking") res = pick_order_2.button_validate() Form( - self.env["stock.immediate.transfer"].with_context(res["context"]) + self.env["stock.immediate.transfer"].with_context(**res["context"]) ).save().process() self.assertEqual(pick_move_2.state, "done") self.assertEqual(pick_order_2.state, "done") @@ -261,12 +254,12 @@ def test_picking_with_backorder(self): self.assertEqual(pick_order.completion_info, "full_order_picking") # Process partially to create backorder pick_move_1.move_line_ids.qty_done = 1.0 - pick_move_2.move_line_ids.qty_done = pick_move_2.move_line_ids.product_uom_qty + pick_move_2.move_line_ids.qty_done = pick_move_2.move_line_ids.reserved_uom_qty pick_order._action_done() pick_backorder = self.env["stock.picking"].search( [("backorder_id", "=", pick_order.id)] ) - pick_backorder_move = pick_backorder.move_lines + pick_backorder_move = pick_backorder.move_ids self.assertEqual(pick_move_1.state, "done") self.assertEqual(pick_move_2.state, "done") self.assertEqual(pick_order.state, "done") @@ -277,7 +270,7 @@ def test_picking_with_backorder(self): self.assertEqual(pick_backorder.completion_info, "last_picking") # Process backorder pick_backorder_move.move_line_ids.qty_done = ( - pick_backorder_move.move_line_ids.product_uom_qty + pick_backorder_move.move_line_ids.reserved_uom_qty ) pick_backorder._action_done() self.assertEqual(pick_backorder_move.state, "done") diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 00000000000..7da23e3785e --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1,2 @@ +# https://github.com/OCA/stock-logistics-warehouse/pull/1566 +odoo-addon-stock-move-common-dest @ git+https://github.com/acsone/stock-logistics-warehouse.git@16.0-mig-stock_move_common_dest-hda#subdirectory=setup/stock_move_common_dest