Clean/remove subcontracting operation type when we uninstall subcontracting. task-2633558 closes odoo/odoo#76612 X-original-commit: 3452e821feca3622457eeb919bca2f0821214a71 Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com> Signed-off-by: Rémy Voet <ryv-odoo@users.noreply.github.com>
25 lines
840 B
Python
25 lines
840 B
Python
# -*- coding: utf-8 -*-
|
|
|
|
from . import models
|
|
from . import report
|
|
from . import wizard
|
|
|
|
from odoo import SUPERUSER_ID, api
|
|
|
|
|
|
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})
|
|
operations_type_to_remove = (warehouses.subcontracting_resupply_type_id | warehouses.subcontracting_type_id)
|
|
operations_type_to_remove.active = 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:
|
|
with env.cr.savepoint():
|
|
subcontracting_routes.unlink()
|
|
operations_type_to_remove.unlink()
|
|
except:
|
|
pass
|