diff --git a/addons/crm/wizard/crm_merge_opportunities.py b/addons/crm/wizard/crm_merge_opportunities.py index 7307bd37554..4c95d7db4ad 100644 --- a/addons/crm/wizard/crm_merge_opportunities.py +++ b/addons/crm/wizard/crm_merge_opportunities.py @@ -28,7 +28,7 @@ class MergeOpportunity(models.TransientModel): if record_ids: if 'opportunity_ids' in fields: opp_ids = self.env['crm.lead'].browse(record_ids).filtered(lambda opp: opp.probability < 100).ids - result['opportunity_ids'] = opp_ids + result['opportunity_ids'] = [(6, 0, opp_ids)] return result diff --git a/addons/website_crm/models/crm_lead.py b/addons/website_crm/models/crm_lead.py index 0ea63e3b4b1..9612c9995a4 100644 --- a/addons/website_crm/models/crm_lead.py +++ b/addons/website_crm/models/crm_lead.py @@ -12,17 +12,19 @@ class Lead(models.Model): @api.depends('visitor_ids.page_ids') def _compute_visitor_page_count(self): - self.flush(['visitor_ids']) - sql = """ SELECT l.id as lead_id, count(*) as page_view_count - FROM crm_lead l - JOIN crm_lead_website_visitor_rel lv ON l.id = lv.crm_lead_id - JOIN website_visitor v ON v.id = lv.website_visitor_id - JOIN website_track p ON p.visitor_id = v.id - WHERE l.id in %s - GROUP BY l.id""" - self.env.cr.execute(sql, (tuple(self.ids),)) - page_data = self.env.cr.dictfetchall() - mapped_data = {data['lead_id']: data['page_view_count'] for data in page_data} + mapped_data = {} + if self.ids: + self.flush(['visitor_ids']) + sql = """ SELECT l.id as lead_id, count(*) as page_view_count + FROM crm_lead l + JOIN crm_lead_website_visitor_rel lv ON l.id = lv.crm_lead_id + JOIN website_visitor v ON v.id = lv.website_visitor_id + JOIN website_track p ON p.visitor_id = v.id + WHERE l.id in %s + GROUP BY l.id""" + self.env.cr.execute(sql, (tuple(self.ids),)) + page_data = self.env.cr.dictfetchall() + mapped_data = {data['lead_id']: data['page_view_count'] for data in page_data} for lead in self: lead.visitor_page_count = mapped_data.get(lead.id, 0)