From c8f6157dea253d28f52ebffe81488c54d395bd44 Mon Sep 17 00:00:00 2001 From: Jordi Ballester Date: Tue, 30 May 2017 14:43:13 +0200 Subject: [PATCH 01/12] [ADD] new module 'stock_warehouse_orderpoint_stock_info_unreserved' --- .../README.rst | 51 ++++++++ .../__init__.py | 5 + .../__openerp__.py | 22 ++++ .../i18n/de.po | 30 +++++ .../i18n/es.po | 29 +++++ .../i18n/es_ES.po | 29 +++++ .../i18n/pt_BR.po | 29 +++++ .../i18n/sl.po | 29 +++++ .../models/__init__.py | 5 + .../models/stock_warehouse_orderpoint.py | 23 ++++ .../tests/__init__.py | 5 + .../tests/test_stock_warehouse_orderpoint.py | 112 ++++++++++++++++++ .../views/stock_warehouse_orderpoint_view.xml | 29 +++++ 13 files changed, 398 insertions(+) create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/README.rst create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/__init__.py create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/__openerp__.py create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/i18n/de.po create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/i18n/es.po create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/i18n/es_ES.po create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/i18n/sl.po create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/models/__init__.py create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/tests/__init__.py create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/views/stock_warehouse_orderpoint_view.xml diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/README.rst b/stock_warehouse_orderpoint_stock_info_unreserved/README.rst new file mode 100644 index 000000000000..8a6e23476623 --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/README.rst @@ -0,0 +1,51 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +====================================== +Reordering Rules stock info unreserved +====================================== + +This modules allows to display the availability of stock on hand and +unreserved on a reordering rule. + +Usage +===== + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/153/9.0 + +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. + + +Credits +======= + +Contributors +------------ +* Jordi Ballester Alomar + + + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +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. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/__init__.py b/stock_warehouse_orderpoint_stock_info_unreserved/__init__.py new file mode 100644 index 000000000000..f3ca9f7be47a --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# Copyright 2016 Eficent Business and IT Consulting Services, S.L. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import models diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/__openerp__.py b/stock_warehouse_orderpoint_stock_info_unreserved/__openerp__.py new file mode 100644 index 000000000000..0e053289ff1a --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/__openerp__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# Copyright 2016 Eficent Business and IT Consulting Services, S.L. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Reordering rules stock info unreserved", + "version": "9.0.1.0.0", + "depends": [ + "stock_warehouse_orderpoint_stock_info", + "stock_available_unreserved" + ], + "author": "Eficent, " + "Odoo Community Association (OCA)", + "website": "http://www.eficent.com", + "category": "Warehouse", + "license": "AGPL-3", + "data": [ + "views/stock_warehouse_orderpoint_view.xml", + ], + "installable": True, + "auto_install": False, +} diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/de.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/de.po new file mode 100644 index 000000000000..68f2c814d9b9 --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/de.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_warehouse_orderpoint_stock_info_unreserved +# +# Translators: +# OCA Transbot , 2017 +# Rudolf Schnapka , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-29 13:13+0000\n" +"PO-Revision-Date: 2017-06-29 13:13+0000\n" +"Last-Translator: Rudolf Schnapka , 2017\n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: stock_warehouse_orderpoint_stock_info_unreserved +#: model:ir.model,name:stock_warehouse_orderpoint_stock_info_unreserved.model_stock_warehouse_orderpoint +msgid "Minimum Inventory Rule" +msgstr "Mindestbestandsregel" + +#. module: stock_warehouse_orderpoint_stock_info_unreserved +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_product_location_qty_available_not_res +msgid "Quantity On Location (Unreserved)" +msgstr "Bestand am Lagerplatz (nicht reserviert)" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es.po new file mode 100644 index 000000000000..25e6939d0c60 --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_warehouse_orderpoint_stock_info_unreserved +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-10 05:36+0000\n" +"PO-Revision-Date: 2017-06-10 05:36+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: stock_warehouse_orderpoint_stock_info_unreserved +#: model:ir.model,name:stock_warehouse_orderpoint_stock_info_unreserved.model_stock_warehouse_orderpoint +msgid "Minimum Inventory Rule" +msgstr "Regla de inventario mínimo" + +#. module: stock_warehouse_orderpoint_stock_info_unreserved +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_product_location_qty_available_not_res +msgid "Quantity On Location (Unreserved)" +msgstr "" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es_ES.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es_ES.po new file mode 100644 index 000000000000..59568d1c8037 --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es_ES.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_warehouse_orderpoint_stock_info_unreserved +# +# Translators: +# Daniel , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-26 11:42+0000\n" +"PO-Revision-Date: 2017-07-26 11:42+0000\n" +"Last-Translator: Daniel , 2017\n" +"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/es_ES/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: es_ES\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: stock_warehouse_orderpoint_stock_info_unreserved +#: model:ir.model,name:stock_warehouse_orderpoint_stock_info_unreserved.model_stock_warehouse_orderpoint +msgid "Minimum Inventory Rule" +msgstr "Regla inventario mínimo" + +#. module: stock_warehouse_orderpoint_stock_info_unreserved +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_product_location_qty_available_not_res +msgid "Quantity On Location (Unreserved)" +msgstr "" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po new file mode 100644 index 000000000000..3fb4e4f32214 --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_warehouse_orderpoint_stock_info_unreserved +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-10 05:36+0000\n" +"PO-Revision-Date: 2017-06-10 05:36+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: stock_warehouse_orderpoint_stock_info_unreserved +#: model:ir.model,name:stock_warehouse_orderpoint_stock_info_unreserved.model_stock_warehouse_orderpoint +msgid "Minimum Inventory Rule" +msgstr "Regra minima de inventário" + +#. module: stock_warehouse_orderpoint_stock_info_unreserved +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_product_location_qty_available_not_res +msgid "Quantity On Location (Unreserved)" +msgstr "" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/sl.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/sl.po new file mode 100644 index 000000000000..b48e319532e6 --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/sl.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_warehouse_orderpoint_stock_info_unreserved +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-10 05:36+0000\n" +"PO-Revision-Date: 2017-06-10 05:36+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#. module: stock_warehouse_orderpoint_stock_info_unreserved +#: model:ir.model,name:stock_warehouse_orderpoint_stock_info_unreserved.model_stock_warehouse_orderpoint +msgid "Minimum Inventory Rule" +msgstr "Pravilo minimalne zaloge" + +#. module: stock_warehouse_orderpoint_stock_info_unreserved +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_product_location_qty_available_not_res +msgid "Quantity On Location (Unreserved)" +msgstr "" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/models/__init__.py b/stock_warehouse_orderpoint_stock_info_unreserved/models/__init__.py new file mode 100644 index 000000000000..e25cf0d1978c --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/models/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# Copyright 2016 Eficent Business and IT Consulting Services, S.L. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import stock_warehouse_orderpoint diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py b/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py new file mode 100644 index 000000000000..6739d8f374de --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# Copyright 2016 Eficent Business and IT Consulting Services, S.L. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from openerp import models, fields, api + + +class StockWarehouseOrderpoint(models.Model): + _inherit = 'stock.warehouse.orderpoint' + + @api.multi + def _compute_product_available_qty(self): + super(StockWarehouseOrderpoint, self)._compute_product_available_qty() + for rec in self: + product_available = rec.product_id.with_context( + location=rec.location_id.id + )._product_available()[rec.product_id.id] + rec.product_location_qty_available_not_res = \ + product_available['qty_available_not_res'] + + product_location_qty_available_not_res = fields.Float( + string='Quantity On Location (Unreserved)', + compute='_compute_product_available_qty') diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/tests/__init__.py b/stock_warehouse_orderpoint_stock_info_unreserved/tests/__init__.py new file mode 100644 index 000000000000..bf747c3246a8 --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/tests/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# Copyright 2016 Eficent Business and IT Consulting Services, S.L. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_stock_warehouse_orderpoint diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py b/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py new file mode 100644 index 000000000000..d2edc8f9597b --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py @@ -0,0 +1,112 @@ +# -*- coding: utf-8 -*- +# Copyright 2016 Eficent Business and IT Consulting Services, S.L. +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from openerp.tests import common + + +class TestStockWarehouseOrderpoint(common.TransactionCase): + + def setUp(self): + super(TestStockWarehouseOrderpoint, self).setUp() + # Get required Model + self.reordering_rule_model = self.env['stock.warehouse.orderpoint'] + self.stock_move_model = self.env['stock.move'] + self.product_model = self.env['product.product'] + self.product_ctg_model = self.env['product.category'] + + # Get required Model data + self.product_uom = self.env.ref('product.product_uom_unit') + self.location_stock = self.env.ref('stock.stock_location_stock') + self.location_shelf1 = self.env.ref('stock.stock_location_components') + self.location_customer = self.env.ref('stock.stock_location_customers') + self.location_supplier = self.env.ref('stock.stock_location_suppliers') + + # Create product category and product + self.product_ctg = self._create_product_category() + self.product = self._create_product() + + # Create Reordering Rule + self.reordering_record = self.create_orderpoint() + + def _create_product_category(self): + """Create a Product Category.""" + product_ctg = self.product_ctg_model.create({ + 'name': 'test_product_ctg', + 'type': 'normal', + }) + return product_ctg + + def _create_product(self): + """Create a Stockable Product.""" + product = self.product_model.create({ + 'name': 'Test Product', + 'categ_id': self.product_ctg.id, + 'type': 'product', + 'uom_id': self.product_uom.id, + }) + return product + + def create_orderpoint(self): + """Create a Reordering rule for the product.""" + record = self.reordering_rule_model.create({ + 'name': 'Reordering Rule', + 'product_id': self.product.id, + 'product_min_qty': '1', + 'product_max_qty': '5', + 'qty_multiple': '1', + 'location_id': self.location_stock.id, + }) + return record + + def create_move(self, source_location, destination_location): + move = self.env['stock.move'].create({ + 'name': 'Test move', + 'product_id': self.product.id, + 'product_uom': self.product_uom.id, + 'product_uom_qty': 10, + 'location_id': source_location.id, + 'location_dest_id': destination_location.id} + ) + + move.action_confirm() + return move + + def test_product_qty(self): + """Tests the product quantity in the Reordering rules""" + # Create & process moves to test the product quantity + move_in = self.create_move(self.location_supplier, self.location_stock) + move_out = self.create_move(self.location_stock, + self.location_customer) + self.reordering_record.refresh() + self.assertEqual(self.reordering_record. + product_location_qty_available_not_res, + 0.0, + 'Quantity On Hand (Unreserved) does not match') + self.assertEqual(self.reordering_record. + product_location_qty_available_not_res, + self.product.qty_available_not_res, + 'Quantity On Hand (Unreserved) in the orderpoint ' + 'does not match with the product.') + move_in.action_done() + self.reordering_record.refresh() + self.assertEqual(self.reordering_record. + product_location_qty_available_not_res, + 10.0, + 'Quantity On Hand (Unreserved) does not match') + self.assertEqual(self.reordering_record. + product_location_qty_available_not_res, + self.product.qty_available_not_res, + 'Quantity On Hand (Unreserved) in the orderpoint ' + 'does not match with the product.') + move_out.action_assign() + self.reordering_record.refresh() + self.assertEqual(self.reordering_record. + product_location_qty_available_not_res, + 0.0, + 'Quantity On Hand (Unreserved) does not match') + self.assertEqual(self.reordering_record. + product_location_qty_available_not_res, + self.product.qty_available_not_res, + 'Quantity On Hand (Unreserved) in the orderpoint ' + 'does not match with the product.') diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/views/stock_warehouse_orderpoint_view.xml b/stock_warehouse_orderpoint_stock_info_unreserved/views/stock_warehouse_orderpoint_view.xml new file mode 100644 index 000000000000..2b7c27b7c125 --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/views/stock_warehouse_orderpoint_view.xml @@ -0,0 +1,29 @@ + + + + + stock.warehouse.orderpoint.tree + stock.warehouse.orderpoint + + + + + + + + + + stock.warehouse.orderpoint.form + stock.warehouse.orderpoint + + + + + + + + + + From 2fcf963a51ff88881853957e59b8fc5091306b42 Mon Sep 17 00:00:00 2001 From: mreficent Date: Wed, 6 Sep 2017 18:00:37 +0200 Subject: [PATCH 02/12] [MIG] stock_warehouse_orderpoint_stock_info_unreserved: Migration to 10.0 [IMP] fast compute _product_available() method is computed only once by location [FIX] stock_available: Some affectations --- .../README.rst | 14 ++++++++----- .../{__openerp__.py => __manifest__.py} | 6 +++--- .../models/stock_warehouse_orderpoint.py | 19 +++++++++++------- .../static/description/icon.png | Bin 0 -> 9455 bytes .../tests/test_stock_warehouse_orderpoint.py | 4 ++-- .../views/stock_warehouse_orderpoint_view.xml | 7 ++----- 6 files changed, 28 insertions(+), 22 deletions(-) rename stock_warehouse_orderpoint_stock_info_unreserved/{__openerp__.py => __manifest__.py} (76%) create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/static/description/icon.png diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/README.rst b/stock_warehouse_orderpoint_stock_info_unreserved/README.rst index 8a6e23476623..9c059fb9fb4e 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/README.rst +++ b/stock_warehouse_orderpoint_stock_info_unreserved/README.rst @@ -2,9 +2,9 @@ :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 -====================================== -Reordering Rules stock info unreserved -====================================== +================================================ +Stock Warehouse Orderpoint Stock Info Unreserved +================================================ This modules allows to display the availability of stock on hand and unreserved on a reordering rule. @@ -14,7 +14,7 @@ Usage .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/153/9.0 + :target: https://runbot.odoo-community.org/runbot/153/10.0 Bug Tracker =========== @@ -29,12 +29,16 @@ feedback. Credits ======= +Images +------ + +* Odoo Community Association: `Icon `_. + Contributors ------------ * Jordi Ballester Alomar - Maintainer ---------- diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/__openerp__.py b/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py similarity index 76% rename from stock_warehouse_orderpoint_stock_info_unreserved/__openerp__.py rename to stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py index 0e053289ff1a..eff3970071c8 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/__openerp__.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py @@ -3,15 +3,15 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { - "name": "Reordering rules stock info unreserved", - "version": "9.0.1.0.0", + "name": "Stock Warehouse Orderpoint Stock Info Unreserved", + "version": "10.0.1.0.0", "depends": [ "stock_warehouse_orderpoint_stock_info", "stock_available_unreserved" ], "author": "Eficent, " "Odoo Community Association (OCA)", - "website": "http://www.eficent.com", + "website": "https://github.com/OCA/stock-logistics-warehouse", "category": "Warehouse", "license": "AGPL-3", "data": [ diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py b/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py index 6739d8f374de..47d704052542 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py @@ -2,7 +2,8 @@ # Copyright 2016 Eficent Business and IT Consulting Services, S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from openerp import models, fields, api +from odoo import api, fields, models +from collections import defaultdict class StockWarehouseOrderpoint(models.Model): @@ -11,12 +12,16 @@ class StockWarehouseOrderpoint(models.Model): @api.multi def _compute_product_available_qty(self): super(StockWarehouseOrderpoint, self)._compute_product_available_qty() - for rec in self: - product_available = rec.product_id.with_context( - location=rec.location_id.id - )._product_available()[rec.product_id.id] - rec.product_location_qty_available_not_res = \ - product_available['qty_available_not_res'] + op_by_loc = defaultdict(lambda: self.env['stock.warehouse.orderpoint']) + for order in self: + op_by_loc[order.location_id] |= order + for location_id, order_in_loc in op_by_loc.items(): + products = order_in_loc.mapped('product_id').with_context( + location=location_id.id)._compute_qty_available_not_res() + for order in order_in_loc: + product = products[order.product_id.id] + order.product_location_qty_available_not_res = \ + product['qty_available_not_res'] product_location_qty_available_not_res = fields.Float( string='Quantity On Location (Unreserved)', diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/static/description/icon.png b/stock_warehouse_orderpoint_stock_info_unreserved/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z z?n?eq1XP>p-IM$Z^C;2L3itnbJZAip*Zo0aw2bs8@(s^~*8T9go!%dHcAz2lM;`yp zD=7&xjFV$S&5uDaiScyD?B-i1ze`+CoRtz`Wn+Zl&#s4&}MO{@N!ufrzjG$B79)Y2d3tBk&)TxUTw@QS0TEL_?njX|@vq?Uz(nBFK5Pq7*xj#u*R&i|?7+6# z+|r_n#SW&LXhtheZdah{ZVoqwyT{D>MC3nkFF#N)xLi{p7J1jXlmVeb;cP5?e(=f# zuT7fvjSbjS781v?7{)-X3*?>tq?)Yd)~|1{BDS(pqC zC}~H#WXlkUW*H5CDOo<)#x7%RY)A;ShGhI5s*#cRDA8YgqG(HeKDx+#(ZQ?386dv! zlXCO)w91~Vw4AmOcATuV653fa9R$fyK8ul%rG z-wfS zihugoZyr38Im?Zuh6@RcF~t1anQu7>#lPpb#}4cOA!EM11`%f*07RqOVkmX{p~KJ9 z^zP;K#|)$`^Rb{rnHGH{~>1(fawV0*Z#)}M`m8-?ZJV<+e}s9wE# z)l&az?w^5{)`S(%MRzxdNqrs1n*-=jS^_jqE*5XDrA0+VE`5^*p3CuM<&dZEeCjoz zR;uu_H9ZPZV|fQq`Cyw4nscrVwi!fE6ciMmX$!_hN7uF;jjKG)d2@aC4ropY)8etW=xJvni)8eHi`H$%#zn^WJ5NLc-rqk|u&&4Z6fD_m&JfSI1Bvb?b<*n&sfl0^t z=HnmRl`XrFvMKB%9}>PaA`m-fK6a0(8=qPkWS5bb4=v?XcWi&hRY?O5HdulRi4?fN zlsJ*N-0Qw+Yic@s0(2uy%F@ib;GjXt01Fmx5XbRo6+n|pP(&nodMoap^z{~q ziEeaUT@Mxe3vJSfI6?uLND(CNr=#^W<1b}jzW58bIfyWTDle$mmS(|x-0|2UlX+9k zQ^EX7Nw}?EzVoBfT(-LT|=9N@^hcn-_p&sqG z&*oVs2JSU+N4ZD`FhCAWaS;>|wH2G*Id|?pa#@>tyxX`+4HyIArWDvVrX)2WAOQff z0qyHu&-S@i^MS-+j--!pr4fPBj~_8({~e1bfcl0wI1kaoN>mJL6KUPQm5N7lB(ui1 zE-o%kq)&djzWJ}ob<-GfDlkB;F31j-VHKvQUGQ3sp`CwyGJk_i!y^sD0fqC@$9|jO zOqN!r!8-p==F@ZVP=U$qSpY(gQ0)59P1&t@y?5rvg<}E+GB}26NYPp4f2YFQrQtot5mn3wu_qprZ=>Ig-$ zbW26Ws~IgY>}^5w`vTB(G`PTZaDiGBo5o(tp)qli|NeV( z@H_=R8V39rt5J5YB2Ky?4eJJ#b`_iBe2ot~6%7mLt5t8Vwi^Jy7|jWXqa3amOIoRb zOr}WVFP--DsS`1WpN%~)t3R!arKF^Q$e12KEqU36AWwnCBICpH4XCsfnyrHr>$I$4 z!DpKX$OKLWarN7nv@!uIA+~RNO)l$$w}p(;b>mx8pwYvu;dD_unryX_NhT8*Tj>BTrTTL&!?O+%Rv;b?B??gSzdp?6Uug9{ zd@V08Z$BdI?fpoCS$)t4mg4rT8Q_I}h`0d-vYZ^|dOB*Q^S|xqTV*vIg?@fVFSmMpaw0qtTRbx} z({Pg?#{2`sc9)M5N$*N|4;^t$+QP?#mov zGVC@I*lBVrOU-%2y!7%)fAKjpEFsgQc4{amtiHb95KQEwvf<(3T<9-Zm$xIew#P22 zc2Ix|App^>v6(3L_MCU0d3W##AB0M~3D00EWoKZqsJYT(#@w$Y_H7G22M~ApVFTRHMI_3be)Lkn#0F*V8Pq zc}`Cjy$bE;FJ6H7p=0y#R>`}-m4(0F>%@P|?7fx{=R^uFdISRnZ2W_xQhD{YuR3t< z{6yxu=4~JkeA;|(J6_nv#>Nvs&FuLA&PW^he@t(UwFFE8)|a!R{`E`K`i^ZnyE4$k z;(749Ix|oi$c3QbEJ3b~D_kQsPz~fIUKym($a_7dJ?o+40*OLl^{=&oq$<#Q(yyrp z{J-FAniyAw9tPbe&IhQ|a`DqFTVQGQ&Gq3!C2==4x{6EJwiPZ8zub-iXoUtkJiG{} zPaR&}_fn8_z~(=;5lD-aPWD3z8PZS@AaUiomF!G8I}Mf>e~0g#BelA-5#`cj;O5>N Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py b/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py index d2edc8f9597b..41450062fd59 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py @@ -2,10 +2,10 @@ # Copyright 2016 Eficent Business and IT Consulting Services, S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from openerp.tests import common +from odoo.tests.common import TransactionCase -class TestStockWarehouseOrderpoint(common.TransactionCase): +class TestStockWarehouseOrderpoint(TransactionCase): def setUp(self): super(TestStockWarehouseOrderpoint, self).setUp() diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/views/stock_warehouse_orderpoint_view.xml b/stock_warehouse_orderpoint_stock_info_unreserved/views/stock_warehouse_orderpoint_view.xml index 2b7c27b7c125..fe47abd70d65 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/views/stock_warehouse_orderpoint_view.xml +++ b/stock_warehouse_orderpoint_stock_info_unreserved/views/stock_warehouse_orderpoint_view.xml @@ -1,6 +1,5 @@ - - + stock.warehouse.orderpoint.tree stock.warehouse.orderpoint @@ -24,6 +23,4 @@ - - - + From c079e8ce26893ce86d763182dab4e377bcbbc63b Mon Sep 17 00:00:00 2001 From: mpanarin Date: Mon, 12 Feb 2018 19:18:29 +0200 Subject: [PATCH 03/12] [MIG] stock_warehouse_orderpoint_stock_info_unreserved: migration odoo 11 --- .../README.rst | 2 +- .../__init__.py | 2 +- .../__manifest__.py | 6 +- .../i18n/de.po | 5 +- .../i18n/es.po | 5 +- .../i18n/es_ES.po | 8 +- .../i18n/pt_BR.po | 8 +- .../i18n/sl.po | 8 +- ...house_orderpoint_stock_info_unreserved.pot | 26 ++++ .../models/__init__.py | 2 +- .../models/stock_warehouse_orderpoint.py | 23 +-- .../tests/__init__.py | 2 +- .../tests/test_stock_warehouse_orderpoint.py | 142 ++++++++++-------- 13 files changed, 144 insertions(+), 95 deletions(-) create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/i18n/stock_warehouse_orderpoint_stock_info_unreserved.pot diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/README.rst b/stock_warehouse_orderpoint_stock_info_unreserved/README.rst index 9c059fb9fb4e..c17005e49245 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/README.rst +++ b/stock_warehouse_orderpoint_stock_info_unreserved/README.rst @@ -14,7 +14,7 @@ Usage .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/153/10.0 + :target: https://runbot.odoo-community.org/runbot/153/11.0 Bug Tracker =========== diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/__init__.py b/stock_warehouse_orderpoint_stock_info_unreserved/__init__.py index f3ca9f7be47a..cbdaeb7e6aca 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/__init__.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/__init__.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# Copyright 2018 Camptocamp SA # Copyright 2016 Eficent Business and IT Consulting Services, S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py b/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py index eff3970071c8..62ba0d02273c 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py @@ -1,10 +1,10 @@ -# -*- coding: utf-8 -*- +# Copyright 2018 Camptocamp SA # Copyright 2016 Eficent Business and IT Consulting Services, S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { "name": "Stock Warehouse Orderpoint Stock Info Unreserved", - "version": "10.0.1.0.0", + "version": "11.0.1.0.0", "depends": [ "stock_warehouse_orderpoint_stock_info", "stock_available_unreserved" @@ -17,6 +17,4 @@ "data": [ "views/stock_warehouse_orderpoint_view.xml", ], - "installable": True, - "auto_install": False, } diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/de.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/de.po index 68f2c814d9b9..74f4fd00cb1a 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/de.po +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/de.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * stock_warehouse_orderpoint_stock_info_unreserved -# +# # Translators: # OCA Transbot , 2017 # Rudolf Schnapka , 2017 @@ -13,10 +13,10 @@ msgstr "" "PO-Revision-Date: 2017-06-29 13:13+0000\n" "Last-Translator: Rudolf Schnapka , 2017\n" "Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: stock_warehouse_orderpoint_stock_info_unreserved @@ -26,5 +26,6 @@ msgstr "Mindestbestandsregel" #. module: stock_warehouse_orderpoint_stock_info_unreserved #: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template_product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "Bestand am Lagerplatz (nicht reserviert)" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es.po index 25e6939d0c60..f47231d433be 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es.po +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * stock_warehouse_orderpoint_stock_info_unreserved -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-06-10 05:36+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: stock_warehouse_orderpoint_stock_info_unreserved @@ -25,5 +25,6 @@ msgstr "Regla de inventario mínimo" #. module: stock_warehouse_orderpoint_stock_info_unreserved #: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template_product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es_ES.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es_ES.po index 59568d1c8037..114402639161 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es_ES.po +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es_ES.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * stock_warehouse_orderpoint_stock_info_unreserved -# +# # Translators: # Daniel , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-07-26 11:42+0000\n" "PO-Revision-Date: 2017-07-26 11:42+0000\n" "Last-Translator: Daniel , 2017\n" -"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/es_ES/)\n" +"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/" +"es_ES/)\n" +"Language: es_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: es_ES\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. module: stock_warehouse_orderpoint_stock_info_unreserved @@ -25,5 +26,6 @@ msgstr "Regla inventario mínimo" #. module: stock_warehouse_orderpoint_stock_info_unreserved #: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template_product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po index 3fb4e4f32214..aa63c98549b0 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * stock_warehouse_orderpoint_stock_info_unreserved -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -11,11 +11,12 @@ msgstr "" "POT-Creation-Date: 2017-06-10 05:36+0000\n" "PO-Revision-Date: 2017-06-10 05:36+0000\n" "Last-Translator: OCA Transbot , 2017\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" +"teams/23907/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #. module: stock_warehouse_orderpoint_stock_info_unreserved @@ -25,5 +26,6 @@ msgstr "Regra minima de inventário" #. module: stock_warehouse_orderpoint_stock_info_unreserved #: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template_product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/sl.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/sl.po index b48e319532e6..831b7cb952f3 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/sl.po +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/sl.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * stock_warehouse_orderpoint_stock_info_unreserved -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,11 +12,12 @@ msgstr "" "PO-Revision-Date: 2017-06-10 05:36+0000\n" "Last-Translator: OCA Transbot , 2017\n" "Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" #. module: stock_warehouse_orderpoint_stock_info_unreserved #: model:ir.model,name:stock_warehouse_orderpoint_stock_info_unreserved.model_stock_warehouse_orderpoint @@ -25,5 +26,6 @@ msgstr "Pravilo minimalne zaloge" #. module: stock_warehouse_orderpoint_stock_info_unreserved #: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template_product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/stock_warehouse_orderpoint_stock_info_unreserved.pot b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/stock_warehouse_orderpoint_stock_info_unreserved.pot new file mode 100644 index 000000000000..20f53ada0b10 --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/stock_warehouse_orderpoint_stock_info_unreserved.pot @@ -0,0 +1,26 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_warehouse_orderpoint_stock_info_unreserved +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.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_warehouse_orderpoint_stock_info_unreserved +#: model:ir.model,name:stock_warehouse_orderpoint_stock_info_unreserved.model_stock_warehouse_orderpoint +msgid "Minimum Inventory Rule" +msgstr "" + +#. module: stock_warehouse_orderpoint_stock_info_unreserved +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template_product_location_qty_available_not_res +msgid "Quantity On Location (Unreserved)" +msgstr "" + diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/models/__init__.py b/stock_warehouse_orderpoint_stock_info_unreserved/models/__init__.py index e25cf0d1978c..8e3be2fe2676 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/models/__init__.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/models/__init__.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# Copyright 2018 Camptocamp SA # Copyright 2016 Eficent Business and IT Consulting Services, S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py b/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py index 47d704052542..295241f7c30f 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py @@ -1,28 +1,31 @@ -# -*- coding: utf-8 -*- +# Copyright 2018 Camptocamp SA # Copyright 2016 Eficent Business and IT Consulting Services, S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import api, fields, models from collections import defaultdict +from odoo import api, fields, models class StockWarehouseOrderpoint(models.Model): _inherit = 'stock.warehouse.orderpoint' + product_location_qty_available_not_res = fields.Float( + string='Quantity On Location (Unreserved)', + compute='_compute_product_available_qty', + ) + @api.multi def _compute_product_available_qty(self): - super(StockWarehouseOrderpoint, self)._compute_product_available_qty() - op_by_loc = defaultdict(lambda: self.env['stock.warehouse.orderpoint']) + super()._compute_product_available_qty() + op_by_loc = defaultdict(set) for order in self: - op_by_loc[order.location_id] |= order + op_by_loc[order.location_id].add(order.id) for location_id, order_in_loc in op_by_loc.items(): + order_in_loc = self.browse(order_in_loc) products = order_in_loc.mapped('product_id').with_context( - location=location_id.id)._compute_qty_available_not_res() + location=location_id.id + )._compute_qty_available_not_reserved() for order in order_in_loc: product = products[order.product_id.id] order.product_location_qty_available_not_res = \ product['qty_available_not_res'] - - product_location_qty_available_not_res = fields.Float( - string='Quantity On Location (Unreserved)', - compute='_compute_product_available_qty') diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/tests/__init__.py b/stock_warehouse_orderpoint_stock_info_unreserved/tests/__init__.py index bf747c3246a8..8904e8ecf269 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/tests/__init__.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/tests/__init__.py @@ -1,4 +1,4 @@ -# -*- coding: utf-8 -*- +# Copyright 2018 Camptocamp SA # Copyright 2016 Eficent Business and IT Consulting Services, S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py b/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py index 41450062fd59..10fa9463402e 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py @@ -1,61 +1,64 @@ -# -*- coding: utf-8 -*- +# Copyright 2018 Camptocamp SA # Copyright 2016 Eficent Business and IT Consulting Services, S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo.tests.common import TransactionCase +from odoo.tests.common import SavepointCase -class TestStockWarehouseOrderpoint(TransactionCase): - - def setUp(self): - super(TestStockWarehouseOrderpoint, self).setUp() +class TestStockWarehouseOrderpoint(SavepointCase): + @classmethod + def setUpClass(cls): + super().setUpClass() # Get required Model - self.reordering_rule_model = self.env['stock.warehouse.orderpoint'] - self.stock_move_model = self.env['stock.move'] - self.product_model = self.env['product.product'] - self.product_ctg_model = self.env['product.category'] + cls.reordering_rule_model = cls.env['stock.warehouse.orderpoint'] + cls.stock_move_model = cls.env['stock.move'] + cls.product_model = cls.env['product.product'] + cls.product_ctg_model = cls.env['product.category'] # Get required Model data - self.product_uom = self.env.ref('product.product_uom_unit') - self.location_stock = self.env.ref('stock.stock_location_stock') - self.location_shelf1 = self.env.ref('stock.stock_location_components') - self.location_customer = self.env.ref('stock.stock_location_customers') - self.location_supplier = self.env.ref('stock.stock_location_suppliers') + cls.product_uom = cls.env.ref('product.product_uom_unit') + cls.location_stock = cls.env.ref('stock.stock_location_stock') + cls.location_shelf1 = cls.env.ref('stock.stock_location_components') + cls.location_customer = cls.env.ref('stock.stock_location_customers') + cls.location_supplier = cls.env.ref('stock.stock_location_suppliers') # Create product category and product - self.product_ctg = self._create_product_category() - self.product = self._create_product() + cls.product_ctg = cls._create_product_category() + cls.product = cls._create_product() # Create Reordering Rule - self.reordering_record = self.create_orderpoint() + cls.reordering_record = cls.create_orderpoint() - def _create_product_category(self): + @classmethod + def _create_product_category(cls): """Create a Product Category.""" - product_ctg = self.product_ctg_model.create({ + product_ctg = cls.product_ctg_model.create({ 'name': 'test_product_ctg', 'type': 'normal', }) return product_ctg - def _create_product(self): + @classmethod + def _create_product(cls): """Create a Stockable Product.""" - product = self.product_model.create({ + product = cls.product_model.create({ 'name': 'Test Product', - 'categ_id': self.product_ctg.id, + 'categ_id': cls.product_ctg.id, 'type': 'product', - 'uom_id': self.product_uom.id, + 'uom_id': cls.product_uom.id, }) return product - def create_orderpoint(self): + @classmethod + def create_orderpoint(cls): """Create a Reordering rule for the product.""" - record = self.reordering_rule_model.create({ + record = cls.reordering_rule_model.create({ 'name': 'Reordering Rule', - 'product_id': self.product.id, + 'product_id': cls.product.id, 'product_min_qty': '1', 'product_max_qty': '5', 'qty_multiple': '1', - 'location_id': self.location_stock.id, + 'location_id': cls.location_stock.id, }) return record @@ -64,49 +67,60 @@ def create_move(self, source_location, destination_location): 'name': 'Test move', 'product_id': self.product.id, 'product_uom': self.product_uom.id, - 'product_uom_qty': 10, + 'quantity_done': 10, 'location_id': source_location.id, - 'location_dest_id': destination_location.id} - ) + 'location_dest_id': destination_location.id + }) - move.action_confirm() + move._action_confirm() return move def test_product_qty(self): """Tests the product quantity in the Reordering rules""" # Create & process moves to test the product quantity - move_in = self.create_move(self.location_supplier, self.location_stock) - move_out = self.create_move(self.location_stock, - self.location_customer) + move_in = self.create_move( + self.location_supplier, + self.location_stock, + ) + move_out = self.create_move( + self.location_stock, + self.location_customer, + ) self.reordering_record.refresh() - self.assertEqual(self.reordering_record. - product_location_qty_available_not_res, - 0.0, - 'Quantity On Hand (Unreserved) does not match') - self.assertEqual(self.reordering_record. - product_location_qty_available_not_res, - self.product.qty_available_not_res, - 'Quantity On Hand (Unreserved) in the orderpoint ' - 'does not match with the product.') - move_in.action_done() + self.assertEqual( + self.reordering_record.product_location_qty_available_not_res, + 0.0, + 'Quantity On Hand (Unreserved) does not match', + ) + self.assertEqual( + self.reordering_record.product_location_qty_available_not_res, + self.product.qty_available_not_res, + 'Quantity On Hand (Unreserved) in the orderpoint ' + 'does not match with the product.' + ) + move_in._action_done() self.reordering_record.refresh() - self.assertEqual(self.reordering_record. - product_location_qty_available_not_res, - 10.0, - 'Quantity On Hand (Unreserved) does not match') - self.assertEqual(self.reordering_record. - product_location_qty_available_not_res, - self.product.qty_available_not_res, - 'Quantity On Hand (Unreserved) in the orderpoint ' - 'does not match with the product.') - move_out.action_assign() + self.assertEqual( + self.reordering_record.product_location_qty_available_not_res, + 10.0, + 'Quantity On Hand (Unreserved) does not match', + ) + self.assertEqual( + self.reordering_record.product_location_qty_available_not_res, + self.product.qty_available_not_res, + 'Quantity On Hand (Unreserved) in the orderpoint ' + 'does not match with the product.', + ) + move_out._action_done() self.reordering_record.refresh() - self.assertEqual(self.reordering_record. - product_location_qty_available_not_res, - 0.0, - 'Quantity On Hand (Unreserved) does not match') - self.assertEqual(self.reordering_record. - product_location_qty_available_not_res, - self.product.qty_available_not_res, - 'Quantity On Hand (Unreserved) in the orderpoint ' - 'does not match with the product.') + self.assertEqual( + self.reordering_record.product_location_qty_available_not_res, + 0.0, + 'Quantity On Hand (Unreserved) does not match', + ) + self.assertEqual( + self.reordering_record.product_location_qty_available_not_res, + self.product.qty_available_not_res, + 'Quantity On Hand (Unreserved) in the orderpoint ' + 'does not match with the product.', + ) From 7982965ffb9a4311f9d957fbf6e6970f7c10f072 Mon Sep 17 00:00:00 2001 From: Saran L Date: Tue, 19 Mar 2019 17:45:24 +0700 Subject: [PATCH 04/12] [MIG] stock_warehouse_orderpoint_stock_info_unreserved: Migration to 12.0 --- .../README.rst | 69 +-- .../__manifest__.py | 3 +- .../i18n/de.po | 3 +- .../i18n/es.po | 3 +- .../i18n/es_ES.po | 3 +- .../i18n/pt_BR.po | 3 +- .../i18n/sl.po | 3 +- ...house_orderpoint_stock_info_unreserved.pot | 5 +- .../readme/CONTRIBUTORS.rst | 2 + .../readme/DESCRIPTION.rst | 1 + .../static/description/index.html | 420 ++++++++++++++++++ .../tests/test_stock_warehouse_orderpoint.py | 3 +- .../views/stock_warehouse_orderpoint_view.xml | 8 +- 13 files changed, 481 insertions(+), 45 deletions(-) create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/readme/CONTRIBUTORS.rst create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/readme/DESCRIPTION.rst create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/static/description/index.html diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/README.rst b/stock_warehouse_orderpoint_stock_info_unreserved/README.rst index c17005e49245..b342ecf2e94b 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/README.rst +++ b/stock_warehouse_orderpoint_stock_info_unreserved/README.rst @@ -1,55 +1,74 @@ -.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg - :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html - :alt: License: AGPL-3 - ================================================ Stock Warehouse Orderpoint Stock Info Unreserved ================================================ -This modules allows to display the availability of stock on hand and -unreserved on a reordering rule. +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! 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--warehouse-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-warehouse/tree/12.0/stock_warehouse_orderpoint_stock_info_unreserved + :alt: OCA/stock-logistics-warehouse +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-warehouse-12-0/stock-logistics-warehouse-12-0-stock_warehouse_orderpoint_stock_info_unreserved + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/153/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| -Usage -===== +This modules allows to display the availability of stock on hand and unreserved on a reordering rule. -.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas - :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/153/11.0 +**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. +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 ======= -Images ------- +Authors +~~~~~~~ -* Odoo Community Association: `Icon `_. +* Eficent Contributors ------------- +~~~~~~~~~~~~ + * Jordi Ballester Alomar +* Saran Limpajitkutaporn +Maintainers +~~~~~~~~~~~ -Maintainer ----------- +This module is maintained by the OCA. .. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association :target: https://odoo-community.org -This module is maintained by the OCA. - 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. -To contribute to this module, please visit https://odoo-community.org. +This module is part of the `OCA/stock-logistics-warehouse `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py b/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py index 62ba0d02273c..85b0e0a206e7 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Stock Warehouse Orderpoint Stock Info Unreserved", - "version": "11.0.1.0.0", + "version": "12.0.1.0.0", "depends": [ "stock_warehouse_orderpoint_stock_info", "stock_available_unreserved" @@ -17,4 +17,5 @@ "data": [ "views/stock_warehouse_orderpoint_view.xml", ], + "installable": True, } diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/de.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/de.po index 74f4fd00cb1a..83032a08b916 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/de.po +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/de.po @@ -25,7 +25,6 @@ msgid "Minimum Inventory Rule" msgstr "Mindestbestandsregel" #. module: stock_warehouse_orderpoint_stock_info_unreserved -#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_product_location_qty_available_not_res -#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template_product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint__product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "Bestand am Lagerplatz (nicht reserviert)" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es.po index f47231d433be..bf249f6ccf44 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es.po +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es.po @@ -24,7 +24,6 @@ msgid "Minimum Inventory Rule" msgstr "Regla de inventario mínimo" #. module: stock_warehouse_orderpoint_stock_info_unreserved -#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_product_location_qty_available_not_res -#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template_product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint__product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es_ES.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es_ES.po index 114402639161..0fa851877458 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es_ES.po +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es_ES.po @@ -25,7 +25,6 @@ msgid "Minimum Inventory Rule" msgstr "Regla inventario mínimo" #. module: stock_warehouse_orderpoint_stock_info_unreserved -#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_product_location_qty_available_not_res -#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template_product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint__product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po index aa63c98549b0..2d86a38d3b30 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po @@ -25,7 +25,6 @@ msgid "Minimum Inventory Rule" msgstr "Regra minima de inventário" #. module: stock_warehouse_orderpoint_stock_info_unreserved -#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_product_location_qty_available_not_res -#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template_product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint__product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/sl.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/sl.po index 831b7cb952f3..a3cbdd395eea 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/sl.po +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/sl.po @@ -25,7 +25,6 @@ msgid "Minimum Inventory Rule" msgstr "Pravilo minimalne zaloge" #. module: stock_warehouse_orderpoint_stock_info_unreserved -#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_product_location_qty_available_not_res -#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template_product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint__product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/stock_warehouse_orderpoint_stock_info_unreserved.pot b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/stock_warehouse_orderpoint_stock_info_unreserved.pot index 20f53ada0b10..612e9f0a276e 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/stock_warehouse_orderpoint_stock_info_unreserved.pot +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/stock_warehouse_orderpoint_stock_info_unreserved.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 11.0\n" +"Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: <>\n" "Language-Team: \n" @@ -19,8 +19,7 @@ msgid "Minimum Inventory Rule" msgstr "" #. module: stock_warehouse_orderpoint_stock_info_unreserved -#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_product_location_qty_available_not_res -#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template_product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint__product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/readme/CONTRIBUTORS.rst b/stock_warehouse_orderpoint_stock_info_unreserved/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000000..b4f804e3176b --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Jordi Ballester Alomar +* Saran Limpajitkutaporn diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/readme/DESCRIPTION.rst b/stock_warehouse_orderpoint_stock_info_unreserved/readme/DESCRIPTION.rst new file mode 100644 index 000000000000..bf19c52bf93e --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This modules allows to display the availability of stock on hand and unreserved on a reordering rule. diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/static/description/index.html b/stock_warehouse_orderpoint_stock_info_unreserved/static/description/index.html new file mode 100644 index 000000000000..89de9b4de0bb --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/static/description/index.html @@ -0,0 +1,420 @@ + + + + + + +Stock Warehouse Orderpoint Stock Info Unreserved + + + +
+

