diff options
| author | Christophe Simonis <chs@odoo.com> | 2019-04-12 13:37:44 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2019-04-12 13:37:44 +0200 |
| commit | 0a09a4d8a819ef06db47e798f0465e500004e4c1 (patch) | |
| tree | b9d66d60a1e9b5ff6030be62fff89df410b744ee /addons/mrp_subcontracting/__init__.py | |
| parent | db97bb7f1136dc3ebde9924b79364a698a63765d (diff) | |
| parent | 120359bf0c98191051ac19ae2e5fde53ca7d2ae5 (diff) | |
[MERGE] forward port branch saas-12.3 up to 120359bf0c9
Diffstat (limited to 'addons/mrp_subcontracting/__init__.py')
| -rw-r--r-- | addons/mrp_subcontracting/__init__.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/addons/mrp_subcontracting/__init__.py b/addons/mrp_subcontracting/__init__.py new file mode 100644 index 00000000000..be29e5c5628 --- /dev/null +++ b/addons/mrp_subcontracting/__init__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- + +from . import models +from odoo import api, SUPERUSER_ID + +def _create_subcontracting_rules(cr, registry): + """ This hook is used to add the default subcontracting rules on every warehouse/company. It is + necessary if the mrp_subcontracting module is installed after some warehouses + were already created. + """ + env = api.Environment(cr, SUPERUSER_ID, {}) + warehouse_ids = env['stock.warehouse'].search(['|', ('subcontracting_mto_pull_id', '=', False), ('subcontracting_pull_id', '=', False)]) + for warehouse_id in warehouse_ids: + warehouse_id.write({'subcontracting_to_resupply': warehouse_id.subcontracting_to_resupply}) + company_ids = env['res.company'].search([('subcontracting_location_id', '!=', False)]) + for company_id in company_ids: + wh = env['stock.warehouse'].search([('company_id', '=', company_id.id), ('active', '=', True)], limit=1) + production_location = wh._get_production_location() + rsoo_rule = env['stock.rule'].search([ + ('location_src_id', '=', company_id.subcontracting_location_id.id), + ('location_id', '=', production_location.id), + ('picking_type_id', '=', wh.manu_type_id.id) + ]) + if not rsoo_rule: + company_id._create_resupply_subcontractor_rules() |
