diff --git a/addons/crm/crm_meeting.py b/addons/crm/crm_meeting.py index 495eb9f351a..6979f3e5eee 100644 --- a/addons/crm/crm_meeting.py +++ b/addons/crm/crm_meeting.py @@ -65,7 +65,7 @@ class crm_meeting(osv.osv): _defaults = { 'state': lambda *a: 'draft', } - + def open_meeting(self, cr, uid, ids, context=None): """ Open Crm Meeting Form for Crm Meeting. @@ -75,13 +75,14 @@ class crm_meeting(osv.osv): @param context: A standard dictionary for contextual values @return: Dictionary value which open Crm Meeting form. """ + if not context: context = {} - + data_obj = self.pool.get('ir.model.data') - + value = {} - + id2 = data_obj._get_id(cr, uid, 'crm', 'crm_case_form_view_meet') id3 = data_obj._get_id(cr, uid, 'crm', 'crm_case_tree_view_meet') id4 = data_obj._get_id(cr, uid, 'crm', 'crm_case_calendar_view_meet') @@ -93,17 +94,17 @@ class crm_meeting(osv.osv): id4 = data_obj.browse(cr, uid, id4, context=context).res_id for id in ids: value = { - 'name': _('Meeting'), - 'view_type': 'form', - 'view_mode': 'form,tree', - 'res_model': 'crm.meeting', - 'view_id': False, + 'name': _('Meeting'), + 'view_type': 'form', + 'view_mode': 'form,tree', + 'res_model': 'crm.meeting', + 'view_id': False, 'views': [(id2, 'form'), (id3, 'tree'), (id4, 'calendar')], - 'type': 'ir.actions.act_window', - 'res_id': base_calendar.base_calendar_id2real_id(id), + 'type': 'ir.actions.act_window', + 'res_id': base_calendar.base_calendar_id2real_id(id), 'nodestroy': True } - + return value crm_meeting() diff --git a/addons/crm/crm_opportunity.py b/addons/crm/crm_opportunity.py index 3e1fc24a803..a50adec95d9 100644 --- a/addons/crm/crm_opportunity.py +++ b/addons/crm/crm_opportunity.py @@ -62,9 +62,9 @@ class crm_opportunity(osv.osv): @param ids: List of Openday’s IDs @return: difference between current date and log date @param context: A standard dictionary for contextual values - """ - cal_obj = self.pool.get('resource.calendar') - res_obj = self.pool.get('resource.resource') + """ + cal_obj = self.pool.get('resource.calendar') + res_obj = self.pool.get('resource.resource') res = {} for opportunity in self.browse(cr, uid, ids , context): @@ -93,7 +93,7 @@ class crm_opportunity(osv.osv): duration = float(ans.days) if opportunity.section_id.resource_calendar_id: - duration = float(ans.days) * 24 + duration = float(ans.days) * 24 new_dates = cal_obj.interval_get(cr, uid, opportunity.section_id.resource_calendar_id and opportunity.section_id.resource_calendar_id.id or False, @@ -105,9 +105,9 @@ class crm_opportunity(osv.osv): date_until = mx.DateTime.strptime(date_until, '%Y-%m-%d %H:%M:%S') for in_time, out_time in new_dates: if in_time.date not in no_days: - no_days.append(in_time.date) + no_days.append(in_time.date) if out_time > date_until: - break + break duration = len(no_days) res[opportunity.id][field] = abs(int(duration)) return res @@ -230,7 +230,7 @@ class crm_opportunity(osv.osv): } value = { 'name': _('Meetings'), - 'domain': "[('user_id','=',%s)]" % (uid), + 'domain': "[('user_id','=',%s),('opportunity_id','=',%s)]" % (uid,opp.id), 'context': context, 'view_type': 'form', 'view_mode': 'calendar,form,tree', @@ -241,7 +241,6 @@ class crm_opportunity(osv.osv): 'search_view_id': res['res_id'], 'nodestroy': True } - return value crm_opportunity() diff --git a/addons/crm/crm_opportunity_menu.xml b/addons/crm/crm_opportunity_menu.xml index ba01ca72be4..2655540da38 100644 --- a/addons/crm/crm_opportunity_menu.xml +++ b/addons/crm/crm_opportunity_menu.xml @@ -18,8 +18,8 @@ res_model="crm.phonecall" src_model="crm.opportunity" view_mode="calendar,tree,form" - context="{'default_duration': 1.0}" - domain="[('user_id','=',uid)]" + context="{'default_duration': 1.0 ,'default_opportunity_id': active_id}" + domain="[('user_id','=',uid),('opportunity_id', '=', active_id)]" view_type="form"/> @@ -27,7 +27,7 @@ crm.opportunity tree,form,graph - {"search_default_my_oprtnit":1,"search_default_new_oprtnit":1,"search_default_section_id":section_id} + {"search_default_my_oprtnit":1,"search_default_new_oprtnit":1,"search_default_section_id":section_id} diff --git a/addons/crm/wizard/crm_opportunity_to_phonecall.py b/addons/crm/wizard/crm_opportunity_to_phonecall.py index 148ec3aec6e..ffe91a927d2 100644 --- a/addons/crm/wizard/crm_opportunity_to_phonecall.py +++ b/addons/crm/wizard/crm_opportunity_to_phonecall.py @@ -29,10 +29,10 @@ class crm_opportunity2phonecall(osv.osv_memory): _description = 'Opportunity to Phonecall' _columns = { - 'name' : fields.char('Call summary', size=64, required=True, select=1), - 'user_id' : fields.many2one('res.users', "Assign To"), - 'date': fields.datetime('Date' , required=True), - 'section_id': fields.many2one('crm.case.section', 'Sales Team'), + 'name' : fields.char('Call summary', size=64, required=True, select=1), + 'user_id' : fields.many2one('res.users', "Assign To"), + 'date': fields.datetime('Date' , required=True), + 'section_id': fields.many2one('crm.case.section', 'Sales Team'), } def default_get(self, cr, uid, fields, context=None): @@ -46,7 +46,6 @@ class crm_opportunity2phonecall(osv.osv_memory): @return : default values of fields. """ - opp_obj = self.pool.get('crm.opportunity') record_ids = context and context.get('active_ids', []) or [] res = super(crm_opportunity2phonecall, self).default_get(cr, uid, fields, context=context) @@ -93,7 +92,7 @@ class crm_opportunity2phonecall(osv.osv_memory): data_obj = self.pool.get('ir.model.data') categ_id = mod_obj._get_id(cr, uid, 'crm', 'categ_phone1') categ_id = data_obj.browse(cr, uid, categ_id, context=context).res_id - + # Select the view id2 = data_obj._get_id(cr, uid, 'crm', 'crm_case_phone_tree_view') id3 = data_obj._get_id(cr, uid, 'crm', 'crm_case_phone_form_view') @@ -105,31 +104,32 @@ class crm_opportunity2phonecall(osv.osv_memory): for this in self.browse(cr, uid, ids, context=context): for opp in opp_obj.browse(cr, uid, record_ids, context=context): new_case = phonecall_obj.create(cr, uid, { - 'name' : opp.name, - 'case_id' : opp.id , - 'user_id' : this.user_id and this.user_id.id or False, - 'categ_id' : categ_id, - 'description' : opp.description or False, - 'date' : this.date, - 'section_id' : opp.section_id and opp.section_id.id or False, - 'partner_id': opp.partner_id and opp.partner_id.id or False, - 'partner_address_id': opp.partner_address_id and opp.partner_address_id.id or False, - 'partner_phone' : opp.phone or (opp.partner_address_id and opp.partner_address_id.phone or False), - 'partner_mobile' : opp.partner_address_id and opp.partner_address_id.mobile or False, - 'priority': opp.priority, + 'name' : opp.name, + 'case_id' : opp.id , + 'user_id' : this.user_id and this.user_id.id or False, + 'categ_id' : categ_id, + 'description' : opp.description or False, + 'date' : this.date, + 'section_id' : opp.section_id and opp.section_id.id or False, + 'partner_id': opp.partner_id and opp.partner_id.id or False, + 'partner_address_id': opp.partner_address_id and opp.partner_address_id.id or False, + 'partner_phone' : opp.phone or (opp.partner_address_id and opp.partner_address_id.phone or False), + 'partner_mobile' : opp.partner_address_id and opp.partner_address_id.mobile or False, + 'priority': opp.priority, 'opp_id': opp.id }, context=context) phonecall_obj.case_open(cr, uid, [new_case]) value = { - 'name': _('Phone Call'), - 'view_type': 'form', - 'view_mode': 'tree,form', - 'res_model': 'crm.phonecall', - 'res_id' : new_case, - 'views': [(id3, 'form'), (id2, 'tree'), (False, 'calendar'), (False, 'graph')], - 'type': 'ir.actions.act_window', + 'name': _('Phone Call'), + 'domain': "[('user_id','=',%s),('opportunity_id','=',%s)]" % (uid,opp.id), + 'view_type': 'form', + 'view_mode': 'tree,form', + 'res_model': 'crm.phonecall', + 'res_id' : new_case, + 'views': [(id3, 'form'), (id2, 'tree'), (False, 'calendar'), (False, 'graph')], + 'type': 'ir.actions.act_window', 'search_view_id': res['res_id'] } return value