From cc627849241cb8a27b9db49048e67953ddc6ec13 Mon Sep 17 00:00:00 2001 From: Pierre Masereel Date: Tue, 28 Aug 2018 11:16:33 +0200 Subject: [PATCH] [IMP] stock: create warehouse on existing companies If companies are created before the installation of module stock, the warehouses of those companes won't be created when stock module is installed. So we've created a post init hook to create the warehouses for the existing companies. TASK-ID: 58645 --- addons/stock/__init__.py | 17 +++++++++++++++++ addons/stock/__manifest__.py | 1 + 2 files changed, 18 insertions(+) diff --git a/addons/stock/__init__.py b/addons/stock/__init__.py index 66322ee14f3..a07046e3fd4 100644 --- a/addons/stock/__init__.py +++ b/addons/stock/__init__.py @@ -17,3 +17,20 @@ def pre_init_hook(cr): ('model', 'like', '%stock%'), ('module', '=', 'stock') ]).unlink() + +def _create_warehouse(cr, registry): + """ This hook is used to add a warehouse on existing companies + when module stock is installed. + """ + env = api.Environment(cr, SUPERUSER_ID, {}) + company_ids = env['res.company'].search([]) + company_with_warehouse = env['stock.warehouse'].search([]).mapped('company_id') + company_without_warehouse = company_ids - company_with_warehouse + for company in company_without_warehouse: + company.create_transit_location() + env['stock.warehouse'].create({ + 'name': company.name, + 'code': company.name[:5], + 'company_id': company.id, + 'partner_id': company.partner_id.id + }) diff --git a/addons/stock/__manifest__.py b/addons/stock/__manifest__.py index 2c6032dffe5..4b5bbb8f677 100644 --- a/addons/stock/__manifest__.py +++ b/addons/stock/__manifest__.py @@ -78,4 +78,5 @@ 'application': True, 'auto_install': False, 'pre_init_hook': 'pre_init_hook', + 'post_init_hook': '_create_warehouse', }