Stock Warehouse Orderpoint Stock Info Unreserved

+ + +

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

+

This modules allows to display the availability of stock on hand and unreserved on a reordering rule.

+

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 smashing it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Eficent
  • +
+
+
+

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.

+

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

+

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

+
+
+
+ + diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py b/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py index 10fa9463402e..44732d529216 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py @@ -16,7 +16,7 @@ def setUpClass(cls): cls.product_ctg_model = cls.env['product.category'] # Get required Model data - cls.product_uom = cls.env.ref('product.product_uom_unit') + cls.product_uom = cls.env.ref('uom.product_uom_unit') cls.location_stock = cls.env.ref('stock.stock_location_stock') cls.location_shelf1 = cls.env.ref('stock.stock_location_components') cls.location_customer = cls.env.ref('stock.stock_location_customers') @@ -34,7 +34,6 @@ def _create_product_category(cls): """Create a Product Category.""" product_ctg = cls.product_ctg_model.create({ 'name': 'test_product_ctg', - 'type': 'normal', }) return product_ctg diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/views/stock_warehouse_orderpoint_view.xml b/stock_warehouse_orderpoint_stock_info_unreserved/views/stock_warehouse_orderpoint_view.xml index fe47abd70d65..61e73aa1b6b7 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/views/stock_warehouse_orderpoint_view.xml +++ b/stock_warehouse_orderpoint_stock_info_unreserved/views/stock_warehouse_orderpoint_view.xml @@ -1,10 +1,10 @@ - + stock.warehouse.orderpoint.tree stock.warehouse.orderpoint + ref="stock_warehouse_orderpoint_stock_info.view_warehouse_orderpoint_tree" /> @@ -12,11 +12,11 @@ - + stock.warehouse.orderpoint.form stock.warehouse.orderpoint + ref="stock_warehouse_orderpoint_stock_info.view_warehouse_orderpoint_form" /> From 00113ed15f6dd6fee641ee48eb2f7e5d8ceb4a33 Mon Sep 17 00:00:00 2001 From: Maxime Chambreuil Date: Fri, 26 Jul 2019 08:36:43 -0500 Subject: [PATCH 05/12] [FIX] stock_warehouse_orderpoint_stock_info_unreserved --- .../tests/test_stock_warehouse_orderpoint.py | 1 + 1 file changed, 1 insertion(+) diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py b/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py index 44732d529216..fd2ba7e10478 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py @@ -66,6 +66,7 @@ def create_move(self, source_location, destination_location): 'name': 'Test move', 'product_id': self.product.id, 'product_uom': self.product_uom.id, + 'product_uom_qty': 10, 'quantity_done': 10, 'location_id': source_location.id, 'location_dest_id': destination_location.id From 642a151bdb8266ed0c68a14f3c2ad70a79f156bc Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Tue, 30 Jul 2019 09:41:04 +0000 Subject: [PATCH 06/12] stock_warehouse_orderpoint_stock_info_unreserved 12.0.1.0.1 --- .../__manifest__.py | 2 +- .../i18n/pt_BR.po | 13 ++++----- .../i18n/zh_CN.po | 27 +++++++++++++++++++ 3 files changed, 35 insertions(+), 7 deletions(-) create mode 100644 stock_warehouse_orderpoint_stock_info_unreserved/i18n/zh_CN.po diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py b/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py index 85b0e0a206e7..35a75a70669f 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Stock Warehouse Orderpoint Stock Info Unreserved", - "version": "12.0.1.0.0", + "version": "12.0.1.0.1", "depends": [ "stock_warehouse_orderpoint_stock_info", "stock_available_unreserved" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po index 2d86a38d3b30..bbca409cb9c4 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po @@ -9,15 +9,16 @@ msgstr "" "Project-Id-Version: Odoo Server 9.0c\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-06-10 05:36+0000\n" -"PO-Revision-Date: 2017-06-10 05:36+0000\n" -"Last-Translator: OCA Transbot , 2017\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" -"teams/23907/pt_BR/)\n" +"PO-Revision-Date: 2019-08-30 14:23+0000\n" +"Last-Translator: Rodrigo Macedo \n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/" +"23907/pt_BR/)\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" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 3.8\n" #. module: stock_warehouse_orderpoint_stock_info_unreserved #: model:ir.model,name:stock_warehouse_orderpoint_stock_info_unreserved.model_stock_warehouse_orderpoint @@ -27,4 +28,4 @@ msgstr "Regra minima de inventário" #. module: stock_warehouse_orderpoint_stock_info_unreserved #: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint__product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" -msgstr "" +msgstr "Quantidade no local (não reservada)" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/zh_CN.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/zh_CN.po new file mode 100644 index 000000000000..ced8b1b51008 --- /dev/null +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/zh_CN.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_warehouse_orderpoint_stock_info_unreserved +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-10-16 15:58+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\n" +"Language-Team: none\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 3.8\n" + +#. module: stock_warehouse_orderpoint_stock_info_unreserved +#: model:ir.model,name:stock_warehouse_orderpoint_stock_info_unreserved.model_stock_warehouse_orderpoint +msgid "Minimum Inventory Rule" +msgstr "最小库存规则" + +#. module: stock_warehouse_orderpoint_stock_info_unreserved +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint__product_location_qty_available_not_res +msgid "Quantity On Location (Unreserved)" +msgstr "位置数量(未预留)" From 334b079271ed694dac41d13348752bd8dd8b2cdc Mon Sep 17 00:00:00 2001 From: ps-tubtim Date: Thu, 19 Dec 2019 10:41:03 +0700 Subject: [PATCH 07/12] [IMP] stock_warehouse_orderpoint_stock_info_unreserved: black, isort --- .../__manifest__.py | 14 +-- .../models/stock_warehouse_orderpoint.py | 20 ++-- .../tests/test_stock_warehouse_orderpoint.py | 102 +++++++++--------- 3 files changed, 66 insertions(+), 70 deletions(-) diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py b/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py index 35a75a70669f..c483e3a79337 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py @@ -4,18 +4,12 @@ { "name": "Stock Warehouse Orderpoint Stock Info Unreserved", - "version": "12.0.1.0.1", - "depends": [ - "stock_warehouse_orderpoint_stock_info", - "stock_available_unreserved" - ], - "author": "Eficent, " - "Odoo Community Association (OCA)", + "version": "13.0.1.0.0", + "depends": ["stock_warehouse_orderpoint_stock_info", "stock_available_unreserved"], + "author": "Eficent, " "Odoo Community Association (OCA)", "website": "https://github.com/OCA/stock-logistics-warehouse", "category": "Warehouse", "license": "AGPL-3", - "data": [ - "views/stock_warehouse_orderpoint_view.xml", - ], + "data": ["views/stock_warehouse_orderpoint_view.xml"], "installable": True, } diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py b/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py index 295241f7c30f..c4572819d350 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py @@ -3,15 +3,16 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from collections import defaultdict + from odoo import api, fields, models class StockWarehouseOrderpoint(models.Model): - _inherit = 'stock.warehouse.orderpoint' + _inherit = "stock.warehouse.orderpoint" product_location_qty_available_not_res = fields.Float( - string='Quantity On Location (Unreserved)', - compute='_compute_product_available_qty', + string="Quantity On Location (Unreserved)", + compute="_compute_product_available_qty", ) @api.multi @@ -22,10 +23,13 @@ def _compute_product_available_qty(self): op_by_loc[order.location_id].add(order.id) for location_id, order_in_loc in op_by_loc.items(): order_in_loc = self.browse(order_in_loc) - products = order_in_loc.mapped('product_id').with_context( - location=location_id.id - )._compute_qty_available_not_reserved() + products = ( + order_in_loc.mapped("product_id") + .with_context(location=location_id.id) + ._compute_qty_available_not_reserved() + ) for order in order_in_loc: product = products[order.product_id.id] - order.product_location_qty_available_not_res = \ - product['qty_available_not_res'] + order.product_location_qty_available_not_res = product[ + "qty_available_not_res" + ] diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py b/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py index fd2ba7e10478..42e71c8a4d4e 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/tests/test_stock_warehouse_orderpoint.py @@ -10,17 +10,17 @@ class TestStockWarehouseOrderpoint(SavepointCase): def setUpClass(cls): super().setUpClass() # Get required Model - cls.reordering_rule_model = cls.env['stock.warehouse.orderpoint'] - cls.stock_move_model = cls.env['stock.move'] - cls.product_model = cls.env['product.product'] - cls.product_ctg_model = cls.env['product.category'] + cls.reordering_rule_model = cls.env["stock.warehouse.orderpoint"] + cls.stock_move_model = cls.env["stock.move"] + cls.product_model = cls.env["product.product"] + cls.product_ctg_model = cls.env["product.category"] # Get required Model data - cls.product_uom = cls.env.ref('uom.product_uom_unit') - cls.location_stock = cls.env.ref('stock.stock_location_stock') - cls.location_shelf1 = cls.env.ref('stock.stock_location_components') - cls.location_customer = cls.env.ref('stock.stock_location_customers') - cls.location_supplier = cls.env.ref('stock.stock_location_suppliers') + cls.product_uom = cls.env.ref("uom.product_uom_unit") + cls.location_stock = cls.env.ref("stock.stock_location_stock") + cls.location_shelf1 = cls.env.ref("stock.stock_location_components") + cls.location_customer = cls.env.ref("stock.stock_location_customers") + cls.location_supplier = cls.env.ref("stock.stock_location_suppliers") # Create product category and product cls.product_ctg = cls._create_product_category() @@ -32,45 +32,49 @@ def setUpClass(cls): @classmethod def _create_product_category(cls): """Create a Product Category.""" - product_ctg = cls.product_ctg_model.create({ - 'name': 'test_product_ctg', - }) + product_ctg = cls.product_ctg_model.create({"name": "test_product_ctg"}) return product_ctg @classmethod def _create_product(cls): """Create a Stockable Product.""" - product = cls.product_model.create({ - 'name': 'Test Product', - 'categ_id': cls.product_ctg.id, - 'type': 'product', - 'uom_id': cls.product_uom.id, - }) + product = cls.product_model.create( + { + "name": "Test Product", + "categ_id": cls.product_ctg.id, + "type": "product", + "uom_id": cls.product_uom.id, + } + ) return product @classmethod def create_orderpoint(cls): """Create a Reordering rule for the product.""" - record = cls.reordering_rule_model.create({ - 'name': 'Reordering Rule', - 'product_id': cls.product.id, - 'product_min_qty': '1', - 'product_max_qty': '5', - 'qty_multiple': '1', - 'location_id': cls.location_stock.id, - }) + record = cls.reordering_rule_model.create( + { + "name": "Reordering Rule", + "product_id": cls.product.id, + "product_min_qty": "1", + "product_max_qty": "5", + "qty_multiple": "1", + "location_id": cls.location_stock.id, + } + ) return record def create_move(self, source_location, destination_location): - move = self.env['stock.move'].create({ - 'name': 'Test move', - 'product_id': self.product.id, - 'product_uom': self.product_uom.id, - 'product_uom_qty': 10, - 'quantity_done': 10, - 'location_id': source_location.id, - 'location_dest_id': destination_location.id - }) + move = self.env["stock.move"].create( + { + "name": "Test move", + "product_id": self.product.id, + "product_uom": self.product_uom.id, + "product_uom_qty": 10, + "quantity_done": 10, + "location_id": source_location.id, + "location_dest_id": destination_location.id, + } + ) move._action_confirm() return move @@ -78,49 +82,43 @@ def create_move(self, source_location, destination_location): def test_product_qty(self): """Tests the product quantity in the Reordering rules""" # Create & process moves to test the product quantity - move_in = self.create_move( - self.location_supplier, - self.location_stock, - ) - move_out = self.create_move( - self.location_stock, - self.location_customer, - ) + move_in = self.create_move(self.location_supplier, self.location_stock) + move_out = self.create_move(self.location_stock, self.location_customer) self.reordering_record.refresh() self.assertEqual( self.reordering_record.product_location_qty_available_not_res, 0.0, - 'Quantity On Hand (Unreserved) does not match', + "Quantity On Hand (Unreserved) does not match", ) self.assertEqual( self.reordering_record.product_location_qty_available_not_res, self.product.qty_available_not_res, - 'Quantity On Hand (Unreserved) in the orderpoint ' - 'does not match with the product.' + "Quantity On Hand (Unreserved) in the orderpoint " + "does not match with the product.", ) move_in._action_done() self.reordering_record.refresh() self.assertEqual( self.reordering_record.product_location_qty_available_not_res, 10.0, - 'Quantity On Hand (Unreserved) does not match', + "Quantity On Hand (Unreserved) does not match", ) self.assertEqual( self.reordering_record.product_location_qty_available_not_res, self.product.qty_available_not_res, - 'Quantity On Hand (Unreserved) in the orderpoint ' - 'does not match with the product.', + "Quantity On Hand (Unreserved) in the orderpoint " + "does not match with the product.", ) move_out._action_done() self.reordering_record.refresh() self.assertEqual( self.reordering_record.product_location_qty_available_not_res, 0.0, - 'Quantity On Hand (Unreserved) does not match', + "Quantity On Hand (Unreserved) does not match", ) self.assertEqual( self.reordering_record.product_location_qty_available_not_res, self.product.qty_available_not_res, - 'Quantity On Hand (Unreserved) in the orderpoint ' - 'does not match with the product.', + "Quantity On Hand (Unreserved) in the orderpoint " + "does not match with the product.", ) From 1afb2421e4db7864d50bcdee8c3360e654b9dee8 Mon Sep 17 00:00:00 2001 From: ps-tubtim Date: Tue, 21 Jan 2020 09:34:20 +0700 Subject: [PATCH 08/12] [MIG] stock_warehouse_orderpoint_stock_info_unreserved: Migration to 13.0 --- .../README.rst | 11 ++++++----- ...ock_warehouse_orderpoint_stock_info_unreserved.pot | 7 +++---- .../models/stock_warehouse_orderpoint.py | 3 +-- .../readme/CONTRIBUTORS.rst | 1 + .../static/description/index.html | 7 ++++--- 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/README.rst b/stock_warehouse_orderpoint_stock_info_unreserved/README.rst index b342ecf2e94b..0ea065f99e00 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/README.rst +++ b/stock_warehouse_orderpoint_stock_info_unreserved/README.rst @@ -14,13 +14,13 @@ Stock Warehouse Orderpoint Stock Info Unreserved :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--warehouse-lightgray.png?logo=github - :target: https://github.com/OCA/stock-logistics-warehouse/tree/12.0/stock_warehouse_orderpoint_stock_info_unreserved + :target: https://github.com/OCA/stock-logistics-warehouse/tree/13.0/stock_warehouse_orderpoint_stock_info_unreserved :alt: OCA/stock-logistics-warehouse .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/stock-logistics-warehouse-12-0/stock-logistics-warehouse-12-0-stock_warehouse_orderpoint_stock_info_unreserved + :target: https://translation.odoo-community.org/projects/stock-logistics-warehouse-13-0/stock-logistics-warehouse-13-0-stock_warehouse_orderpoint_stock_info_unreserved :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/153/12.0 + :target: https://runbot.odoo-community.org/runbot/153/13.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| @@ -38,7 +38,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 smashing it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -55,6 +55,7 @@ Contributors * Jordi Ballester Alomar * Saran Limpajitkutaporn +* Pimolnat Suntian Maintainers ~~~~~~~~~~~ @@ -69,6 +70,6 @@ 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/stock-logistics-warehouse `_ project on GitHub. +This module is part of the `OCA/stock-logistics-warehouse `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/stock_warehouse_orderpoint_stock_info_unreserved.pot b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/stock_warehouse_orderpoint_stock_info_unreserved.pot index 612e9f0a276e..402cafabdfcf 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/stock_warehouse_orderpoint_stock_info_unreserved.pot +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/stock_warehouse_orderpoint_stock_info_unreserved.pot @@ -1,12 +1,12 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * stock_warehouse_orderpoint_stock_info_unreserved +# * stock_warehouse_orderpoint_stock_info_unreserved # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 12.0\n" +"Project-Id-Version: Odoo Server 13.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: <>\n" +"Last-Translator: \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,4 +22,3 @@ msgstr "" #: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint__product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "" - diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py b/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py index c4572819d350..904292f2b207 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py @@ -4,7 +4,7 @@ from collections import defaultdict -from odoo import api, fields, models +from odoo import fields, models class StockWarehouseOrderpoint(models.Model): @@ -15,7 +15,6 @@ class StockWarehouseOrderpoint(models.Model): compute="_compute_product_available_qty", ) - @api.multi def _compute_product_available_qty(self): super()._compute_product_available_qty() op_by_loc = defaultdict(set) diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/readme/CONTRIBUTORS.rst b/stock_warehouse_orderpoint_stock_info_unreserved/readme/CONTRIBUTORS.rst index b4f804e3176b..02069b391787 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/readme/CONTRIBUTORS.rst +++ b/stock_warehouse_orderpoint_stock_info_unreserved/readme/CONTRIBUTORS.rst @@ -1,2 +1,3 @@ * Jordi Ballester Alomar * Saran Limpajitkutaporn +* Pimolnat Suntian diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/static/description/index.html b/stock_warehouse_orderpoint_stock_info_unreserved/static/description/index.html index 89de9b4de0bb..5db6299a9204 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/static/description/index.html +++ b/stock_warehouse_orderpoint_stock_info_unreserved/static/description/index.html @@ -367,7 +367,7 @@

