model_data = self.pool.get('ir.model.data')
phonecall_dict = {}
if not categ_id:
- res_id = model_data._get_id(cr, uid, 'crm', 'categ_phone2')
- if res_id:
+ try:
+ res_id = model_data._get_id(cr, uid, 'crm', 'categ_phone2')
categ_id = model_data.browse(cr, uid, res_id, context=context).res_id
+ except ValueError:
+ pass
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
vals['probability'] = stage.probability
return super(crm_lead, self).write(cr, uid, ids, vals, context=context)
+ def copy(self, cr, uid, id, default=None, context=None):
+ if not default:
+ default = {}
+ if not context:
+ context = {}
+ lead = self.browse(cr, uid, id, context=context)
+ local_context = dict(context)
+ local_context.setdefault('default_type', lead.type)
+ local_context.setdefault('default_section_id', lead.section_id)
+ if lead.type == 'opportunity':
+ default['date_open'] = fields.datetime.now()
+ else:
+ default['date_open'] = False
+ default['date_closed'] = False
+ default['stage_id'] = self._get_default_stage_id(cr, uid, local_context)
+ return super(crm_lead, self).copy(cr, uid, id, default, context=context)
+
def new_mail_send(self, cr, uid, ids, context=None):
'''
This function opens a window to compose an email, with the edi sale template message loaded by default
else:
prefix = 'Scheduled'
suffix = ' %s' % phonecall.description
- message = _("%s a call for %s.%s") % (prefix, phonecall.date, suffix)
+ phonecall_date = datetime.strptime(phonecall.date, tools.DEFAULT_SERVER_DATETIME_FORMAT)
+ phonecall_usertime = fields.datetime.context_timestamp(cr, uid, phonecall_date, context=context).strftime(tools.DEFAULT_SERVER_DATETIME_FORMAT)
+ message = _("%s a call for %s.%s") % (prefix, phonecall_usertime, suffix)
return self.message_post(cr, uid, ids, body=message, context=context)
def log_meeting(self, cr, uid, ids, meeting_subject, meeting_date, duration, context=None):