From e13b2b45f8709072cd871defdff16571d83151e2 Mon Sep 17 00:00:00 2001 From: Denis Ledoux Date: Wed, 13 Nov 2013 18:53:44 +0100 Subject: [PATCH] [ADD]crm_partner_assign: ir value Assign salesman of assigned partner in leads bzr revid: dle@openerp.com-20131113175344-zxhh79sxyzb8aglw --- addons/crm_partner_assign/crm_lead.py | 16 +++++++++++++ addons/crm_partner_assign/crm_lead_view.xml | 26 +++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/addons/crm_partner_assign/crm_lead.py b/addons/crm_partner_assign/crm_lead.py index 37f4b9aedff..5b1d1546c71 100644 --- a/addons/crm_partner_assign/crm_lead.py +++ b/addons/crm_partner_assign/crm_lead.py @@ -42,3 +42,19 @@ class crm_lead(osv.osv): def case_disinterested(self, cr, uid, ids, context=None): return self.get_interested_action(cr, uid, False, context=context) + + def assign_salesman_of_assigned_partner(self, cr, uid, ids, context=None): + salesmans_leads = {} + for lead in self.browse(cr, uid, ids, context=context): + if (lead.probability > 0 and lead.probability < 100) or lead.stage_id.sequence == 1: + if lead.partner_assigned_id and lead.partner_assigned_id.user_id and lead.partner_assigned_id.user_id != lead.user_id: + salesman_id = lead.partner_assigned_id.user_id.id + if salesmans_leads.get(salesman_id): + salesmans_leads[salesman_id].append(lead.id) + else: + salesmans_leads[salesman_id] = [lead.id] + for salesman_id, lead_ids in salesmans_leads.items(): + salesteam_id = self.on_change_user(cr, uid, lead_ids, salesman_id, context=None)['value'].get('section_id') + import pudb + pudb.set_trace() + self.write(cr, uid, lead_ids, {'user_id': salesman_id, 'section_id': salesteam_id}, context=context) diff --git a/addons/crm_partner_assign/crm_lead_view.xml b/addons/crm_partner_assign/crm_lead_view.xml index 7550396e886..faa961d92b5 100644 --- a/addons/crm_partner_assign/crm_lead_view.xml +++ b/addons/crm_partner_assign/crm_lead_view.xml @@ -137,5 +137,31 @@ + + Assign salesman of assigned partner + + code + + if context.get('active_model') == 'crm.lead': + ids = [] + if context.get('active_domain'): + ids = self.search(cr, uid, context['active_domain'], context=context) + elif context.get('active_ids'): + ids = context['active_ids'] + if ids: + self.assign_salesman_of_assigned_partner(cr, uid, ids, context=context) + + + + + + + Assign salesman of assigned partner + client_action_multi + + action + crm.lead + +