diff --git a/addons/mrp/models/mrp_production.py b/addons/mrp/models/mrp_production.py index ab6d498a4a0..cc9f354b60b 100644 --- a/addons/mrp/models/mrp_production.py +++ b/addons/mrp/models/mrp_production.py @@ -8,7 +8,6 @@ import re from collections import defaultdict from dateutil.relativedelta import relativedelta -from itertools import groupby from odoo import api, fields, models, _ from odoo.exceptions import AccessError, UserError diff --git a/addons/mrp/tests/test_procurement.py b/addons/mrp/tests/test_procurement.py index 6901920c91d..297adfcf455 100644 --- a/addons/mrp/tests/test_procurement.py +++ b/addons/mrp/tests/test_procurement.py @@ -353,7 +353,8 @@ class TestProcurement(TestMrpCommon): 2. There is not enough of a manufactured component to assign the created MO => auto-create 2nd MO 3. Add an extra manufactured component (not in stock) to 1st MO => auto-create 3rd MO 4. When 2nd MO is completed => auto-assign to 1st MO - 5. When 1st MO is completed => auto-assign to picking """ + 5. When 1st MO is completed => auto-assign to picking + 6. Additionally check that a MO that has component in stock auto-reserves when MO is confirmed (since default setting = 'at_confirm')""" self.warehouse = self.env.ref('stock.warehouse0') route_manufacture = self.warehouse.manufacture_pull_id.route_id @@ -373,7 +374,7 @@ class TestProcurement(TestMrpCommon): 'type': 'consu', }) - self.env['mrp.bom'].create({ + bom1 = self.env['mrp.bom'].create({ 'product_id': product_1.id, 'product_tmpl_id': product_1.product_tmpl_id.id, 'product_uom_id': self.uom_unit.id, @@ -504,3 +505,15 @@ class TestProcurement(TestMrpCommon): mo.button_mark_done() self.assertEqual(pick_output.move_ids_without_package.reserved_availability, 10, "Completed products should have been auto-reserved in picking") + + # make sure next MO auto-reserves components now that they are in stock since + # default reservation_method = 'at_confirm' + mo_form = Form(self.env['mrp.production']) + mo_form.product_id = product_1 + mo_form.bom_id = bom1 + mo_form.product_qty = 5 + mo_form.product_uom_id = product_1.uom_id + mo_assign_at_confirm = mo_form.save() + mo_assign_at_confirm.action_confirm() + + self.assertEqual(mo_assign_at_confirm.move_raw_ids.reserved_availability, 5, "Components should have been auto-reserved") diff --git a/addons/mrp/tests/test_warehouse_multistep_manufacturing.py b/addons/mrp/tests/test_warehouse_multistep_manufacturing.py index d9e6f840950..ba48660e707 100644 --- a/addons/mrp/tests/test_warehouse_multistep_manufacturing.py +++ b/addons/mrp/tests/test_warehouse_multistep_manufacturing.py @@ -174,7 +174,7 @@ class TestMultistepManufacturingWarehouse(TestMrpCommon): self.assertTrue(picking_stock_preprod) self.assertTrue(picking_stock_postprod) - self.assertEqual(picking_stock_preprod.state, 'confirmed') + self.assertEqual(picking_stock_preprod.state, 'assigned') self.assertEqual(picking_stock_postprod.state, 'waiting') self.assertEqual(picking_stock_preprod.origin, production_order.name, 'The pre-prod origin should be the MO name') self.assertEqual(picking_stock_postprod.origin, 'SOURCEDOCUMENT', 'The post-prod origin should be the SO name') @@ -250,7 +250,7 @@ class TestMultistepManufacturingWarehouse(TestMrpCommon): self.assertTrue(move_stock_preprod) self.assertTrue(move_stock_postprod) - self.assertEqual(move_stock_preprod.state, 'confirmed') + self.assertEqual(move_stock_preprod.state, 'assigned') self.assertEqual(move_stock_postprod.state, 'waiting') move_stock_preprod._action_cancel() diff --git a/addons/procurement_jit/__init__.py b/addons/procurement_jit/__init__.py deleted file mode 100644 index 216835128a0..00000000000 --- a/addons/procurement_jit/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from . import sale diff --git a/addons/procurement_jit/__manifest__.py b/addons/procurement_jit/__manifest__.py deleted file mode 100644 index 500d605bb9f..00000000000 --- a/addons/procurement_jit/__manifest__.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - - -{ - 'name': 'Just In Time Scheduling', - 'version': '1.0', - 'category': 'Inventory/Inventory', - 'description': """ -This module will automatically reserve the picking from stock when a sales order is confirmed -============================================================================================= -Upon confirmation of a sales order or when quantities are added, -the picking that reserves from stock will be reserved if the -necessary quantities are available. - -In the simplest configurations, this is an easy way of working: -first come, first served. However, when not installed, you can -use manual reservation or run the schedulers where the system -will take into account the expected date and the priority. - -If this automatic reservation would reserve too much, you can -still unreserve a picking. - """, - 'depends': ['sale_stock'], - 'data': [], - 'demo': [], - 'test': [], - 'installable': True, - 'auto_install': True, -} diff --git a/addons/procurement_jit/i18n/am.po b/addons/procurement_jit/i18n/am.po deleted file mode 100644 index 641304d79e9..00000000000 --- a/addons/procurement_jit/i18n/am.po +++ /dev/null @@ -1,26 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-14 10:49+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Amharic (http://www.transifex.com/odoo/odoo-9/language/am/)\n" -"Language: am\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" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" - -#~ msgid "Procurement" -#~ msgstr "ግዢ" diff --git a/addons/procurement_jit/i18n/ar.po b/addons/procurement_jit/i18n/ar.po deleted file mode 100644 index e531d9c5915..00000000000 --- a/addons/procurement_jit/i18n/ar.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Mustafa Rawi , 2019 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Last-Translator: Mustafa Rawi , 2019\n" -"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "بند أمر المبيعات" diff --git a/addons/procurement_jit/i18n/az.po b/addons/procurement_jit/i18n/az.po deleted file mode 100644 index e8555f2348e..00000000000 --- a/addons/procurement_jit/i18n/az.po +++ /dev/null @@ -1,21 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-08-24 09:23+0000\n" -"Language-Team: Azerbaijani (https://www.transifex.com/odoo/teams/41243/az/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: az\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" diff --git a/addons/procurement_jit/i18n/bg.po b/addons/procurement_jit/i18n/bg.po deleted file mode 100644 index b522469db7d..00000000000 --- a/addons/procurement_jit/i18n/bg.po +++ /dev/null @@ -1,27 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-14 10:49+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Bulgarian (http://www.transifex.com/odoo/odoo-9/language/" -"bg/)\n" -"Language: bg\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" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" - -#~ msgid "Procurement" -#~ msgstr "Снабдаване" diff --git a/addons/procurement_jit/i18n/bs.po b/addons/procurement_jit/i18n/bs.po deleted file mode 100644 index 6c92c831811..00000000000 --- a/addons/procurement_jit/i18n/bs.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Martin Trigaux, 2018 -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-09-18 09:49+0000\n" -"Last-Translator: Martin Trigaux, 2018\n" -"Language-Team: Bosnian (https://www.transifex.com/odoo/teams/41243/bs/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: bs\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Stavka prodajne narudžbe" diff --git a/addons/procurement_jit/i18n/ca.po b/addons/procurement_jit/i18n/ca.po deleted file mode 100644 index 2ae5bd7be8a..00000000000 --- a/addons/procurement_jit/i18n/ca.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Manel Fernandez , 2018 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-08-24 09:23+0000\n" -"Last-Translator: Manel Fernandez , 2018\n" -"Language-Team: Catalan (https://www.transifex.com/odoo/teams/41243/ca/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Línia comanda de venda" diff --git a/addons/procurement_jit/i18n/cs.po b/addons/procurement_jit/i18n/cs.po deleted file mode 100644 index 45e40422cf5..00000000000 --- a/addons/procurement_jit/i18n/cs.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# trendspotter , 2019 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Last-Translator: trendspotter , 2019\n" -"Language-Team: Czech (https://www.transifex.com/odoo/teams/41243/cs/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: cs\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Řádek zakázky" diff --git a/addons/procurement_jit/i18n/da.po b/addons/procurement_jit/i18n/da.po deleted file mode 100644 index d66156c9424..00000000000 --- a/addons/procurement_jit/i18n/da.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Martin Trigaux, 2018 -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-09-18 09:49+0000\n" -"Last-Translator: Martin Trigaux, 2018\n" -"Language-Team: Danish (https://www.transifex.com/odoo/teams/41243/da/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Salgsordrelinje" diff --git a/addons/procurement_jit/i18n/de.po b/addons/procurement_jit/i18n/de.po deleted file mode 100644 index dc08b0912f7..00000000000 --- a/addons/procurement_jit/i18n/de.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Leon Grill , 2019 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Last-Translator: Leon Grill , 2019\n" -"Language-Team: German (https://www.transifex.com/odoo/teams/41243/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: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Kundenauftragszeile" diff --git a/addons/procurement_jit/i18n/el.po b/addons/procurement_jit/i18n/el.po deleted file mode 100644 index a958a062123..00000000000 --- a/addons/procurement_jit/i18n/el.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Kostas Goutoudis , 2018 -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-09-18 09:49+0000\n" -"Last-Translator: Kostas Goutoudis , 2018\n" -"Language-Team: Greek (https://www.transifex.com/odoo/teams/41243/el/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Γραμμή Παραγγελίας" diff --git a/addons/procurement_jit/i18n/en_GB.po b/addons/procurement_jit/i18n/en_GB.po deleted file mode 100644 index 78c5ed623fa..00000000000 --- a/addons/procurement_jit/i18n/en_GB.po +++ /dev/null @@ -1,28 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Andi Chandler , 2015 -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-14 10:49+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: English (United Kingdom) (http://www.transifex.com/odoo/" -"odoo-9/language/en_GB/)\n" -"Language: en_GB\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" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" - -#~ msgid "Procurement" -#~ msgstr "Procurement" diff --git a/addons/procurement_jit/i18n/es.po b/addons/procurement_jit/i18n/es.po deleted file mode 100644 index 278bdd0a851..00000000000 --- a/addons/procurement_jit/i18n/es.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Martin Trigaux, 2019 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Last-Translator: Martin Trigaux, 2019\n" -"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/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: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Línea de pedido de venta" diff --git a/addons/procurement_jit/i18n/es_CL.po b/addons/procurement_jit/i18n/es_CL.po deleted file mode 100644 index 69a5d39f5a7..00000000000 --- a/addons/procurement_jit/i18n/es_CL.po +++ /dev/null @@ -1,27 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-14 10:49+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Spanish (Chile) (http://www.transifex.com/odoo/odoo-9/" -"language/es_CL/)\n" -"Language: es_CL\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" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" - -#~ msgid "Procurement" -#~ msgstr "Abastecimiento" diff --git a/addons/procurement_jit/i18n/es_CO.po b/addons/procurement_jit/i18n/es_CO.po deleted file mode 100644 index 6b779b49c69..00000000000 --- a/addons/procurement_jit/i18n/es_CO.po +++ /dev/null @@ -1,41 +0,0 @@ -# #-#-#-#-# es_CO.po (Odoo 9.0) #-#-#-#-# -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Mateo Tibaquirá , 2015 -# #-#-#-#-# es_CO.po (Odoo 9.0) #-#-#-#-# -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-10-22 23:34+0000\n" -"Last-Translator: Mateo Tibaquirá \n" -"Language-Team: Spanish (Colombia) (http://www.transifex.com/odoo/odoo-9/" -"language/es_CO/)\n" -"Language: es_CO\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"#-#-#-#-# es_CO.po (Odoo 9.0) #-#-#-#-#\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"#-#-#-#-# es_CO.po (Odoo 9.0) #-#-#-#-#\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -#, fuzzy -msgid "Sales Order Line" -msgstr "" -"#-#-#-#-# es_CO.po (Odoo 9.0) #-#-#-#-#\n" -"Línea de Orden de Ventas\n" -"#-#-#-#-# es_CO.po (Odoo 9.0) #-#-#-#-#\n" -"Línea de Órdenes de Venta" diff --git a/addons/procurement_jit/i18n/es_CR.po b/addons/procurement_jit/i18n/es_CR.po deleted file mode 100644 index f973fd49c1d..00000000000 --- a/addons/procurement_jit/i18n/es_CR.po +++ /dev/null @@ -1,27 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-14 10:49+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Spanish (Costa Rica) (http://www.transifex.com/odoo/odoo-9/" -"language/es_CR/)\n" -"Language: es_CR\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" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" - -#~ msgid "Procurement" -#~ msgstr "Abastecimiento" diff --git a/addons/procurement_jit/i18n/es_DO.po b/addons/procurement_jit/i18n/es_DO.po deleted file mode 100644 index 2fc2301ae8e..00000000000 --- a/addons/procurement_jit/i18n/es_DO.po +++ /dev/null @@ -1,27 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-14 10:49+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Spanish (Dominican Republic) (http://www.transifex.com/odoo/" -"odoo-9/language/es_DO/)\n" -"Language: es_DO\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" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" - -#~ msgid "Procurement" -#~ msgstr "Abastecimiento" diff --git a/addons/procurement_jit/i18n/es_EC.po b/addons/procurement_jit/i18n/es_EC.po deleted file mode 100644 index 6ceb47ba3eb..00000000000 --- a/addons/procurement_jit/i18n/es_EC.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Rick Hunter , 2015 -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-12-07 04:21+0000\n" -"Last-Translator: Rick Hunter \n" -"Language-Team: Spanish (Ecuador) (http://www.transifex.com/odoo/odoo-9/" -"language/es_EC/)\n" -"Language: es_EC\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" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Línea de Orden de Venta" diff --git a/addons/procurement_jit/i18n/es_PE.po b/addons/procurement_jit/i18n/es_PE.po deleted file mode 100644 index fdef58e9d46..00000000000 --- a/addons/procurement_jit/i18n/es_PE.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2016-06-13 23:22+0000\n" -"Last-Translator: Carlos Eduardo Rodriguez Rossi \n" -"Language-Team: Spanish (Peru) (http://www.transifex.com/odoo/odoo-9/language/" -"es_PE/)\n" -"Language: es_PE\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" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Línea de Pedido de Venta" diff --git a/addons/procurement_jit/i18n/es_PY.po b/addons/procurement_jit/i18n/es_PY.po deleted file mode 100644 index e84c9f88b64..00000000000 --- a/addons/procurement_jit/i18n/es_PY.po +++ /dev/null @@ -1,27 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-14 10:49+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Spanish (Paraguay) (http://www.transifex.com/odoo/odoo-9/" -"language/es_PY/)\n" -"Language: es_PY\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" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" - -#~ msgid "Procurement" -#~ msgstr "Abastecimiento" diff --git a/addons/procurement_jit/i18n/es_VE.po b/addons/procurement_jit/i18n/es_VE.po deleted file mode 100644 index ed0ffd848e6..00000000000 --- a/addons/procurement_jit/i18n/es_VE.po +++ /dev/null @@ -1,27 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-14 10:49+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Spanish (Venezuela) (http://www.transifex.com/odoo/odoo-9/" -"language/es_VE/)\n" -"Language: es_VE\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" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" - -#~ msgid "Procurement" -#~ msgstr "Abastecimiento" diff --git a/addons/procurement_jit/i18n/et.po b/addons/procurement_jit/i18n/et.po deleted file mode 100644 index 1a2459191e5..00000000000 --- a/addons/procurement_jit/i18n/et.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Eneli Õigus , 2018 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-08-24 09:23+0000\n" -"Last-Translator: Eneli Õigus , 2018\n" -"Language-Team: Estonian (https://www.transifex.com/odoo/teams/41243/et/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: et\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Müügitellimuse rida" diff --git a/addons/procurement_jit/i18n/fa.po b/addons/procurement_jit/i18n/fa.po deleted file mode 100644 index b91b9327175..00000000000 --- a/addons/procurement_jit/i18n/fa.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Hamid Darabi, 2018 -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-09-18 09:49+0000\n" -"Last-Translator: Hamid Darabi, 2018\n" -"Language-Team: Persian (https://www.transifex.com/odoo/teams/41243/fa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: fa\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "سطر سفارش‌فروش" diff --git a/addons/procurement_jit/i18n/fi.po b/addons/procurement_jit/i18n/fi.po deleted file mode 100644 index e816260c26a..00000000000 --- a/addons/procurement_jit/i18n/fi.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Jussi Lehto , 2018 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-08-24 09:23+0000\n" -"Last-Translator: Jussi Lehto , 2018\n" -"Language-Team: Finnish (https://www.transifex.com/odoo/teams/41243/fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Myyntitilauksen rivi" diff --git a/addons/procurement_jit/i18n/fo.po b/addons/procurement_jit/i18n/fo.po deleted file mode 100644 index bc587a2203e..00000000000 --- a/addons/procurement_jit/i18n/fo.po +++ /dev/null @@ -1,23 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-08-25 10:21+0000\n" -"Last-Translator: <>\n" -"Language-Team: Faroese (http://www.transifex.com/odoo/odoo-9/language/fo/)\n" -"Language: fo\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" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Søluordra-linja" diff --git a/addons/procurement_jit/i18n/fr.po b/addons/procurement_jit/i18n/fr.po deleted file mode 100644 index f697a2b9aea..00000000000 --- a/addons/procurement_jit/i18n/fr.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Martin Trigaux, 2019 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Last-Translator: Martin Trigaux, 2019\n" -"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Ligne de bons de commande" diff --git a/addons/procurement_jit/i18n/fr_BE.po b/addons/procurement_jit/i18n/fr_BE.po deleted file mode 100644 index 194f902a0ef..00000000000 --- a/addons/procurement_jit/i18n/fr_BE.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-11-18 13:40+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: French (Belgium) (http://www.transifex.com/odoo/odoo-9/" -"language/fr_BE/)\n" -"Language: fr_BE\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" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Ligne du bon de commande" diff --git a/addons/procurement_jit/i18n/gl.po b/addons/procurement_jit/i18n/gl.po deleted file mode 100644 index b8ef2171dd7..00000000000 --- a/addons/procurement_jit/i18n/gl.po +++ /dev/null @@ -1,26 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-14 10:49+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Galician (http://www.transifex.com/odoo/odoo-9/language/gl/)\n" -"Language: gl\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" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" - -#~ msgid "Procurement" -#~ msgstr "Abastecemento" diff --git a/addons/procurement_jit/i18n/gu.po b/addons/procurement_jit/i18n/gu.po deleted file mode 100644 index cfa6520e838..00000000000 --- a/addons/procurement_jit/i18n/gu.po +++ /dev/null @@ -1,21 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.2\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-22 14:10+0000\n" -"PO-Revision-Date: 2018-03-22 14:10+0000\n" -"Language-Team: Gujarati (https://www.transifex.com/odoo/teams/41243/gu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: gu\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" diff --git a/addons/procurement_jit/i18n/he.po b/addons/procurement_jit/i18n/he.po deleted file mode 100644 index 2a814160597..00000000000 --- a/addons/procurement_jit/i18n/he.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# ZVI BLONDER , 2019 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Last-Translator: ZVI BLONDER , 2019\n" -"Language-Team: Hebrew (https://www.transifex.com/odoo/teams/41243/he/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: he\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "שורת הזמנת לקוח" diff --git a/addons/procurement_jit/i18n/hr.po b/addons/procurement_jit/i18n/hr.po deleted file mode 100644 index d5d6bad4ab2..00000000000 --- a/addons/procurement_jit/i18n/hr.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Bole , 2019 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Last-Translator: Bole , 2019\n" -"Language-Team: Croatian (https://www.transifex.com/odoo/teams/41243/hr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: hr\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Stavka prodajnog naloga" diff --git a/addons/procurement_jit/i18n/hu.po b/addons/procurement_jit/i18n/hu.po deleted file mode 100644 index 20b22a269ce..00000000000 --- a/addons/procurement_jit/i18n/hu.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# gezza , 2019 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Last-Translator: gezza , 2019\n" -"Language-Team: Hungarian (https://www.transifex.com/odoo/teams/41243/hu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: hu\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Értékesítési megrendelés sor" diff --git a/addons/procurement_jit/i18n/id.po b/addons/procurement_jit/i18n/id.po deleted file mode 100644 index b4e75fe466e..00000000000 --- a/addons/procurement_jit/i18n/id.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Andi Fadhel , 2017 -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 10.saas~18\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-20 09:53+0000\n" -"PO-Revision-Date: 2017-09-20 09:53+0000\n" -"Last-Translator: Andi Fadhel , 2017\n" -"Language-Team: Indonesian (https://www.transifex.com/odoo/teams/41243/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Daftr Order Penjualan" diff --git a/addons/procurement_jit/i18n/is.po b/addons/procurement_jit/i18n/is.po deleted file mode 100644 index bc8ef9b1218..00000000000 --- a/addons/procurement_jit/i18n/is.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Bjorn Ingvarsson , 2018 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-08-24 09:23+0000\n" -"Last-Translator: Bjorn Ingvarsson , 2018\n" -"Language-Team: Icelandic (https://www.transifex.com/odoo/teams/41243/is/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: is\n" -"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Sales Order Line" diff --git a/addons/procurement_jit/i18n/it.po b/addons/procurement_jit/i18n/it.po deleted file mode 100644 index 098e8be7b38..00000000000 --- a/addons/procurement_jit/i18n/it.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Sergio Zanchetta , 2018 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-08-24 09:23+0000\n" -"Last-Translator: Sergio Zanchetta , 2018\n" -"Language-Team: Italian (https://www.transifex.com/odoo/teams/41243/it/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Riga ordine di vendita" diff --git a/addons/procurement_jit/i18n/ja.po b/addons/procurement_jit/i18n/ja.po deleted file mode 100644 index 1e10cae72a2..00000000000 --- a/addons/procurement_jit/i18n/ja.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Yoshi Tashiro , 2018 -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-09-18 09:49+0000\n" -"Last-Translator: Yoshi Tashiro , 2018\n" -"Language-Team: Japanese (https://www.transifex.com/odoo/teams/41243/ja/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: ja\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "販売オーダ明細" diff --git a/addons/procurement_jit/i18n/kab.po b/addons/procurement_jit/i18n/kab.po deleted file mode 100644 index f570ae34cee..00000000000 --- a/addons/procurement_jit/i18n/kab.po +++ /dev/null @@ -1,26 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-14 10:49+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Kabyle (http://www.transifex.com/odoo/odoo-9/language/kab/)\n" -"Language: kab\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" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" - -#~ msgid "Procurement" -#~ msgstr "Asigeẓ" diff --git a/addons/procurement_jit/i18n/km.po b/addons/procurement_jit/i18n/km.po deleted file mode 100644 index e6f5f7d26e1..00000000000 --- a/addons/procurement_jit/i18n/km.po +++ /dev/null @@ -1,21 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-09-18 09:49+0000\n" -"Language-Team: Khmer (https://www.transifex.com/odoo/teams/41243/km/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: km\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" diff --git a/addons/procurement_jit/i18n/ko.po b/addons/procurement_jit/i18n/ko.po deleted file mode 100644 index 2ba83c26913..00000000000 --- a/addons/procurement_jit/i18n/ko.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Linkup , 2018 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-08-24 09:23+0000\n" -"Last-Translator: Linkup , 2018\n" -"Language-Team: Korean (https://www.transifex.com/odoo/teams/41243/ko/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: ko\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "판매 주문 라인" diff --git a/addons/procurement_jit/i18n/lb.po b/addons/procurement_jit/i18n/lb.po deleted file mode 100644 index f7b56706a0b..00000000000 --- a/addons/procurement_jit/i18n/lb.po +++ /dev/null @@ -1,21 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Language-Team: Luxembourgish (https://www.transifex.com/odoo/teams/41243/lb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" diff --git a/addons/procurement_jit/i18n/lo.po b/addons/procurement_jit/i18n/lo.po deleted file mode 100644 index 2e2fa4abf42..00000000000 --- a/addons/procurement_jit/i18n/lo.po +++ /dev/null @@ -1,23 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-11-13 09:02+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Lao (http://www.transifex.com/odoo/odoo-9/language/lo/)\n" -"Language: lo\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" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "ລາຍການສິນຄ້າທີ່ສັ່ງຊື້" diff --git a/addons/procurement_jit/i18n/lt.po b/addons/procurement_jit/i18n/lt.po deleted file mode 100644 index c0d07a4a8a6..00000000000 --- a/addons/procurement_jit/i18n/lt.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Martin Trigaux, 2019 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Last-Translator: Martin Trigaux, 2019\n" -"Language-Team: Lithuanian (https://www.transifex.com/odoo/teams/41243/lt/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: lt\n" -"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Pardavimo užsakymo eilutė" diff --git a/addons/procurement_jit/i18n/lv.po b/addons/procurement_jit/i18n/lv.po deleted file mode 100644 index d88b670d8dc..00000000000 --- a/addons/procurement_jit/i18n/lv.po +++ /dev/null @@ -1,21 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 10.saas~18\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-20 09:53+0000\n" -"PO-Revision-Date: 2017-09-20 09:53+0000\n" -"Language-Team: Latvian (https://www.transifex.com/odoo/teams/41243/lv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" diff --git a/addons/procurement_jit/i18n/mk.po b/addons/procurement_jit/i18n/mk.po deleted file mode 100644 index 9a10f95520f..00000000000 --- a/addons/procurement_jit/i18n/mk.po +++ /dev/null @@ -1,27 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-14 10:49+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Macedonian (http://www.transifex.com/odoo/odoo-9/language/" -"mk/)\n" -"Language: mk\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" - -#~ msgid "Procurement" -#~ msgstr "Набавка" diff --git a/addons/procurement_jit/i18n/mn.po b/addons/procurement_jit/i18n/mn.po deleted file mode 100644 index a00e766b23d..00000000000 --- a/addons/procurement_jit/i18n/mn.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Baskhuu Lodoikhuu , 2019 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Last-Translator: Baskhuu Lodoikhuu , 2019\n" -"Language-Team: Mongolian (https://www.transifex.com/odoo/teams/41243/mn/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: mn\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Борлуулалтын захиалгын мөр" diff --git a/addons/procurement_jit/i18n/nb.po b/addons/procurement_jit/i18n/nb.po deleted file mode 100644 index ed2c0bf9471..00000000000 --- a/addons/procurement_jit/i18n/nb.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Martin Trigaux, 2019 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Last-Translator: Martin Trigaux, 2019\n" -"Language-Team: Norwegian Bokmål (https://www.transifex.com/odoo/teams/41243/nb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: nb\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Salgsordrelinje" diff --git a/addons/procurement_jit/i18n/nl.po b/addons/procurement_jit/i18n/nl.po deleted file mode 100644 index 3e0b7e558a0..00000000000 --- a/addons/procurement_jit/i18n/nl.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Martin Trigaux, 2018 -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-09-18 09:49+0000\n" -"Last-Translator: Martin Trigaux, 2018\n" -"Language-Team: Dutch (https://www.transifex.com/odoo/teams/41243/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Verkooporderregel" diff --git a/addons/procurement_jit/i18n/nl_BE.po b/addons/procurement_jit/i18n/nl_BE.po deleted file mode 100644 index 0727b2cc9cb..00000000000 --- a/addons/procurement_jit/i18n/nl_BE.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: Odoo 9.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-08-18 14:07+0000\n" -"PO-Revision-Date: 2015-09-27 10:36+0000\n" -"Last-Translator: Martin Trigaux\n" -"Language-Team: Dutch (Belgium) (http://www.transifex.com/odoo/odoo-9/" -"language/nl_BE/)\n" -"Language: nl_BE\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" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" diff --git a/addons/procurement_jit/i18n/pl.po b/addons/procurement_jit/i18n/pl.po deleted file mode 100644 index d7812bd6c88..00000000000 --- a/addons/procurement_jit/i18n/pl.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Paweł Wodyński , 2019 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Last-Translator: Paweł Wodyński , 2019\n" -"Language-Team: Polish (https://www.transifex.com/odoo/teams/41243/pl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: pl\n" -"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Pozycja zamówienia sprzedaży" diff --git a/addons/procurement_jit/i18n/procurement_jit.pot b/addons/procurement_jit/i18n/procurement_jit.pot deleted file mode 100644 index b09ca2343ee..00000000000 --- a/addons/procurement_jit/i18n/procurement_jit.pot +++ /dev/null @@ -1,36 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~13.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-09-01 07:29+0000\n" -"PO-Revision-Date: 2020-09-01 07:29+0000\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: procurement_jit -#: model:ir.model.fields,field_description:procurement_jit.field_sale_order_line__display_name -msgid "Display Name" -msgstr "" - -#. module: procurement_jit -#: model:ir.model.fields,field_description:procurement_jit.field_sale_order_line__id -msgid "ID" -msgstr "" - -#. module: procurement_jit -#: model:ir.model.fields,field_description:procurement_jit.field_sale_order_line____last_update -msgid "Last Modified on" -msgstr "" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" diff --git a/addons/procurement_jit/i18n/pt.po b/addons/procurement_jit/i18n/pt.po deleted file mode 100644 index b760bb2d04a..00000000000 --- a/addons/procurement_jit/i18n/pt.po +++ /dev/null @@ -1,21 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Language-Team: Portuguese (https://www.transifex.com/odoo/teams/41243/pt/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: pt\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" diff --git a/addons/procurement_jit/i18n/pt_BR.po b/addons/procurement_jit/i18n/pt_BR.po deleted file mode 100644 index 0a14b8c1af3..00000000000 --- a/addons/procurement_jit/i18n/pt_BR.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Mateus Lopes , 2019 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Last-Translator: Mateus Lopes , 2019\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/odoo/teams/41243/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: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Linha do Pedido de Vendas" diff --git a/addons/procurement_jit/i18n/ro.po b/addons/procurement_jit/i18n/ro.po deleted file mode 100644 index 7c0b958112c..00000000000 --- a/addons/procurement_jit/i18n/ro.po +++ /dev/null @@ -1,21 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Language-Team: Romanian (https://www.transifex.com/odoo/teams/41243/ro/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" diff --git a/addons/procurement_jit/i18n/ru.po b/addons/procurement_jit/i18n/ru.po deleted file mode 100644 index f3f00d5d218..00000000000 --- a/addons/procurement_jit/i18n/ru.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Martin Trigaux, 2019 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Last-Translator: Martin Trigaux, 2019\n" -"Language-Team: Russian (https://www.transifex.com/odoo/teams/41243/ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Строка заказа на продажу" diff --git a/addons/procurement_jit/i18n/sk.po b/addons/procurement_jit/i18n/sk.po deleted file mode 100644 index 44e1864fa3e..00000000000 --- a/addons/procurement_jit/i18n/sk.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Martin Trigaux, 2018 -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-09-18 09:49+0000\n" -"Last-Translator: Martin Trigaux, 2018\n" -"Language-Team: Slovak (https://www.transifex.com/odoo/teams/41243/sk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: sk\n" -"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Položky objednávky" diff --git a/addons/procurement_jit/i18n/sl.po b/addons/procurement_jit/i18n/sl.po deleted file mode 100644 index 44672c76c30..00000000000 --- a/addons/procurement_jit/i18n/sl.po +++ /dev/null @@ -1,21 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 10.saas~18\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-20 09:53+0000\n" -"PO-Revision-Date: 2017-09-20 09:53+0000\n" -"Language-Team: Slovenian (https://www.transifex.com/odoo/teams/41243/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: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" diff --git a/addons/procurement_jit/i18n/sr.po b/addons/procurement_jit/i18n/sr.po deleted file mode 100644 index 2350212066e..00000000000 --- a/addons/procurement_jit/i18n/sr.po +++ /dev/null @@ -1,21 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-09-18 09:49+0000\n" -"Language-Team: Serbian (https://www.transifex.com/odoo/teams/41243/sr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: sr\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "" diff --git a/addons/procurement_jit/i18n/sr@latin.po b/addons/procurement_jit/i18n/sr@latin.po deleted file mode 100644 index dfcd641988a..00000000000 --- a/addons/procurement_jit/i18n/sr@latin.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Nemanja Dragovic , 2017 -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server 10.saas~18\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-20 09:53+0000\n" -"PO-Revision-Date: 2017-09-20 09:53+0000\n" -"Last-Translator: Nemanja Dragovic , 2017\n" -"Language-Team: Serbian (Latin) (https://www.transifex.com/odoo/teams/41243/sr%40latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: sr@latin\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Stavka naloga za prodaju" diff --git a/addons/procurement_jit/i18n/sv.po b/addons/procurement_jit/i18n/sv.po deleted file mode 100644 index 68b372d800c..00000000000 --- a/addons/procurement_jit/i18n/sv.po +++ /dev/null @@ -1,24 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Martin Trigaux, 2018 -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.2\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-22 14:10+0000\n" -"PO-Revision-Date: 2018-03-22 14:10+0000\n" -"Last-Translator: Martin Trigaux, 2018\n" -"Language-Team: Swedish (https://www.transifex.com/odoo/teams/41243/sv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Orderrad" diff --git a/addons/procurement_jit/i18n/th.po b/addons/procurement_jit/i18n/th.po deleted file mode 100644 index ea3b7c83b38..00000000000 --- a/addons/procurement_jit/i18n/th.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Martin Trigaux, 2018 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-08-24 09:23+0000\n" -"Last-Translator: Martin Trigaux, 2018\n" -"Language-Team: Thai (https://www.transifex.com/odoo/teams/41243/th/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: th\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "รายการคำสั่งขาย" diff --git a/addons/procurement_jit/i18n/tr.po b/addons/procurement_jit/i18n/tr.po deleted file mode 100644 index a371698dc76..00000000000 --- a/addons/procurement_jit/i18n/tr.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Ediz Duman , 2019 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Last-Translator: Ediz Duman , 2019\n" -"Language-Team: Turkish (https://www.transifex.com/odoo/teams/41243/tr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: tr\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Satış Sipariş Satırı" diff --git a/addons/procurement_jit/i18n/uk.po b/addons/procurement_jit/i18n/uk.po deleted file mode 100644 index 3cd9fed4ddc..00000000000 --- a/addons/procurement_jit/i18n/uk.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Alina Lisnenko , 2018 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-08-24 09:23+0000\n" -"Last-Translator: Alina Lisnenko , 2018\n" -"Language-Team: Ukrainian (https://www.transifex.com/odoo/teams/41243/uk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: uk\n" -"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Рядок замовлення на продаж" diff --git a/addons/procurement_jit/i18n/vi.po b/addons/procurement_jit/i18n/vi.po deleted file mode 100644 index 12fdd900190..00000000000 --- a/addons/procurement_jit/i18n/vi.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# Chinh Chinh , 2019 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Last-Translator: Chinh Chinh , 2019\n" -"Language-Team: Vietnamese (https://www.transifex.com/odoo/teams/41243/vi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "Chi tiết đơn hàng" diff --git a/addons/procurement_jit/i18n/zh_CN.po b/addons/procurement_jit/i18n/zh_CN.po deleted file mode 100644 index 3589572f32f..00000000000 --- a/addons/procurement_jit/i18n/zh_CN.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# inspur qiuguodong , 2018 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2018-08-24 09:23+0000\n" -"Last-Translator: inspur qiuguodong , 2018\n" -"Language-Team: Chinese (China) (https://www.transifex.com/odoo/teams/41243/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "销售订单分录" diff --git a/addons/procurement_jit/i18n/zh_TW.po b/addons/procurement_jit/i18n/zh_TW.po deleted file mode 100644 index 89d0c1333e6..00000000000 --- a/addons/procurement_jit/i18n/zh_TW.po +++ /dev/null @@ -1,25 +0,0 @@ -# Translation of Odoo Server. -# This file contains the translation of the following modules: -# * procurement_jit -# -# Translators: -# 敬雲 林 , 2019 -# -msgid "" -msgstr "" -"Project-Id-Version: Odoo Server saas~11.5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-09-18 09:49+0000\n" -"PO-Revision-Date: 2019-08-26 09:13+0000\n" -"Last-Translator: 敬雲 林 , 2019\n" -"Language-Team: Chinese (Taiwan) (https://www.transifex.com/odoo/teams/41243/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: \n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#. module: procurement_jit -#: model:ir.model,name:procurement_jit.model_sale_order_line -msgid "Sales Order Line" -msgstr "銷售訂單明細" diff --git a/addons/procurement_jit/sale.py b/addons/procurement_jit/sale.py deleted file mode 100644 index 29bb74a9bd2..00000000000 --- a/addons/procurement_jit/sale.py +++ /dev/null @@ -1,19 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from odoo import api, models - - -class SaleOrderLine(models.Model): - _inherit = "sale.order.line" - - def _action_launch_stock_rule(self, previous_product_uom_qty=False): - res = super(SaleOrderLine, self)._action_launch_stock_rule(previous_product_uom_qty=previous_product_uom_qty) - orders = list(set(x.order_id for x in self)) - for order in orders: - reassign = order.picking_ids.filtered(lambda x: x.state=='confirmed' or (x.state in ['waiting', 'assigned'] and not x.printed)) - if reassign: - # Trigger the Scheduler for Pickings - reassign.action_confirm() - reassign.action_assign() - return res diff --git a/addons/purchase_stock/tests/test_create_picking.py b/addons/purchase_stock/tests/test_create_picking.py index a63443e15b7..210ae144463 100644 --- a/addons/purchase_stock/tests/test_create_picking.py +++ b/addons/purchase_stock/tests/test_create_picking.py @@ -101,6 +101,7 @@ class TestCreatePicking(common.TestProductCommon): """ stock_location = self.env['ir.model.data'].xmlid_to_object('stock.stock_location_stock') customer_location = self.env['ir.model.data'].xmlid_to_object('stock.stock_location_customers') + picking_type_out = self.env['ir.model.data'].xmlid_to_object('stock.picking_type_out') # route buy should be there by default partner = self.env['res.partner'].create({ 'name': 'Jhon' @@ -132,6 +133,7 @@ class TestCreatePicking(common.TestProductCommon): 'product_uom': product.uom_id.id, 'product_uom_qty': 100.0, 'procure_method': 'make_to_order', + 'picking_type_id': picking_type_out.id, }) customer_move._action_confirm() diff --git a/addons/sale_stock/models/sale_order.py b/addons/sale_stock/models/sale_order.py index 6020a35e6ec..db97bab288d 100644 --- a/addons/sale_stock/models/sale_order.py +++ b/addons/sale_stock/models/sale_order.py @@ -3,13 +3,11 @@ import json import logging -from datetime import datetime, timedelta +from datetime import timedelta from collections import defaultdict from odoo import api, fields, models, _ -from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT, float_compare, float_round -from odoo.tools.float_utils import float_repr -from odoo.tools.misc import format_date +from odoo.tools import float_compare, float_round from odoo.exceptions import UserError @@ -587,6 +585,14 @@ class SaleOrderLine(models.Model): line.name, line.order_id.name, line.order_id.company_id, values)) if procurements: self.env['procurement.group'].run(procurements) + + # This next block is currently needed only because the scheduler trigger is done by picking confirmation rather than stock.move confirmation + orders = self.mapped('order_id') + for order in orders: + pickings_to_confirm = order.picking_ids.filtered(lambda p: p.state not in ['cancel', 'done']) + if pickings_to_confirm: + # Trigger the Scheduler for Pickings + pickings_to_confirm.action_confirm() return True def _check_package(self): diff --git a/addons/sale_stock/tests/test_sale_stock.py b/addons/sale_stock/tests/test_sale_stock.py index ac789294516..bc4f96c083b 100644 --- a/addons/sale_stock/tests/test_sale_stock.py +++ b/addons/sale_stock/tests/test_sale_stock.py @@ -822,3 +822,47 @@ class TestSaleStock(TestSaleCommon, ValuationReconciliationTestCommon): wizard.action_cancel() self.assertEqual(inv_1.state, 'posted', 'A posted invoice state should remain posted') self.assertEqual(inv_2.state, 'cancel', 'A drafted invoice state should be cancelled') + + def test_reservation_method_w_sale(self): + picking_type_out = self.company_data['default_warehouse'].out_type_id + # make sure generated picking will auto-assign + picking_type_out.reservation_method = 'at_confirm' + product = self.company_data['product_delivery_no'] + product.type = 'product' + self.env['stock.quant']._update_available_quantity(product, self.company_data['default_warehouse'].lot_stock_id, 20) + + sale_order1 = self._get_new_sale_order(amount=10.0) + # Validate the sale order, picking should automatically assign stock + sale_order1.action_confirm() + picking1 = sale_order1.picking_ids + self.assertTrue(picking1) + self.assertEqual(picking1.state, 'assigned') + picking1.unlink() + + # make sure generated picking will does not auto-assign + picking_type_out.reservation_method = 'manual' + sale_order2 = self._get_new_sale_order(amount=10.0) + # Validate the sale order, picking should not automatically assign stock + sale_order2.action_confirm() + picking2 = sale_order2.picking_ids + self.assertTrue(picking2) + self.assertEqual(picking2.state, 'confirmed') + picking2.unlink() + + # make sure generated picking auto-assigns according to (picking) scheduled date + picking_type_out.reservation_method = 'by_date' + picking_type_out.reservation_days_before = 2 + # too early for scheduled date => don't auto-assign + sale_order3 = self._get_new_sale_order(amount=10.0) + sale_order3.commitment_date = datetime.now() + timedelta(days=10) + sale_order3.action_confirm() + picking3 = sale_order3.picking_ids + self.assertTrue(picking3) + self.assertEqual(picking3.state, 'confirmed') + picking3.unlink() + # within scheduled date + reservation days before => auto-assign + sale_order4 = self._get_new_sale_order(amount=10.0) + sale_order4.commitment_date = datetime.now() + timedelta(days=1) + sale_order4.action_confirm() + self.assertTrue(sale_order4.picking_ids) + self.assertEqual(sale_order4.picking_ids.state, 'assigned') diff --git a/addons/sale_stock/tests/test_sale_stock_report.py b/addons/sale_stock/tests/test_sale_stock_report.py index a132a844dcd..50ef8a4cfb8 100644 --- a/addons/sale_stock/tests/test_sale_stock_report.py +++ b/addons/sale_stock/tests/test_sale_stock_report.py @@ -13,6 +13,9 @@ class TestSaleStockReports(TestReportsCommon): for tomorrow. Then check in the report it's the most urgent who is linked to the qty. on stock. """ + # make sure first picking doesn't auto-assign + self.picking_type_out.reservation_method = 'manual' + today = datetime.today() # Put some quantity in stock. quant_vals = { diff --git a/addons/sale_stock/views/res_config_settings_views.xml b/addons/sale_stock/views/res_config_settings_views.xml index 0b038733387..e43b1bb2801 100644 --- a/addons/sale_stock/views/res_config_settings_views.xml +++ b/addons/sale_stock/views/res_config_settings_views.xml @@ -46,19 +46,6 @@ -
-
-
-
0 diff --git a/addons/stock/models/res_config_settings.py b/addons/stock/models/res_config_settings.py index 1c9b86e6646..1167f8d6ea6 100644 --- a/addons/stock/models/res_config_settings.py +++ b/addons/stock/models/res_config_settings.py @@ -7,11 +7,6 @@ from odoo import api, fields, models class ResConfigSettings(models.TransientModel): _inherit = 'res.config.settings' - module_procurement_jit = fields.Selection([ - ('1', 'Immediately after sales order confirmation'), - ('0', 'Manually or based on automatic scheduler') - ], "Reservation", default='0', - help="Reserving products manually in delivery orders or by running the scheduler is advised to better manage priorities in case of long customer lead times or/and frequent stock-outs.") module_product_expiry = fields.Boolean("Expiration Dates", help="Track following dates on lots & serial numbers: best before, removal, end of life, alert. \n Such dates are set automatically at lot/serial number creation based on values set on the product (in days).") group_stock_production_lot = fields.Boolean("Lots & Serial Numbers", diff --git a/addons/stock/models/stock_move.py b/addons/stock/models/stock_move.py index 9901998c6f2..14f2ced171b 100644 --- a/addons/stock/models/stock_move.py +++ b/addons/stock/models/stock_move.py @@ -1,22 +1,19 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -import json + from collections import defaultdict -from datetime import datetime +from datetime import timedelta from itertools import groupby from operator import itemgetter from re import findall as regex_findall from re import split as regex_split -from dateutil import relativedelta - -from odoo import SUPERUSER_ID, _, api, fields, models +from odoo import _, api, fields, models from odoo.exceptions import UserError from odoo.osv import expression -from odoo.tools import OrderedSet -from odoo.tools.float_utils import float_compare, float_is_zero, float_repr, float_round -from odoo.tools.misc import format_date, OrderedSet +from odoo.tools.float_utils import float_compare, float_is_zero, float_round +from odoo.tools.misc import OrderedSet PROCUREMENT_PRIORITIES = [('0', 'Normal'), ('1', 'Urgent')] @@ -180,6 +177,8 @@ class StockMove(models.Model): forecast_availability = fields.Float('Forecast Availability', compute='_compute_forecast_information', digits='Product Unit of Measure') forecast_expected_date = fields.Datetime('Forecasted Expected date', compute='_compute_forecast_information') lot_ids = fields.Many2many('stock.production.lot', compute='_compute_lot_ids', inverse='_set_lot_ids', string='Serial Numbers', readonly=False) + reservation_date = fields.Date('Date to Reserve', compute='_compute_reservation_date', store=True, + help="This is a technical field for calculating when a move should be reserved") @api.onchange('product_id', 'picking_type_id') def onchange_product(self): @@ -493,6 +492,18 @@ class StockMove(models.Model): move_lines_commands.append((0, 0, move_line_vals)) move.write({'move_line_ids': move_lines_commands}) + @api.depends('picking_id', 'picking_type_id', 'date') + def _compute_reservation_date(self): + for move in self: + if move.state in ['draft', 'confirmed', 'waiting', 'partially_available']: + picking_type_id = False + if move.picking_type_id: + picking_type_id = move.picking_type_id + elif move.picking_id: + picking_type_id = move.picking_id.picking_type_id + if picking_type_id and picking_type_id.reservation_method == 'by_date': + move.reservation_date = fields.Date.to_date(move.date) - timedelta(days=move.picking_type_id.reservation_days_before) + @api.constrains('product_uom') def _check_uom(self): moves_error = self.filtered(lambda move: move.product_id.uom_id.category_id != move.product_uom.category_id) @@ -1120,9 +1131,14 @@ class StockMove(models.Model): if merge: moves = self._merge_moves(merge_into=merge_into) - # call `_action_assign` on every confirmed move which location_id bypasses the reservation - moves.filtered(lambda move: not move.picking_id.immediate_transfer and move._should_bypass_reservation() and move.state == 'confirmed')._action_assign() - + # call `_action_assign` on every confirmed move which location_id bypasses the reservation + those expected to be auto-assigned + moves.filtered(lambda move: not move.picking_id.immediate_transfer + and move.state == 'confirmed' + and (move._should_bypass_reservation() + or move.picking_type_id.reservation_method == 'at_confirm' + or move.picking_id.picking_type_id.reservation_method == 'at_confirm' + or (move.reservation_date and move.reservation_date <= fields.Date.today())))\ + ._action_assign() if new_push_moves: new_push_moves._action_confirm() @@ -1385,6 +1401,8 @@ class StockMove(models.Model): self.env['stock.move.line'].create(move_line_vals_list) partially_available_moves.write({'state': 'partially_available'}) assigned_moves.write({'state': 'assigned'}) + if self.env.context.get('bypass_entire_pack'): + return self.mapped('picking_id')._check_entire_pack() def _action_cancel(self): @@ -1502,7 +1520,9 @@ class StockMove(models.Model): new_move_vals = move._split(qty_split) backorder_moves_vals += new_move_vals backorder_moves = self.env['stock.move'].create(backorder_moves_vals) - backorder_moves._action_confirm(merge=False) + # The backorder moves are not yet in their own picking. We do not want to check entire packs for those + # ones as it could messed up the result_package_id of the moves being currently validated + backorder_moves.with_context(bypass_entire_pack=True)._action_confirm(merge=False) if cancel_backorder: backorder_moves.with_context(moves_todo=moves_todo)._action_cancel() moves_todo.mapped('move_line_ids').sorted()._action_done() @@ -1528,7 +1548,9 @@ class StockMove(models.Model): return moves_todo if picking and not cancel_backorder: - picking._create_backorder() + backorder = picking._create_backorder() + if any([m.state == 'assigned' for m in backorder.move_lines]): + backorder._check_entire_pack() return moves_todo def unlink(self): @@ -1770,5 +1792,8 @@ class StockMove(models.Model): for move in self: domains.append([('product_id', '=', move.product_id.id), ('location_id', '=', move.location_dest_id.id)]) static_domain = [('state', 'in', ['confirmed', 'partially_available']), ('procure_method', '=', 'make_to_stock')] - moves_to_reserve = self.env['stock.move'].search(expression.AND([static_domain, expression.OR(domains)])) + reservation_domain = ['|', '|', ('picking_type_id.reservation_method', '=', 'at_confirm'), + ('picking_id.picking_type_id.reservation_method', '=', 'at_confirm'), + ('reservation_date', '<=', fields.Date.today())] + moves_to_reserve = self.env['stock.move'].search(expression.AND([static_domain, expression.OR(domains), reservation_domain])) moves_to_reserve._action_assign() diff --git a/addons/stock/models/stock_picking.py b/addons/stock/models/stock_picking.py index 7f136fb5e14..27dddb878cd 100644 --- a/addons/stock/models/stock_picking.py +++ b/addons/stock/models/stock_picking.py @@ -4,8 +4,7 @@ import json import time from ast import literal_eval -from collections import defaultdict -from datetime import date +from datetime import date, timedelta from itertools import groupby from operator import itemgetter @@ -66,6 +65,12 @@ class PickingType(models.Model): 'Pre-fill Detailed Operations', default=True, help="If this checkbox is ticked, Odoo will automatically pre-fill the detailed " "operations with the corresponding products, locations and lot/serial numbers.") + reservation_method = fields.Selection( + [('by_date', 'before scheduled date'), ('at_confirm', 'At Confirmation'), ('manual', 'Manually')], + 'Reservation Method', required=True, default='at_confirm', + help="How products in transfers of this operation type should be reserved.") + reservation_days_before = fields.Integer('Days', help="Maximum number of days before scheduled date that products should be reserved.") + count_picking_draft = fields.Integer(compute='_compute_picking_count') count_picking_ready = fields.Integer(compute='_compute_picking_count') diff --git a/addons/stock/models/stock_rule.py b/addons/stock/models/stock_rule.py index def3cd8cf44..3cf631e898d 100644 --- a/addons/stock/models/stock_rule.py +++ b/addons/stock/models/stock_rule.py @@ -489,6 +489,10 @@ class ProcurementGroup(models.Model): ('state', 'in', ['confirmed', 'partially_available']), ('product_uom_qty', '!=', 0.0) ] + # TODO: make picking_type_id/reservation method one value on stock.move + moves_domain = expression.AND([moves_domain, ['|', '|', ('picking_type_id.reservation_method', '=', 'at_confirm'), + ('picking_id.picking_type_id.reservation_method', '=', 'at_confirm'), + ('reservation_date', '<=', fields.Date.today())]]) if company_id: moves_domain = expression.AND([[('company_id', '=', company_id)], moves_domain]) return moves_domain diff --git a/addons/stock/tests/common.py b/addons/stock/tests/common.py index e794a2f20dc..9401283ea97 100644 --- a/addons/stock/tests/common.py +++ b/addons/stock/tests/common.py @@ -23,6 +23,7 @@ class TestStockCommon(common.TransactionCase): # Model Data cls.picking_type_in = cls.ModelDataObj.xmlid_to_res_id('stock.picking_type_in') cls.picking_type_out = cls.ModelDataObj.xmlid_to_res_id('stock.picking_type_out') + cls.env['stock.picking.type'].browse(cls.picking_type_out).reservation_method = 'manual' cls.supplier_location = cls.ModelDataObj.xmlid_to_res_id('stock.stock_location_suppliers') cls.stock_location = cls.ModelDataObj.xmlid_to_res_id('stock.stock_location_stock') pack_location = cls.env.ref('stock.location_pack_zone') diff --git a/addons/stock/tests/test_move.py b/addons/stock/tests/test_move.py index cea6e61f660..5b812eb3e28 100644 --- a/addons/stock/tests/test_move.py +++ b/addons/stock/tests/test_move.py @@ -3841,7 +3841,7 @@ class StockMove(TransactionCase): }) move1._action_confirm() - self.assertEqual(move1.state, 'confirmed') + self.assertEqual(move1.state, 'assigned') scrap = self.env['stock.scrap'].create({ 'product_id': self.product.id, 'product_uom_id': self.product.uom_id.id, diff --git a/addons/stock/tests/test_move2.py b/addons/stock/tests/test_move2.py index f20ffc44e30..a907f9b51ab 100644 --- a/addons/stock/tests/test_move2.py +++ b/addons/stock/tests/test_move2.py @@ -2991,6 +2991,7 @@ class TestAutoAssign(TestStockCommon): """ pack_location = self.env['stock.location'].browse(self.pack_location) stock_location = self.env['stock.location'].browse(self.stock_location) + self.env['stock.picking.type'].browse(self.picking_type_out).reservation_method = 'at_confirm' # create customer picking and move customer_picking = self.env['stock.picking'].create({ @@ -3045,6 +3046,7 @@ class TestAutoAssign(TestStockCommon): picking_pick, picking_client = self.create_pick_ship() pack_location = self.env['stock.location'].browse(self.pack_location) stock_location = self.env['stock.location'].browse(self.stock_location) + self.env['stock.picking.type'].browse(self.picking_type_out).reservation_method = 'at_confirm' # make some stock self.env['stock.quant']._update_available_quantity(self.productA, stock_location, 10.0) @@ -3072,6 +3074,113 @@ class TestAutoAssign(TestStockCommon): self.assertEqual(picking_client.state, 'waiting', "MTO moves can't be automatically assigned.") self.assertEqual(self.env['stock.quant']._get_available_quantity(self.productA, pack_location), 10.0) + def test_auto_assign_reservation_method(self): + """Test different stock.picking.type reservation methods by: + 1. Create multiple delivery picking types with different reservation methods + 2. Create/confirm outgoing pickings for each of these picking types for a product not in stock + 3. Create/do an incoming picking that fulfills all of the outgoing pickings + 4. Check that only the correct outgoing pickings are auto_assigned + 5. Additionally check that auto-assignment at confirmation correctly works when products are in stock + Note, default reservation method is expected to be covered by other tests. + """ + + stock_location = self.env['stock.location'].browse(self.stock_location) + self.assertEqual(self.env['stock.quant']._get_available_quantity(self.productA, stock_location), 0) + picking_type_out1 = self.env['stock.picking.type'].browse(self.picking_type_out).copy() + picking_type_out2 = picking_type_out1.copy() + picking_type_out3 = picking_type_out1.copy() + picking_type_out4 = picking_type_out1.copy() + picking_type_out1.reservation_method = 'manual' + picking_type_out2.reservation_method = 'by_date' + picking_type_out2.reservation_days_before = '1' + picking_type_out3.reservation_method = 'by_date' + picking_type_out3.reservation_days_before = '10' + picking_type_out4.reservation_method = 'at_confirm' + + # 'manual' assign picking => should never auto-assign + customer_picking1 = self.env['stock.picking'].create({ + 'name': "Delivery 1", + 'location_id': self.stock_location, + 'location_dest_id': self.customer_location, + 'picking_type_id': picking_type_out1.id, + }) + + # 'by_date' picking w/ 1 day before scheduled date auto-assign setting, set to 5 days in advance => shouldn't auto-assign + customer_picking2 = customer_picking1.copy({'name': "Delivery 2", + 'picking_type_id': picking_type_out2.id, + 'scheduled_date': customer_picking1.scheduled_date + timedelta(days=5)}) + # 'by_date' picking w/ 10 days before scheduled date auto-assign setting, set to 5 days in advance => should auto-assign + customer_picking3 = customer_picking2.copy({'name': "Delivery 3", 'picking_type_id': picking_type_out3.id}) + customer_picking4 = customer_picking3.copy({'name': "Delivery 4", 'picking_type_id': picking_type_out3.id}) + + customer_picking5 = customer_picking1.copy({'name': "Delivery 5", 'picking_type_id': picking_type_out4.id}) + + # create their associated moves (needs to be in form view so compute functions properly trigger) + customer_picking1 = Form(customer_picking1) + with customer_picking1.move_ids_without_package.new() as move: + move.product_id = self.productA + move.product_uom_qty = 10 + customer_picking1 = customer_picking1.save() + + customer_picking2 = Form(customer_picking2) + with customer_picking2.move_ids_without_package.new() as move: + move.product_id = self.productA + move.product_uom_qty = 10 + customer_picking2 = customer_picking2.save() + + customer_picking3 = Form(customer_picking3) + with customer_picking3.move_ids_without_package.new() as move: + move.product_id = self.productA + move.product_uom_qty = 10 + customer_picking3 = customer_picking3.save() + + customer_picking4 = Form(customer_picking4) + with customer_picking4.move_ids_without_package.new() as move: + move.product_id = self.productA + move.product_uom_qty = 10 + customer_picking4 = customer_picking4.save() + + customer_picking5 = Form(customer_picking5) + with customer_picking5.move_ids_without_package.new() as move: + move.product_id = self.productA + move.product_uom_qty = 10 + customer_picking5 = customer_picking5.save() + + customer_picking1.action_assign() + customer_picking2.action_assign() + customer_picking3.action_assign() + self.assertEqual(customer_picking1.move_lines.reserved_availability, 0, "There should be no products available to reserve yet.") + self.assertEqual(customer_picking2.move_lines.reserved_availability, 0, "There should be no products available to reserve yet.") + self.assertEqual(customer_picking3.move_lines.reserved_availability, 0, "There should be no products available to reserve yet.") + + # create supplier picking and move + supplier_picking = self.env['stock.picking'].create({ + 'location_id': self.customer_location, + 'location_dest_id': self.stock_location, + 'picking_type_id': self.picking_type_in, + }) + supplier_move = self.env['stock.move'].create({ + 'name': 'test_transit_1', + 'location_id': self.customer_location, + 'location_dest_id': self.stock_location, + 'product_id': self.productA.id, + 'product_uom': self.productA.uom_id.id, + 'product_uom_qty': 50.0, + 'picking_id': supplier_picking.id, + }) + supplier_move.quantity_done = 50 + supplier_picking._action_done() + + self.assertEqual(customer_picking1.move_lines.reserved_availability, 0, "Reservation Method: 'manual' shouldn't ever auto-assign") + self.assertEqual(customer_picking2.move_lines.reserved_availability, 0, "Reservation Method: 'by_date' shouldn't auto-assign when not within reservation date range") + self.assertEqual(customer_picking3.move_lines.reserved_availability, 10, "Reservation Method: 'by_date' should auto-assign when within reservation date range") + self.assertEqual(self.env['stock.quant']._get_available_quantity(self.productA, stock_location), 40) + + customer_picking4.action_assign() + customer_picking5.action_assign() + self.assertEqual(customer_picking4.move_lines.reserved_availability, 10, "Reservation Method: 'at_confirm' should auto-assign at confirmation") + self.assertEqual(customer_picking5.move_lines.reserved_availability, 10, "Reservation Method: 'by_date' should auto-assign when within reservation date range at confirmation") + def test_serial_lot_ids(self): self.stock_location = self.env.ref('stock.stock_location_stock') self.customer_location = self.env.ref('stock.stock_location_customers') diff --git a/addons/stock/tests/test_multicompany.py b/addons/stock/tests/test_multicompany.py index 131a0f9dd3c..8609a5007f6 100644 --- a/addons/stock/tests/test_multicompany.py +++ b/addons/stock/tests/test_multicompany.py @@ -563,7 +563,7 @@ class TestMultiCompany(TransactionCase): "Chained move created in transit location") self.assertEqual(move_wha_to_cus.state, "waiting") self.assertEqual(move_transit_to_wha.state, "waiting") - self.assertEqual(move_whb_to_transit.state, "confirmed") + self.assertEqual(move_whb_to_transit.state, "assigned") (move_wha_to_cus + move_whb_to_transit + move_transit_to_wha).picking_id.action_assign() self.assertEqual(move_wha_to_cus.state, "waiting") diff --git a/addons/stock/tests/test_packing.py b/addons/stock/tests/test_packing.py index 5baa0ae5222..3e1096dc7f0 100644 --- a/addons/stock/tests/test_packing.py +++ b/addons/stock/tests/test_packing.py @@ -14,6 +14,7 @@ class TestPackingCommon(TransactionCase): cls.stock_location = cls.env.ref('stock.stock_location_stock') cls.warehouse = cls.env['stock.warehouse'].search([('lot_stock_id', '=', cls.stock_location.id)], limit=1) cls.warehouse.write({'delivery_steps': 'pick_pack_ship'}) + cls.warehouse.int_type_id.reservation_method = 'manual' cls.pack_location = cls.warehouse.wh_pack_stock_loc_id cls.ship_location = cls.warehouse.wh_output_stock_loc_id cls.customer_location = cls.env.ref('stock.stock_location_customers') diff --git a/addons/stock/tests/test_product.py b/addons/stock/tests/test_product.py index 35c5bc1136e..b8ea55a81a9 100644 --- a/addons/stock/tests/test_product.py +++ b/addons/stock/tests/test_product.py @@ -15,6 +15,7 @@ class TestVirtualAvailable(TestStockCommon): # Make `product3` a storable product for this test. Indeed, creating quants # and playing with owners is not possible for consumables. self.product_3.type = 'product' + self.env['stock.picking.type'].browse(self.ref('stock.picking_type_out')).reservation_method = 'manual' self.env['stock.quant'].create({ 'product_id': self.product_3.id, diff --git a/addons/stock/views/stock_picking_views.xml b/addons/stock/views/stock_picking_views.xml index dab56ab247e..267f25a2c40 100644 --- a/addons/stock/views/stock_picking_views.xml +++ b/addons/stock/views/stock_picking_views.xml @@ -43,6 +43,11 @@ +