[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:
@@ -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})
|
||||
|
||||
@@ -57,4 +57,5 @@
|
||||
'installable': True,
|
||||
'application': True,
|
||||
'auto_install': False,
|
||||
'uninstall_hook': 'uninstall_hook',
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user