diff --git a/addons/crm/wizard/crm_lead_to_opportunity.py b/addons/crm/wizard/crm_lead_to_opportunity.py index 3604c025d0a..7829a02f3ab 100644 --- a/addons/crm/wizard/crm_lead_to_opportunity.py +++ b/addons/crm/wizard/crm_lead_to_opportunity.py @@ -50,12 +50,13 @@ class crm_lead2opportunity(osv.osv_memory): @return : Dictionary value for created Opportunity form """ value = {} - record_ids = context and context.get('active_ids', []) or [] - if record_ids: + record_id = context and context.get('active_id', False) or False + if record_id: lead_obj = self.pool.get('crm.lead') opp_obj = self. pool.get('crm.opportunity') data_obj = self.pool.get('ir.model.data') - + + # Get Opportunity views result = data_obj._get_id(cr, uid, 'crm', 'view_crm_case_opportunities_filter') res = data_obj.read(cr, uid, result, ['res_id']) id2 = data_obj._get_id(cr, uid, 'crm', 'crm_case_form_view_oppor') @@ -66,32 +67,32 @@ class crm_lead2opportunity(osv.osv_memory): id3 = data_obj.browse(cr, uid, id3, context=context).res_id for this in self.browse(cr, uid, ids, context=context): - for case in lead_obj.browse(cr, uid, record_ids, context=context): - new_opportunity_id = opp_obj.create(cr, uid, { - 'name': this.name, - 'planned_revenue': this.planned_revenue, - 'probability': this.probability, - 'partner_id': case.partner_id and case.partner_id.id or False , - 'section_id': case.section_id and case.section_id.id or False, - 'description': case.description or False, - 'date_deadline': case.date_deadline or False, - 'partner_address_id': case.partner_address_id and \ - case.partner_address_id.id or False , - 'priority': case.priority, - 'phone': case.phone, - 'email_from': case.email_from - }) + lead = lead_obj.browse(cr, uid, record_id, context=context) + new_opportunity_id = opp_obj.create(cr, uid, { + 'name': this.name, + 'planned_revenue': this.planned_revenue, + 'probability': this.probability, + 'partner_id': lead.partner_id and lead.partner_id.id or False , + 'section_id': lead.section_id and lead.section_id.id or False, + 'description': lead.description or False, + 'date_deadline': lead.date_deadline or False, + 'partner_address_id': lead.partner_address_id and \ + lead.partner_address_id.id or False , + 'priority': lead.priority, + 'phone': lead.phone, + 'email_from': lead.email_from + }) - new_opportunity = opp_obj.browse(cr, uid, new_opportunity_id) - vals = { - 'partner_id': this.partner_id and this.partner_id.id or False, - } - if not case.opportunity_id: - vals.update({'opportunity_id' : new_opportunity.id}) + new_opportunity = opp_obj.browse(cr, uid, new_opportunity_id) + vals = { + 'partner_id': this.partner_id and this.partner_id.id or False, + } + if not lead.opportunity_id: + vals.update({'opportunity_id' : new_opportunity.id}) - lead_obj.write(cr, uid, [case.id], vals) - lead_obj.case_close(cr, uid, [case.id]) - opp_obj.case_open(cr, uid, [new_opportunity_id]) + lead_obj.write(cr, uid, [lead.id], vals) + lead_obj.case_close(cr, uid, [lead.id]) + opp_obj.case_open(cr, uid, [new_opportunity_id]) value = { 'name': _('Opportunity'), diff --git a/addons/crm/wizard/crm_opportunity_to_meeting.py b/addons/crm/wizard/crm_opportunity_to_meeting.py index 23b8b135833..9162edf28ff 100644 --- a/addons/crm/wizard/crm_opportunity_to_meeting.py +++ b/addons/crm/wizard/crm_opportunity_to_meeting.py @@ -50,11 +50,12 @@ class crm_opportunity2meeting(osv.osv_memory): @return : Dictionary value for created Meeting view """ value = {} - record_ids = context and context.get('active_ids', []) or [] - if record_ids: + record_id = context and context.get('active_id', False) or False + if record_id: opp_obj = self.pool.get('crm.opportunity') data_obj = self.pool.get('ir.model.data') - + + # Get meeting views result = data_obj._get_id(cr, uid, 'crm', 'view_crm_case_meetings_filter') res = data_obj.read(cr, uid, result, ['res_id']) id1 = data_obj._get_id(cr, uid, 'crm', 'crm_case_calendar_view_meet') @@ -68,28 +69,28 @@ class crm_opportunity2meeting(osv.osv_memory): id3 = data_obj.browse(cr, uid, id3, context=context).res_id for this in self.browse(cr, uid, ids, context=context): - for opp in opp_obj.browse(cr, uid, record_ids, context=context): - context = { - 'default_opportunity_id': opp.id, - 'default_partner_id': opp.partner_id and opp.partner_id.id or False, - 'default_section_id': opp.section_id and opp.section_id.id or False, - 'default_email_from': opp.email_from, - 'default_state': 'open', - 'default_name': opp.name - } - - value = { - 'name': _('Meetings'), - 'domain' : "[('user_id','=',%s)]" % (uid), - 'context': context, - 'view_type': 'form', - 'view_mode': 'calendar,form,tree', - 'res_model': 'crm.meeting', - 'view_id': False, - 'views': [(id1, 'calendar'), (id2, 'form'), (id3, 'tree')], - 'type': 'ir.actions.act_window', - 'search_view_id': res['res_id'] + opp = opp_obj.browse(cr, uid, record_id, context=context) + context = { + 'default_opportunity_id': opp.id, + 'default_partner_id': opp.partner_id and opp.partner_id.id or False, + 'default_section_id': opp.section_id and opp.section_id.id or False, + 'default_email_from': opp.email_from, + 'default_state': 'open', + 'default_name': opp.name } + + value = { + 'name': _('Meetings'), + 'domain' : "[('user_id','=',%s)]" % (uid), + 'context': context, + 'view_type': 'form', + 'view_mode': 'calendar,form,tree', + 'res_model': 'crm.meeting', + 'view_id': False, + 'views': [(id1, 'calendar'), (id2, 'form'), (id3, 'tree')], + 'type': 'ir.actions.act_window', + 'search_view_id': res['res_id'] + } return value