diff --git a/addons/stock/__init__.py b/addons/stock/__init__.py
index a07046e3fd4..66322ee14f3 100644
--- a/addons/stock/__init__.py
+++ b/addons/stock/__init__.py
@@ -17,20 +17,3 @@ 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 a6c42ce4111..eacc673c9fc 100644
--- a/addons/stock/__manifest__.py
+++ b/addons/stock/__manifest__.py
@@ -78,5 +78,4 @@
'application': True,
'auto_install': False,
'pre_init_hook': 'pre_init_hook',
- 'post_init_hook': '_create_warehouse',
}
diff --git a/addons/stock/data/stock_data.xml b/addons/stock/data/stock_data.xml
index cd79d573393..ecb0e11d14b 100644
--- a/addons/stock/data/stock_data.xml
+++ b/addons/stock/data/stock_data.xml
@@ -169,6 +169,9 @@
+
+
+
diff --git a/addons/stock/models/res_company.py b/addons/stock/models/res_company.py
index d7d4e6a1710..d44d40b5ef0 100644
--- a/addons/stock/models/res_company.py
+++ b/addons/stock/models/res_company.py
@@ -50,6 +50,22 @@ class Company(models.Model):
'value': 'stock.location,%d' % inventory_loss_location.id,
})
+ @api.model
+ def create_missing_warehouse(self):
+ """ This hook is used to add a warehouse on existing companies
+ when module stock is installed.
+ """
+ company_ids = self.env['res.company'].search([])
+ company_with_warehouse = self.env['stock.warehouse'].search([]).mapped('company_id')
+ company_without_warehouse = company_ids - company_with_warehouse
+ for company in company_without_warehouse:
+ self.env['stock.warehouse'].create({
+ 'name': company.name,
+ 'code': company.name[:5],
+ 'company_id': company.id,
+ 'partner_id': company.partner_id.id,
+ })
+
@api.model
def create_missing_inventory_loss_location(self):
company_ids = self.env['res.company'].search([])
@@ -65,7 +81,5 @@ class Company(models.Model):
company.create_transit_location()
company.sudo()._create_inventory_loss_location()
- # mutli-company rules prevents creating warehouse and sub-locations
- self.env['stock.warehouse'].check_access_rights('create')
self.env['stock.warehouse'].sudo().create({'name': company.name, 'code': company.name[:5], 'company_id': company.id, 'partner_id': company.partner_id.id})
return company