diff --git a/setup/stock_picking_quick/odoo/addons/stock_picking_quick b/setup/stock_picking_quick/odoo/addons/stock_picking_quick new file mode 120000 index 000000000000..3ad8ffc9f068 --- /dev/null +++ b/setup/stock_picking_quick/odoo/addons/stock_picking_quick @@ -0,0 +1 @@ +../../../../stock_picking_quick \ No newline at end of file diff --git a/setup/stock_picking_quick/setup.py b/setup/stock_picking_quick/setup.py new file mode 100644 index 000000000000..28c57bb64031 --- /dev/null +++ b/setup/stock_picking_quick/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +) diff --git a/stock_picking_quick/README.rst b/stock_picking_quick/README.rst new file mode 100644 index 000000000000..9552e8961b35 --- /dev/null +++ b/stock_picking_quick/README.rst @@ -0,0 +1,96 @@ +=================== +Quick Stock Picking +=================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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%2Fstock--logistics--workflow-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-workflow/tree/12.0/stock_picking_quick + :alt: OCA/stock-logistics-workflow +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-workflow-12-0/stock-logistics-workflow-12-0-stock_picking_quick + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/154/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows to easily pick products into a picking (mass line add/update). + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +Inside a picking, you can click on "Add products", to open a product tree view, then update "qty to process" field. + +The update of "qty to process" will add a new move line or update the existing move line. If qty to process is 0 its move line will be deleted if it exists. + +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 +~~~~~~~ + +* Akretion + +Contributors +~~~~~~~~~~~~ + +Akretion + +* Sébastien BEAU +* Mourad EL HADJ MIMOUNE +* Pierrick Brun +* David Béal + +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-PierrickBrun| image:: https://github.com/PierrickBrun.png?size=40px + :target: https://github.com/PierrickBrun + :alt: PierrickBrun +.. |maintainer-bealdav| image:: https://github.com/bealdav.png?size=40px + :target: https://github.com/bealdav + :alt: bealdav + +Current `maintainers `__: + +|maintainer-PierrickBrun| |maintainer-bealdav| + +This module is part of the `OCA/stock-logistics-workflow `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/stock_picking_quick/__init__.py b/stock_picking_quick/__init__.py new file mode 100644 index 000000000000..0650744f6bc6 --- /dev/null +++ b/stock_picking_quick/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/stock_picking_quick/__manifest__.py b/stock_picking_quick/__manifest__.py new file mode 100644 index 000000000000..8eebd389168f --- /dev/null +++ b/stock_picking_quick/__manifest__.py @@ -0,0 +1,16 @@ +# © 2022 Today Akretion +# @author Pierrick Brun +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + "name": "Quick Stock Picking", + "version": "14.0.1.0.3", + "author": "Akretion, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/stock-logistics-workflow", + "license": "AGPL-3", + "category": "Stock", + "depends": ["base_product_mass_addition", "stock"], + "data": ["views/picking_view.xml", "views/product_view.xml"], + "installable": True, + "maintainers": ["PierrickBrun", "bealdav"], +} diff --git a/stock_picking_quick/i18n/pt_BR.po b/stock_picking_quick/i18n/pt_BR.po new file mode 100644 index 000000000000..2a3acdc3ebdb --- /dev/null +++ b/stock_picking_quick/i18n/pt_BR.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_quick +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-06-23 16:19+0000\n" +"Last-Translator: Fernando Colus \n" +"Language-Team: none\n" +"Language: pt_BR\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 3.10\n" + +#. module: stock_picking_quick +#: model_terms:ir.ui.view,arch_db:stock_picking_quick.view_picking_form +msgid "Add" +msgstr "Adicionar" + +#. module: stock_picking_quick +#: model_terms:ir.ui.view,arch_db:stock_picking_quick.product_search_view4picking +msgid "Filter products available in the current location" +msgstr "Filtrar produtos disponíveis na localização atual" + +#. module: stock_picking_quick +#: model_terms:ir.ui.view,arch_db:stock_picking_quick.product_tree_view4picking +msgid "Open" +msgstr "Abrir" + +#. module: stock_picking_quick +#: model:ir.model,name:stock_picking_quick.model_product_product +msgid "Product" +msgstr "Produto" + +#. module: stock_picking_quick +#: code:addons/stock_picking_quick/models/stock_picking.py:24 +#, python-format +msgid "Product Variants" +msgstr "Variantes de produto" + +#. module: stock_picking_quick +#: model_terms:ir.ui.view,arch_db:stock_picking_quick.product_tree_view4picking +msgid "Products for picking" +msgstr "Produtos para coleta" + +#. module: stock_picking_quick +#: model:ir.model.fields,field_description:stock_picking_quick.field_product_product__move_ids +msgid "Stock Moves" +msgstr "Movimentações de Estoque" + +#. module: stock_picking_quick +#: model:ir.model.fields,help:stock_picking_quick.field_product_product__move_ids +msgid "Technical: used to compute quantities to pick." +msgstr "Técnico: usado para calcular as quantidades a serem coletadas." + +#. module: stock_picking_quick +#: model:ir.model,name:stock_picking_quick.model_stock_picking +msgid "Transfer" +msgstr "Transferência" + +#. module: stock_picking_quick +#: model_terms:ir.ui.view,arch_db:stock_picking_quick.product_search_view4picking +msgid "Use Only Available Products" +msgstr "Use apenas produtos disponíveis" diff --git a/stock_picking_quick/i18n/sl.po b/stock_picking_quick/i18n/sl.po new file mode 100644 index 000000000000..41dcd078ee1a --- /dev/null +++ b/stock_picking_quick/i18n/sl.po @@ -0,0 +1,69 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_quick +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2022-06-26 10:05+0000\n" +"Last-Translator: Matjaz Mozetic \n" +"Language-Team: none\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3;\n" +"X-Generator: Weblate 4.3.2\n" + +#. module: stock_picking_quick +#: model_terms:ir.ui.view,arch_db:stock_picking_quick.view_picking_form +msgid "Add" +msgstr "Dodaj" + +#. module: stock_picking_quick +#: model_terms:ir.ui.view,arch_db:stock_picking_quick.product_search_view4picking +msgid "Filter products available in the current location" +msgstr "Filtriraj izdelke na voljo na trenutni lokaciji" + +#. module: stock_picking_quick +#: model_terms:ir.ui.view,arch_db:stock_picking_quick.product_tree_view4picking +msgid "Open" +msgstr "Odpri" + +#. module: stock_picking_quick +#: model:ir.model,name:stock_picking_quick.model_product_product +msgid "Product" +msgstr "Proizvod" + +#. module: stock_picking_quick +#: code:addons/stock_picking_quick/models/stock_picking.py:24 +#, python-format +msgid "Product Variants" +msgstr "Različice proizvodov" + +#. module: stock_picking_quick +#: model_terms:ir.ui.view,arch_db:stock_picking_quick.product_tree_view4picking +msgid "Products for picking" +msgstr "Proizvodi za dobavnico" + +#. module: stock_picking_quick +#: model:ir.model.fields,field_description:stock_picking_quick.field_product_product__move_ids +msgid "Stock Moves" +msgstr "Premiki zaloge" + +#. module: stock_picking_quick +#: model:ir.model.fields,help:stock_picking_quick.field_product_product__move_ids +msgid "Technical: used to compute quantities to pick." +msgstr "Tehnično: za izračun količin na dobavnici." + +#. module: stock_picking_quick +#: model:ir.model,name:stock_picking_quick.model_stock_picking +msgid "Transfer" +msgstr "Premestitev" + +#. module: stock_picking_quick +#: model_terms:ir.ui.view,arch_db:stock_picking_quick.product_search_view4picking +msgid "Use Only Available Products" +msgstr "Uporabljaj le proizvode na voljo" diff --git a/stock_picking_quick/i18n/stock_picking_quick.pot b/stock_picking_quick/i18n/stock_picking_quick.pot new file mode 100644 index 000000000000..c71aa73a5e9f --- /dev/null +++ b/stock_picking_quick/i18n/stock_picking_quick.pot @@ -0,0 +1,66 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_quick +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.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: stock_picking_quick +#: model_terms:ir.ui.view,arch_db:stock_picking_quick.view_picking_form +msgid "Add" +msgstr "" + +#. module: stock_picking_quick +#: model_terms:ir.ui.view,arch_db:stock_picking_quick.product_search_view4picking +msgid "Filter products available in the current location" +msgstr "" + +#. module: stock_picking_quick +#: model_terms:ir.ui.view,arch_db:stock_picking_quick.product_tree_view4picking +msgid "Open" +msgstr "" + +#. module: stock_picking_quick +#: model:ir.model,name:stock_picking_quick.model_product_product +msgid "Product" +msgstr "" + +#. module: stock_picking_quick +#: code:addons/stock_picking_quick/models/stock_picking.py:24 +#, python-format +msgid "Product Variants" +msgstr "" + +#. module: stock_picking_quick +#: model_terms:ir.ui.view,arch_db:stock_picking_quick.product_tree_view4picking +msgid "Products for picking" +msgstr "" + +#. module: stock_picking_quick +#: model:ir.model.fields,field_description:stock_picking_quick.field_product_product__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_picking_quick +#: model:ir.model.fields,help:stock_picking_quick.field_product_product__move_ids +msgid "Technical: used to compute quantities to pick." +msgstr "" + +#. module: stock_picking_quick +#: model:ir.model,name:stock_picking_quick.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_picking_quick +#: model_terms:ir.ui.view,arch_db:stock_picking_quick.product_search_view4picking +msgid "Use Only Available Products" +msgstr "" + diff --git a/stock_picking_quick/models/__init__.py b/stock_picking_quick/models/__init__.py new file mode 100644 index 000000000000..124397f6bc82 --- /dev/null +++ b/stock_picking_quick/models/__init__.py @@ -0,0 +1,2 @@ +from . import stock_picking +from . import product_product diff --git a/stock_picking_quick/models/product_product.py b/stock_picking_quick/models/product_product.py new file mode 100644 index 000000000000..393444c32d0b --- /dev/null +++ b/stock_picking_quick/models/product_product.py @@ -0,0 +1,46 @@ +# © 2022 Today Akretion +# @author Pierrick Brun +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + + +from odoo import api, models + + +class ProductProduct(models.Model): + _inherit = "product.product" + + @api.depends("stock_move_ids") + @api.depends_context("parent_model") + def _compute_process_qty(self): + res = super(ProductProduct, self)._compute_process_qty() + if self.env.context.get("parent_model", False) == "stock.picking": + quantities = self.env["stock.move"].read_group( + [ + ("picking_id", "=", self.env.context.get("parent_id")), + ("product_id", "in", self.ids), + ], + ["product_id", "product_qty:sum"], + ["product_id"], + ) + for product in self: + for qty in quantities: + if product.id == qty["product_id"][0]: + product.qty_to_process = qty["product_qty"] + return res + + def _default_quick_uom_id(self): + if self.env.context.get("parent_model", False) == "stock.picking": + return self.uom_id + return super()._default_quick_uom_id() + + @api.model + def search(self, args, offset=0, limit=None, order=None, count=False): + if self.env.context.get("in_current_parent"): + picking = self.env["stock.picking"].browse( + self.env.context.get("parent_id") + ) + if picking: + args.append(("stock_move_ids.picking_id", "=", picking.id)) + return super(ProductProduct, self).search( + args, offset=offset, limit=limit, order=order, count=count + ) diff --git a/stock_picking_quick/models/stock_picking.py b/stock_picking_quick/models/stock_picking.py new file mode 100644 index 000000000000..657e04ad6f15 --- /dev/null +++ b/stock_picking_quick/models/stock_picking.py @@ -0,0 +1,65 @@ +# © 2022 Today Akretion +# @author Pierrick Brun +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import _, models + + +class StockPicking(models.Model): + _name = "stock.picking" + _inherit = ["stock.picking", "product.mass.addition"] + + def add_product(self): + self.ensure_one() + res = self._common_action_keys() + res["context"].update( + { + "search_default_consumable": 1, + "search_default_filter_to_pick": 1, + "search_default_filter_for_current_location": 1, + "location": [self.location_id.id], + } + ) + res["name"] = "🔙 %s" % (_("Product Variants")) + res["view_id"] = ( + self.env.ref("stock_picking_quick.product_tree_view4picking").id, + ) + res["search_view_id"] = ( + self.env.ref("stock_picking_quick.product_search_view4picking").id, + ) + return res + + def _prepare_quick_line(self, product): + res = super(StockPicking, self)._prepare_quick_line(product) + res["location_id"] = self.location_id.id + res["location_dest_id"] = self.location_dest_id.id + return res + + def _get_quick_line(self, product): + return self.env["stock.move"].search( + [("product_id", "=", product.id), ("picking_id", "=", self.id)], + limit=1, + ) + + def _get_quick_line_qty_vals(self, product): + return { + "product_uom_qty": product.qty_to_process, + "product_uom": product.quick_uom_id.id, + } + + def _complete_quick_line_vals(self, vals, lines_key=""): + vals.update( + { + "picking_id": self.id, + } + ) + res = super(StockPicking, self)._complete_quick_line_vals( + vals, lines_key="move_ids_without_package" + ) + res.pop("product_qty") + return res + + def _add_quick_line(self, product, lines_key=""): + return super(StockPicking, self)._add_quick_line( + product, lines_key="move_ids_without_package" + ) diff --git a/stock_picking_quick/readme/CONTRIBUTORS.rst b/stock_picking_quick/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000000..b8f6ccee4aa3 --- /dev/null +++ b/stock_picking_quick/readme/CONTRIBUTORS.rst @@ -0,0 +1,7 @@ +Akretion + +* Sébastien BEAU +* Mourad EL HADJ MIMOUNE +* Pierrick Brun +* David Béal +* Kévin Roche diff --git a/stock_picking_quick/readme/DESCRIPTION.rst b/stock_picking_quick/readme/DESCRIPTION.rst new file mode 100644 index 000000000000..8a03b5f84647 --- /dev/null +++ b/stock_picking_quick/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module allows to easily pick products into a picking (mass line add/update). diff --git a/stock_picking_quick/readme/USAGE.rst b/stock_picking_quick/readme/USAGE.rst new file mode 100644 index 000000000000..fb8cf82cdabc --- /dev/null +++ b/stock_picking_quick/readme/USAGE.rst @@ -0,0 +1,3 @@ +Inside a picking, you can click on "Add products", to open a product tree view, then update "qty to process" field. + +The update of "qty to process" will add a new move line or update the existing move line. If qty to process is 0 its move line will be deleted if it exists. diff --git a/stock_picking_quick/static/description/filter.png b/stock_picking_quick/static/description/filter.png new file mode 100644 index 000000000000..12342418cb09 Binary files /dev/null and b/stock_picking_quick/static/description/filter.png differ diff --git a/stock_picking_quick/static/description/icon.png b/stock_picking_quick/static/description/icon.png new file mode 100644 index 000000000000..3a0328b516c4 Binary files /dev/null and b/stock_picking_quick/static/description/icon.png differ diff --git a/stock_picking_quick/static/description/index.html b/stock_picking_quick/static/description/index.html new file mode 100644 index 000000000000..a885f7ea213a --- /dev/null +++ b/stock_picking_quick/static/description/index.html @@ -0,0 +1,431 @@ + + + + + + +Quick Stock Picking + + + +
+

