From 67bb69500a43330dc604039e8d8f51d0e4b4870e Mon Sep 17 00:00:00 2001 From: "Khushboo Bhatt (Open ERP)" Date: Tue, 28 Aug 2012 17:45:45 +0530 Subject: [PATCH 1/5] [FIX]CRM:creating phone calls from lead sets partner,phone,mobile and sales team bzr revid: kbh@tinyerp.com-20120828121545-6vqvirfa99f3fnhe --- addons/crm/crm_lead.py | 51 ++++++++++++++++++++++++++++++++++++ addons/crm/crm_lead_view.xml | 12 ++------- 2 files changed, 53 insertions(+), 10 deletions(-) diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 25a47ecbadc..8e31b17b189 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -717,6 +717,57 @@ class crm_lead(base_stage, osv.osv): self.write(cr, uid, [lead_id], value, context=context) return True + def phonecall_view(self, cr, uid, ids, call_summary, user_id=False, section_id=False, categ_id=False, context=None): + #Open the View for the Phone call for the leads + """ + This opens Phone Call views + @return :Dictionary value for Phone Call view + """ + if context is None: + context = {} + value = {} + data_obj = self.pool.get('ir.model.data') + if not categ_id: + res_id = data_obj._get_id(cr, uid, 'crm', 'categ_phone2') + if res_id: + categ_id = data_obj.browse(cr, uid, res_id, context=context).res_id + for lead in self.browse(cr, uid, ids, context=context): + if not section_id: + section_id = lead.section_id and lead.section_id.id or False + if not user_id: + user_id = lead.user_id and lead.user_id.id or False + # Get Phone Call views + tree_view = data_obj.get_object_reference(cr, uid, 'crm', 'crm_case_phone_tree_view') + form_view = data_obj.get_object_reference(cr, uid, 'crm', 'crm_case_phone_form_view') + search_view = data_obj.get_object_reference(cr, uid, 'crm', 'view_crm_case_phonecalls_filter') + context.update({ + 'default_duration': 1.0, + 'default_opportunity_id': lead.id, + 'default_user_id': user_id or False, + 'default_categ_id' : categ_id or False, + 'default_lead_id': lead.id, + 'default_name': lead.name, + 'default_partner_id': lead.partner_id and lead.partner_id.id or False, + 'default_partner_mobile': lead.mobile or (lead.partner_id and lead.partner_id.mobile or False), + 'default_section_id': section_id or False, + 'default_description': lead.description or False, + 'default_partner_phone': lead.phone or (lead.partner_id and lead.partner_id.phone or False), + }) + value = { + 'name': _('Phone Call'), + 'context': context, + 'view_type': 'form', + 'view_mode': 'form,tree', + 'res_model': 'crm.phonecall', + 'view_id': False, + 'context': context, + 'views': [(form_view and form_view[1] or False, 'form'),(tree_view and tree_view[1] or False, 'tree')], + 'type': 'ir.actions.act_window', + 'search_view_id': search_view and search_view[1] or False, + 'nodestroy': True + } + return value + def schedule_phonecall(self, cr, uid, ids, schedule_time, call_summary, desc, phone, contact_name, user_id=False, section_id=False, categ_id=False, action='schedule', context=None): """ action :('schedule','Schedule a call'), ('log','Log a call') diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 6a715893a17..049aa74fb75 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -105,14 +105,6 @@ -
-
From 2d68dd89febe2162c9435afb0a74447e4d0efcc0 Mon Sep 17 00:00:00 2001 From: "Khushboo Bhatt (Open ERP)" Date: Tue, 4 Dec 2012 11:30:42 +0530 Subject: [PATCH 2/5] [IMP]crm:onchange method for opportunity to set phone,mobile,sales team and partner bzr revid: kbh@tinyerp.com-20121204060042-dgr2ibddolhk5yzg --- addons/crm/crm_phonecall.py | 12 ++++++++++++ addons/crm/crm_phonecall_view.xml | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/addons/crm/crm_phonecall.py b/addons/crm/crm_phonecall.py index da08f97250a..a0ef56010e5 100644 --- a/addons/crm/crm_phonecall.py +++ b/addons/crm/crm_phonecall.py @@ -155,6 +155,18 @@ class crm_phonecall(base_state, osv.osv): }) return partner_id + def on_change_opportunity(self, cr, uid, ids, opportunity_id, context=None): + values = {} + if opportunity_id: + opportunity = self.pool.get('crm.lead').browse(cr, uid, opportunity_id, context=context) + values = { + 'section_id' : opportunity.section_id and opportunity.section_id.id or False, + 'partner_phone' : opportunity.phone, + 'partner_mobile' : opportunity.mobile, + 'partner_id' : opportunity.partner_id and opportunity.partner_id.id or False, + } + return {'value' : values} + def _call_set_partner(self, cr, uid, ids, partner_id, context=None): write_res = self.write(cr, uid, ids, {'partner_id' : partner_id}, context=context) self._call_set_partner_send_note(cr, uid, ids, context) diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml index 3b5162288a4..896bf8c9ee0 100644 --- a/addons/crm/crm_phonecall_view.xml +++ b/addons/crm/crm_phonecall_view.xml @@ -75,7 +75,7 @@ - +