Stock Warehouse Orderpoint Stock Info Unreserved

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

+

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

This modules allows to display the availability of stock on hand and unreserved on a reordering rule.

Table of contents

@@ -386,7 +386,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 smashing it by providing a detailed and welcomed -feedback.

+feedback.

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

@@ -402,6 +402,7 @@

Contributors

@@ -411,7 +412,7 @@

Maintainers

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/stock-logistics-warehouse project on GitHub.

+

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

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

From b1d87581c0ced3447e12a683003b51ee1cd6644b Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Sat, 14 Mar 2020 12:28:39 +0100 Subject: [PATCH 09/12] pre-commit update --- .../views/stock_warehouse_orderpoint_view.xml | 47 ++++++++++--------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/views/stock_warehouse_orderpoint_view.xml b/stock_warehouse_orderpoint_stock_info_unreserved/views/stock_warehouse_orderpoint_view.xml index 61e73aa1b6b7..e677204728be 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/views/stock_warehouse_orderpoint_view.xml +++ b/stock_warehouse_orderpoint_stock_info_unreserved/views/stock_warehouse_orderpoint_view.xml @@ -1,26 +1,29 @@ - + - - stock.warehouse.orderpoint.tree - stock.warehouse.orderpoint - - - - - + + stock.warehouse.orderpoint.tree + stock.warehouse.orderpoint + + + + - - - - stock.warehouse.orderpoint.form - stock.warehouse.orderpoint - - - - - + + + + stock.warehouse.orderpoint.form + stock.warehouse.orderpoint + + + + - + + From 94534b43f21ecb891e09b9eab590076392fe83a0 Mon Sep 17 00:00:00 2001 From: mreficent Date: Wed, 30 Sep 2020 12:43:18 +0200 Subject: [PATCH 10/12] [UPD] Eficent -> ForgeFlow --- .../README.rst | 19 ++++++---- .../__init__.py | 2 +- .../__manifest__.py | 4 +- .../i18n/de.po | 1 + .../i18n/es.po | 1 + .../i18n/es_ES.po | 1 + .../i18n/pt_BR.po | 5 ++- .../i18n/sl.po | 1 + ...house_orderpoint_stock_info_unreserved.pot | 1 + .../i18n/zh_CN.po | 3 +- .../models/__init__.py | 2 +- .../models/stock_warehouse_orderpoint.py | 2 +- .../readme/CONTRIBUTORS.rst | 2 +- .../static/description/index.html | 38 ++++++++++--------- .../tests/__init__.py | 2 +- .../tests/test_stock_warehouse_orderpoint.py | 2 +- 16 files changed, 49 insertions(+), 37 deletions(-) diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/README.rst b/stock_warehouse_orderpoint_stock_info_unreserved/README.rst index 0ea065f99e00..11f14d0909b8 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/README.rst +++ b/stock_warehouse_orderpoint_stock_info_unreserved/README.rst @@ -2,10 +2,13 @@ Stock Warehouse Orderpoint Stock Info Unreserved ================================================ -.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:30f6ea1cb465372058fc8933af3bce3887d23e39f4de32664bebe0182e7d2331 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status @@ -19,11 +22,11 @@ Stock Warehouse Orderpoint Stock Info Unreserved .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/stock-logistics-warehouse-13-0/stock-logistics-warehouse-13-0-stock_warehouse_orderpoint_stock_info_unreserved :alt: Translate me on Weblate -.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png - :target: https://runbot.odoo-community.org/runbot/153/13.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/stock-logistics-warehouse&target_branch=13.0 + :alt: Try me on Runboat -|badge1| |badge2| |badge3| |badge4| |badge5| +|badge1| |badge2| |badge3| |badge4| |badge5| This modules allows to display the availability of stock on hand and unreserved on a reordering rule. @@ -37,7 +40,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 smashing it by providing a detailed and welcomed +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. @@ -48,12 +51,12 @@ Credits Authors ~~~~~~~ -* Eficent +* ForgeFlow Contributors ~~~~~~~~~~~~ -* Jordi Ballester Alomar +* Jordi Ballester Alomar * Saran Limpajitkutaporn * Pimolnat Suntian diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/__init__.py b/stock_warehouse_orderpoint_stock_info_unreserved/__init__.py index cbdaeb7e6aca..b9a33ac1e559 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/__init__.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/__init__.py @@ -1,5 +1,5 @@ # Copyright 2018 Camptocamp SA -# Copyright 2016 Eficent Business and IT Consulting Services, S.L. +# Copyright 2016 ForgeFlow, S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from . import models diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py b/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py index c483e3a79337..875eda1c3b0d 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/__manifest__.py @@ -1,12 +1,12 @@ # Copyright 2018 Camptocamp SA -# Copyright 2016 Eficent Business and IT Consulting Services, S.L. +# Copyright 2016 ForgeFlow, S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { "name": "Stock Warehouse Orderpoint Stock Info Unreserved", "version": "13.0.1.0.0", "depends": ["stock_warehouse_orderpoint_stock_info", "stock_available_unreserved"], - "author": "Eficent, " "Odoo Community Association (OCA)", + "author": "ForgeFlow, " "Odoo Community Association (OCA)", "website": "https://github.com/OCA/stock-logistics-warehouse", "category": "Warehouse", "license": "AGPL-3", diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/de.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/de.po index 83032a08b916..9c41c7d6a9f6 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/de.po +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/de.po @@ -26,5 +26,6 @@ msgstr "Mindestbestandsregel" #. module: stock_warehouse_orderpoint_stock_info_unreserved #: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint__product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template__product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "Bestand am Lagerplatz (nicht reserviert)" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es.po index bf249f6ccf44..64bed5d85318 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es.po +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es.po @@ -25,5 +25,6 @@ msgstr "Regla de inventario mínimo" #. module: stock_warehouse_orderpoint_stock_info_unreserved #: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint__product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template__product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es_ES.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es_ES.po index 0fa851877458..5bad1e23fbe0 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es_ES.po +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/es_ES.po @@ -26,5 +26,6 @@ msgstr "Regla inventario mínimo" #. module: stock_warehouse_orderpoint_stock_info_unreserved #: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint__product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template__product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po index bbca409cb9c4..ee4d7fbe1d59 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/pt_BR.po @@ -11,8 +11,8 @@ msgstr "" "POT-Creation-Date: 2017-06-10 05:36+0000\n" "PO-Revision-Date: 2019-08-30 14:23+0000\n" "Last-Translator: Rodrigo Macedo \n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/" -"23907/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" +"teams/23907/pt_BR/)\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,5 +27,6 @@ msgstr "Regra minima de inventário" #. module: stock_warehouse_orderpoint_stock_info_unreserved #: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint__product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template__product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "Quantidade no local (não reservada)" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/sl.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/sl.po index a3cbdd395eea..8cf04bc4a554 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/sl.po +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/sl.po @@ -26,5 +26,6 @@ msgstr "Pravilo minimalne zaloge" #. module: stock_warehouse_orderpoint_stock_info_unreserved #: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint__product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template__product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/stock_warehouse_orderpoint_stock_info_unreserved.pot b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/stock_warehouse_orderpoint_stock_info_unreserved.pot index 402cafabdfcf..596df151f414 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/stock_warehouse_orderpoint_stock_info_unreserved.pot +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/stock_warehouse_orderpoint_stock_info_unreserved.pot @@ -20,5 +20,6 @@ msgstr "" #. module: stock_warehouse_orderpoint_stock_info_unreserved #: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint__product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template__product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/zh_CN.po b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/zh_CN.po index ced8b1b51008..4a059aab5141 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/i18n/zh_CN.po +++ b/stock_warehouse_orderpoint_stock_info_unreserved/i18n/zh_CN.po @@ -1,6 +1,6 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: -# * stock_warehouse_orderpoint_stock_info_unreserved +# * stock_warehouse_orderpoint_stock_info_unreserved # msgid "" msgstr "" @@ -23,5 +23,6 @@ msgstr "最小库存规则" #. module: stock_warehouse_orderpoint_stock_info_unreserved #: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint__product_location_qty_available_not_res +#: model:ir.model.fields,field_description:stock_warehouse_orderpoint_stock_info_unreserved.field_stock_warehouse_orderpoint_template__product_location_qty_available_not_res msgid "Quantity On Location (Unreserved)" msgstr "位置数量(未预留)" diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/models/__init__.py b/stock_warehouse_orderpoint_stock_info_unreserved/models/__init__.py index 8e3be2fe2676..0561cac48db8 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/models/__init__.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/models/__init__.py @@ -1,5 +1,5 @@ # Copyright 2018 Camptocamp SA -# Copyright 2016 Eficent Business and IT Consulting Services, S.L. +# Copyright 2016 ForgeFlow, S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from . import stock_warehouse_orderpoint diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py b/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py index 904292f2b207..dc09bc31c067 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py +++ b/stock_warehouse_orderpoint_stock_info_unreserved/models/stock_warehouse_orderpoint.py @@ -1,5 +1,5 @@ # Copyright 2018 Camptocamp SA -# Copyright 2016 Eficent Business and IT Consulting Services, S.L. +# Copyright 2016 ForgeFlow, S.L. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). from collections import defaultdict diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/readme/CONTRIBUTORS.rst b/stock_warehouse_orderpoint_stock_info_unreserved/readme/CONTRIBUTORS.rst index 02069b391787..e7321aef17f6 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/readme/CONTRIBUTORS.rst +++ b/stock_warehouse_orderpoint_stock_info_unreserved/readme/CONTRIBUTORS.rst @@ -1,3 +1,3 @@ -* Jordi Ballester Alomar +* Jordi Ballester Alomar * Saran Limpajitkutaporn * Pimolnat Suntian diff --git a/stock_warehouse_orderpoint_stock_info_unreserved/static/description/index.html b/stock_warehouse_orderpoint_stock_info_unreserved/static/description/index.html index 5db6299a9204..4e6a0b48ba7b 100644 --- a/stock_warehouse_orderpoint_stock_info_unreserved/static/description/index.html +++ b/stock_warehouse_orderpoint_stock_info_unreserved/static/description/index.html @@ -1,20 +1,20 @@ - + - + Stock Warehouse Orderpoint Stock Info Unreserved