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', }