|
@ -29,6 +29,7 @@ from openerp.addons.fetchmail.fetchmail import logger |
|
|
from openerp.tools.misc import UnquoteEvalContext |
|
|
from openerp.tools.misc import UnquoteEvalContext |
|
|
from openerp.tools.safe_eval import safe_eval |
|
|
from openerp.tools.safe_eval import safe_eval |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class fetchmail_server(Model): |
|
|
class fetchmail_server(Model): |
|
|
_inherit = 'fetchmail.server' |
|
|
_inherit = 'fetchmail.server' |
|
|
|
|
|
|
|
@ -42,7 +43,7 @@ class fetchmail_server(Model): |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
def __init__(self, pool, cr): |
|
|
def __init__(self, pool, cr): |
|
|
self._columns['object_id'].required=False |
|
|
|
|
|
|
|
|
self._columns['object_id'].required = False |
|
|
return super(fetchmail_server, self).__init__(pool, cr) |
|
|
return super(fetchmail_server, self).__init__(pool, cr) |
|
|
|
|
|
|
|
|
def onchange_server_type( |
|
|
def onchange_server_type( |
|
@ -50,8 +51,9 @@ class fetchmail_server(Model): |
|
|
object_id=False): |
|
|
object_id=False): |
|
|
retval = super( |
|
|
retval = super( |
|
|
fetchmail_server, self).onchange_server_type(cr, uid, |
|
|
fetchmail_server, self).onchange_server_type(cr, uid, |
|
|
ids, server_type, ssl, object_id) |
|
|
|
|
|
retval['value']['state']='draft' |
|
|
|
|
|
|
|
|
ids, server_type, ssl, |
|
|
|
|
|
object_id) |
|
|
|
|
|
retval['value']['state'] = 'draft' |
|
|
return retval |
|
|
return retval |
|
|
|
|
|
|
|
|
def fetch_mail(self, cr, uid, ids, context=None): |
|
|
def fetch_mail(self, cr, uid, ids, context=None): |
|
@ -100,7 +102,7 @@ class fetchmail_server(Model): |
|
|
msgdata[0][1], this.original) |
|
|
msgdata[0][1], this.original) |
|
|
|
|
|
|
|
|
if self.pool.get('mail.message').search(cr, uid, [ |
|
|
if self.pool.get('mail.message').search(cr, uid, [ |
|
|
('message_id','=',mail_message['message-id'])]): |
|
|
|
|
|
|
|
|
('message_id', '=', mail_message['message-id'])]): |
|
|
continue |
|
|
continue |
|
|
|
|
|
|
|
|
found_ids = matcher.search_matches( |
|
|
found_ids = matcher.search_matches( |
|
@ -134,9 +136,8 @@ class fetchmail_server(Model): |
|
|
partner_id = None |
|
|
partner_id = None |
|
|
if folder.model_id.model == 'res.partner': |
|
|
if folder.model_id.model == 'res.partner': |
|
|
partner_id = object_id |
|
|
partner_id = object_id |
|
|
if self.pool.get(folder.model_id.model)._columns.\ |
|
|
|
|
|
has_key('partner_id'): |
|
|
|
|
|
partner_id=self.pool.get( |
|
|
|
|
|
|
|
|
if 'partner_id' in self.pool.get(folder.model_id.model)._columns: |
|
|
|
|
|
partner_id = self.pool.get( |
|
|
folder.model_id.model).browse( |
|
|
folder.model_id.model).browse( |
|
|
cr, uid, object_id, context |
|
|
cr, uid, object_id, context |
|
|
).partner_id.id |
|
|
).partner_id.id |
|
@ -161,14 +162,15 @@ class fetchmail_server(Model): |
|
|
}, |
|
|
}, |
|
|
context) |
|
|
context) |
|
|
if this.attach: |
|
|
if this.attach: |
|
|
#TODO: create attachments |
|
|
|
|
|
|
|
|
# TODO: create attachments |
|
|
pass |
|
|
pass |
|
|
if folder.delete_matching: |
|
|
if folder.delete_matching: |
|
|
connection.store(msgid, '+FLAGS', '\\DELETED') |
|
|
connection.store(msgid, '+FLAGS', '\\DELETED') |
|
|
|
|
|
|
|
|
def button_confirm_login(self, cr, uid, ids, context=None): |
|
|
def button_confirm_login(self, cr, uid, ids, context=None): |
|
|
retval = super(fetchmail_server, self).button_confirm_login(cr, uid, |
|
|
retval = super(fetchmail_server, self).button_confirm_login(cr, uid, |
|
|
ids, context) |
|
|
|
|
|
|
|
|
ids, |
|
|
|
|
|
context) |
|
|
|
|
|
|
|
|
for this in self.browse(cr, uid, ids, context): |
|
|
for this in self.browse(cr, uid, ids, context): |
|
|
this.write({'state': 'draft'}) |
|
|
this.write({'state': 'draft'}) |
|
@ -194,8 +196,8 @@ class fetchmail_server(Model): |
|
|
if view_type == 'form': |
|
|
if view_type == 'form': |
|
|
view = etree.fromstring( |
|
|
view = etree.fromstring( |
|
|
result['fields']['folder_ids']['views']['form']['arch']) |
|
|
result['fields']['folder_ids']['views']['form']['arch']) |
|
|
modifiers={} |
|
|
|
|
|
docstr='' |
|
|
|
|
|
|
|
|
modifiers = {} |
|
|
|
|
|
docstr = '' |
|
|
for algorithm in self.pool.get('fetchmail.server.folder')\ |
|
|
for algorithm in self.pool.get('fetchmail.server.folder')\ |
|
|
._get_match_algorithms().itervalues(): |
|
|
._get_match_algorithms().itervalues(): |
|
|
for modifier in ['required', 'readonly']: |
|
|
for modifier in ['required', 'readonly']: |
|
@ -205,7 +207,7 @@ class fetchmail_server(Model): |
|
|
if modifiers[field][modifier]: |
|
|
if modifiers[field][modifier]: |
|
|
modifiers[field][modifier].insert(0, '|') |
|
|
modifiers[field][modifier].insert(0, '|') |
|
|
modifiers[field][modifier].append( |
|
|
modifiers[field][modifier].append( |
|
|
("match_algorithm","==",algorithm.__name__)) |
|
|
|
|
|
|
|
|
("match_algorithm", "==", algorithm.__name__)) |
|
|
docstr += _(algorithm.name) + '\n' + _(algorithm.__doc__) + \ |
|
|
docstr += _(algorithm.name) + '\n' + _(algorithm.__doc__) + \ |
|
|
'\n\n' |
|
|
'\n\n' |
|
|
|
|
|
|
|
|