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
+
+