summaryrefslogtreecommitdiff
path: root/addons/mrp/__init__.py
diff options
context:
space:
mode:
authorNicolas Martinelli <nim@odoo.com>2020-03-23 12:14:09 +0000
committerNicolas Martinelli <nim@odoo.com>2020-03-23 14:18:10 +0000
commit0d16e7331cc859a6f060eeed8ea2b53801c08ca6 (patch)
tree7dcac96caf41c38e379e9d250d4c273e525cd4c0 /addons/mrp/__init__.py
parent43f10313c646aac24d057dbe90eef747277ec122 (diff)
[FIX] mrp, mrp_subcontracting: clean-up routes at uninstall
When `mrp` or `mrp_subcontracting` are uninstalled, the routes used as 'Picking Before Manufacturing Route' and 'Resupply Subcontractor' are kept active. When the modules are re-installed, the routes are created again, and appear duplicated. The routes should be deleted if they are not used anywhere else. opw-2222895 closes odoo/odoo#48206 X-original-commit: ce219b8375dc14daf9d380433d254b622a947773 Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Diffstat (limited to 'addons/mrp/__init__.py')
-rw-r--r--addons/mrp/__init__.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/addons/mrp/__init__.py b/addons/mrp/__init__.py
index 616729a420d..07f99e38042 100644
--- a/addons/mrp/__init__.py
+++ b/addons/mrp/__init__.py
@@ -16,3 +16,16 @@ def _create_warehouse_data(cr, registry):
env = api.Environment(cr, SUPERUSER_ID, {})
warehouse_ids = env['stock.warehouse'].search([('manufacture_pull_id', '=', False)])
warehouse_ids.write({'manufacture_to_resupply': True})
+
+def uninstall_hook(cr, registry):
+ env = api.Environment(cr, SUPERUSER_ID, {})
+ warehouses = env["stock.warehouse"].search([])
+ subcontracting_routes = warehouses.mapped("pbm_route_id")
+ warehouses.write({"pbm_route_id": False})
+ # Fail unlink means that the route is used somewhere (e.g. route_id on stock.rule). In this case
+ # we don't try to do anything.
+ try:
+ subcontracting_routes.unlink()
+ except:
+ pass
+