[FIX] crm: crm team graph error if stage deleted
When a stage on crm leads is removed, the leads appear in an "Undefined" column in a kanban view, but this was not handled when getting the "graph data" (eg. in version 11.0 for sales team graphs when grouping by stage in CRM > Reporting > Sales Channels). opw-784455 closes #21507
This commit is contained in:
@@ -211,8 +211,11 @@ class Team(models.Model):
|
||||
def _get_graph(self):
|
||||
graph_datas = super(Team, self)._get_graph()
|
||||
if self.dashboard_graph_model == 'crm.opportunity.report' and self.dashboard_graph_group_pipeline == 'stage':
|
||||
stage_data = self.env['crm.stage'].browse([d['label'] for d in graph_datas[0]['values']]).read(['sequence', 'name'])
|
||||
stage_ids = [d['label'] for d in graph_datas[0]['values'] if d['label'] is not None]
|
||||
stage_data = self.env['crm.stage'].browse(stage_ids).read(['sequence', 'name'])
|
||||
stage_data = {d['id']: {'name': d['name'], 'sequence': d['sequence']} for d in stage_data}
|
||||
# use "Undefined" stage for unset stage records
|
||||
stage_data[None] = {'name': _('Undefined'), 'sequence': -1}
|
||||
graph_datas[0]['values'] = sorted(graph_datas[0]['values'], key=lambda el: stage_data[el['label']]['sequence'])
|
||||
for gdata in graph_datas[0]['values']:
|
||||
gdata['label'] = stage_data[gdata['label']]['name']
|
||||
|
||||
Reference in New Issue
Block a user