[IMP]crm-mailgate: put note field in mailgate history and put errro messgs on pasing mail

bzr revid: hmo@tinyerp.com-20091028103318-e965ldtkgfr7v5p3
This commit is contained in:
Harry (Open ERP)
2009-10-28 16:03:18 +05:30
parent bddcfb3bdb
commit ce4ca7b670
3 changed files with 17 additions and 12 deletions
+13 -10
View File
@@ -264,7 +264,7 @@ class crm_email_gateway(osv.osv):
mailgate_server = mailgateway.server_id
if not mailgate_server.active:
continue
mailgate_name = mailgateway.name or "%s (%s)" % (mailgate_server.userid, mailgate_server.name)
mailgate_name = mailgateway.name or "%s (%s)" % (mailgate_server.login, mailgate_server.name)
log_messages.append("Mail Server : %s" % mailgate_name)
log_messages.append("="*40)
email_messages = []
@@ -309,17 +309,19 @@ class crm_email_gateway(osv.osv):
parser = openerp_mailgate.email_parser(uid, users['password'], mailgateway.section_id.id,
mailgateway.to_email_id or '', mailgateway.cc_email_id or '', dbname=cr.dbname,
host=tools.config['interface'] or 'localhost', port=tools.config['port'] or '8069')
for msg_id, message in email_messages:
for msg, message in email_messages:
msg_id = case_id = note = False
try :
msg_txt = email.message_from_string(message)
res = parser.parse(msg_txt)
mail_history_obj.create(cr, uid, {'name':msg_txt['Message-ID'], 'case_id': res[0], 'gateway_id':mailgateway.id})
log_messages.append('Case Successfull created : %d' % res[0])
msg_txt = email.message_from_string(message)
msg_id = msg_txt['Message-ID']
case_id = parser.parse(msg_txt)[0]
log_messages.append('Case Successfull created : %d' % case_id)
except Exception, e:
log_messages.append("Error in Parsing Mail: %s " %(str(e)))
note = "Error in Parsing Mail: %s " %(str(e))
log_messages.append(note)
netsvc.Logger().notifyChannel('Emailgate:Parsing mail:[%d]%s' % (mailgate_server.id, mailgate_server.name), netsvc.LOG_ERROR, str(e))
mail_history_obj.create(cr, uid, {'name':msg_id, 'case_id': case_id, 'gateway_id':mailgateway.id, 'note':note})
log_messages.append("-"*25)
log_messages.append("Total Read Mail: %d\n\n" %(len(new_messages)))
return log_messages
@@ -1015,10 +1017,11 @@ class crm_email_history(osv.osv):
_description = "Email History"
_columns = {
'name': fields.char('Message Id', size=64, help="Message Id in Email Server."),
'case_id': fields.many2one('crm.case',"Case", required=True),
'case_id': fields.many2one('crm.case',"Case"),
'gateway_id': fields.many2one('crm.email.gateway',"Email Gateway", required=True),
'note': fields.text('Notes'),
}
_order = 'case_id desc'
_order = 'id desc'
crm_email_history()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+3 -1
View File
@@ -53,10 +53,12 @@
<tree string="Email History">
<field name="name"/>
<field name="case_id"/>
<field name="note"/>
</tree>
<form string="Email History">
<field name="name"/>
<field name="case_id"/>
<field name="case_id"/>
<field name="note"/>
</form>
</field>
</form>
+1 -1
View File
@@ -53,7 +53,7 @@ def _default(self , cr, uid, data, context):
for section in sections:
for gateway in section.gateway_ids:
if gateway.server_id.active:
server.append(gateway.name or '%s (%s)'%(gateway.server_id.userid, gateway.server_id.name) )
server.append(gateway.name or '%s (%s)'%(gateway.server_id.login, gateway.server_id.name) )
data['form']['server'] = '\n'.join(server)
return data['form']