[FIX] crm: reset dashboard_graph_model on uninstall

Before this commit:
    * Install `sale_management`, `crm`
    * Uninstall `crm`
    * Go to sales -> sales channels
    * Boom! The view is broken

This happens because both CRM and Sales share the sales teams view, yet
CRM's override of the model adds a selection_add to the
dashboard_graph_model selection field, when it is uninstalled, records
whose dashboard_graph_model field are set to one of the values
introduced by CRM keep this no-longer-valid value and upon accessing the
view it crashes.

This is a known limitation of selection fields and the selection_add
feature.

To solve this, an uninstallation hook has been created for CRM which
will fetch all records whose dashboard_graph_model is set to
`crm.opportunity.report`, and update the field of all these records to
None (NULL).

Fixes #25363
This commit is contained in:
Adrian Torres
2018-06-22 09:18:51 +02:00
committed by GitHub
parent f557f34b75
commit 9ddf2c6932
2 changed files with 9 additions and 0 deletions
+8
View File
@@ -5,3 +5,11 @@ from . import controllers
from . import models
from . import report
from . import wizard
from odoo import api, SUPERUSER_ID
def uninstall_hook(cr, registry):
env = api.Environment(cr, SUPERUSER_ID, {})
teams = env['crm.team'].search([('dashboard_graph_model', '=', 'crm.opportunity.report')])
teams.update({'dashboard_graph_model': None})
+1
View File
@@ -57,4 +57,5 @@
'installable': True,
'application': True,
'auto_install': False,
'uninstall_hook': 'uninstall_hook',
}