diff options
| author | Nicolas Martinelli <nim@odoo.com> | 2020-03-23 12:14:09 +0000 |
|---|---|---|
| committer | Nicolas Martinelli <nim@odoo.com> | 2020-03-23 14:18:10 +0000 |
| commit | 0d16e7331cc859a6f060eeed8ea2b53801c08ca6 (patch) | |
| tree | 7dcac96caf41c38e379e9d250d4c273e525cd4c0 /addons/mrp_subcontracting/__init__.py | |
| parent | 43f10313c646aac24d057dbe90eef747277ec122 (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_subcontracting/__init__.py')
| -rw-r--r-- | addons/mrp_subcontracting/__init__.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/addons/mrp_subcontracting/__init__.py b/addons/mrp_subcontracting/__init__.py index 35e7c9600c5..276d3a48dbf 100644 --- a/addons/mrp_subcontracting/__init__.py +++ b/addons/mrp_subcontracting/__init__.py @@ -1,4 +1,19 @@ # -*- coding: utf-8 -*- +from odoo import SUPERUSER_ID, api + from . import models from . import wizard + + +def uninstall_hook(cr, registry): + env = api.Environment(cr, SUPERUSER_ID, {}) + warehouses = env["stock.warehouse"].search([]) + subcontracting_routes = warehouses.mapped("subcontracting_route_id") + warehouses.write({"subcontracting_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 |