Quick Stock Picking

+ + +

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

+

This module allows to easily pick products into a picking (mass line add/update).

+

Table of contents

+ +
+

Usage

+

Inside a picking, you can click on “Add products”, to open a product tree view, then update “qty to process” field.

+

The update of “qty to process” will add a new move line or update the existing move line. If qty to process is 0 its move line will be deleted if it exists.

+
+
+

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

+
    +
  • Akretion
  • +
+
+
+

Contributors

+

Akretion

+ +
+
+

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 maintainers:

+

PierrickBrun bealdav

+

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

+

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

+
+
+
+ + diff --git a/stock_picking_quick/static/description/po-product.png b/stock_picking_quick/static/description/po-product.png new file mode 100644 index 000000000000..14a3d1c50fc3 Binary files /dev/null and b/stock_picking_quick/static/description/po-product.png differ diff --git a/stock_picking_quick/static/description/po.png b/stock_picking_quick/static/description/po.png new file mode 100644 index 000000000000..e2a5e7d9dc5f Binary files /dev/null and b/stock_picking_quick/static/description/po.png differ diff --git a/stock_picking_quick/tests/__init__.py b/stock_picking_quick/tests/__init__.py new file mode 100644 index 000000000000..b9de6bc68cc5 --- /dev/null +++ b/stock_picking_quick/tests/__init__.py @@ -0,0 +1 @@ +from . import test_stock_picking_quick diff --git a/stock_picking_quick/tests/test_stock_picking_quick.py b/stock_picking_quick/tests/test_stock_picking_quick.py new file mode 100644 index 000000000000..08b52e144bbf --- /dev/null +++ b/stock_picking_quick/tests/test_stock_picking_quick.py @@ -0,0 +1,77 @@ +# @author Mourad EL HADJ MIMOUNE +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo.tests.common import Form, SavepointCase + + +class TestQuickPicking(SavepointCase): + def setUp(self): + super(TestQuickPicking, self).setUp() + # Useful models + self.Picking = self.env["stock.picking"] + self.location_id = self.env.ref("stock.warehouse0").wh_output_stock_loc_id + self.dest_loc = self.env.ref("stock.stock_location_customers") + self.product_id_1 = self.env.ref("product.product_product_8") + self.product_id_2 = self.env.ref("product.product_product_11") + picking_vals = { + "location_id": self.location_id.id, + "location_dest_id": self.dest_loc.id, + "picking_type_id": self.ref("stock.picking_type_out"), + } + self.picking = self.Picking.create(picking_vals) + with Form(self.picking, "stock.view_picking_form") as picking_form: + picking_form.location_id = self.location_id + self.default_cont = { + "parent_id": self.picking.id, + "parent_model": "stock.picking", + } + + def test_quick_picking(self): + # test add stock.move + self.product_id_1.with_context(self.default_cont).qty_to_process = 5.0 + self.assertEqual( + len(self.picking.move_ids_without_package), + 1, + "Picking: no stock.move created", + ) + self.product_id_2.with_context(self.default_cont).qty_to_process = 6.0 + self.assertEqual( + len(self.picking.move_ids_without_package), + 2, + "Stock move count must be 2", + ) + # test stock move qty + for line in self.picking.move_ids_without_package: + if line.product_id == self.product_id_1: + self.assertEqual(line.product_qty, 5) + if line.product_id == self.product_id_2: + self.assertEqual(line.product_qty, 6) + + # test update stock.move qty + self.product_id_1.with_context(self.default_cont).qty_to_process = 3.0 + self.product_id_2.with_context(self.default_cont).qty_to_process = 2.0 + self.assertEqual( + len(self.picking.move_ids_without_package), + 2, + "Stock move count must be 2", + ) + # test stock move qty after update + for line in self.picking.move_ids_without_package: + if line.product_id == self.product_id_1: + self.assertEqual(line.product_qty, 3) + if line.product_id == self.product_id_2: + self.assertEqual(line.product_qty, 2) + + def test_add_product_action_opened(self): + product_act_from_picking = self.picking.add_product() + self.assertEqual(product_act_from_picking["type"], "ir.actions.act_window") + self.assertEqual(product_act_from_picking["res_model"], "product.product") + self.assertEqual(product_act_from_picking["view_mode"], "tree") + self.assertEqual(product_act_from_picking["target"], "current") + self.assertEqual( + product_act_from_picking["view_id"][0], + self.env.ref("stock_picking_quick.product_tree_view4picking").id, + ) + self.assertEqual( + product_act_from_picking["context"]["parent_id"], self.picking.id + ) diff --git a/stock_picking_quick/views/picking_view.xml b/stock_picking_quick/views/picking_view.xml new file mode 100644 index 000000000000..c818ea1eb6ac --- /dev/null +++ b/stock_picking_quick/views/picking_view.xml @@ -0,0 +1,20 @@ + + + + + stock.picking + + + +