self.write(cr, uid, [case.id], {'stage_id': s[section][st]})
return True
- def history(self, cr, uid, ids, keyword, history=False, email=False, details=None, context={}):
+ def history(self, cr, uid, ids, keyword, history=False, email=False, details=None, email_from=False, context={}):
cases = self.browse(cr, uid, ids, context=context)
- return self.__history(cr, uid, cases, keyword=keyword,\
- history=history, email=email, details=details,\
+ return self._history(cr, uid, cases, keyword=keyword,\
+ history=history, email=email, details=details, email_from=email_from, \
context=context)
def __history(self, cr, uid, cases, keyword, history=False, email=False, details=None, email_from=False, context={}):
- model_obj = self.pool.get('ir.model')
+ model_obj = self.pool.get('ir.model')
+ if email and type(email) == type([]):
+ email = ','.join(email)
+ if email_from and type(email_from) == type([]):
+ email_from = ','.join(email_from)
+
for case in cases:
model_ids = model_obj.search(cr, uid, [('model','=',case._name)])
data = {
try:
id = self.rpc(self.model, 'create', data)
- self.rpc(self.model, 'history', [id], 'Receive', True, msg['From'], message['body'])
+ self.rpc(self.model, 'history', [id], 'Receive', True, False, message['body'], msg['From'])
#self.rpc(self.model, 'case_open', [id])
except Exception, e:
if getattr(e, 'faultCode', '') and 'AccessError' in e.faultCode:
self.rpc(self.model, act, [id])
self.rpc(self.model, 'write', [id], data)
- self.rpc(self.model, 'history', [id], 'Receive', True, details=body['body'], email_from=msg['From'])
+ self.rpc(self.model, 'history', [id], 'Receive', True, False, body['body'], msg['From'])
return id
def msg_send(self, msg, emails, priority=None):
# 'description':body,
#}
#self.rpc(self.model, 'write', [id], data)
- self.rpc(self.model, 'history', [id], 'Receive', True, details=message['body'], email_from=msg['From'])
+ self.rpc(self.model, 'history', [id], 'Receive', True, False, message['body'], msg['From'])
return id
def msg_test(self, msg, case_str):
model = hist.log_id.model_id.model
model_pool = self.pool.get(model)
case = model_pool.browse(cr, uid, hist.log_id.res_id)
- if 'email_to' in fields and hist.email_to:
- res.update({'email_to': hist.email_to})
+ if 'email_to' in fields:
+ res.update({'email_to': hist.email_from or (case.user_id and case.user_id.address_id and \
+ case.user_id.address_id.email) or tools.config.get('email_from',False)})
if 'email_from' in fields:
- res.update({'email_from': (case.user_id and case.user_id.address_id and \
+ res.update({'email_from': hist.email_to or (case.user_id and case.user_id.address_id and \
case.user_id.address_id.email) or tools.config.get('email_from',False)})
if 'text' in fields:
header = '-------- Original Message --------'