diff options
| author | Sbh (OpenERP) <sbh@tinyerp.com> | 2010-12-07 14:07:47 +0530 |
|---|---|---|
| committer | Sbh (OpenERP) <sbh@tinyerp.com> | 2010-12-07 14:07:47 +0530 |
| commit | fd7173ceb6a0918f145d8264416bae6da3276c1e (patch) | |
| tree | ba498448bbf17c239fe7dbad918ddc3886075b1d /addons/fetchmail/fetchmail.py | |
| parent | a1e90448f6e393b517420572251cd2304aadc91c (diff) | |
| parent | 9e49acd59c8021bd1c5eb7e49c8dce74b0fb940c (diff) | |
[MERGE] Bug fix lp:685977,lp:680704,lp:674241
bzr revid: sbh@tinyerp.com-20101207083747-trvx7xeucdjw5huk
Diffstat (limited to 'addons/fetchmail/fetchmail.py')
| -rw-r--r-- | addons/fetchmail/fetchmail.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/addons/fetchmail/fetchmail.py b/addons/fetchmail/fetchmail.py index 84490de2b53..d72467aafd5 100644 --- a/addons/fetchmail/fetchmail.py +++ b/addons/fetchmail/fetchmail.py @@ -57,9 +57,8 @@ class email_server(osv.osv): 'user' : fields.char('User Name', size=256, required=True, readonly=True, states={'draft':[('readonly', False)]}), 'password' : fields.char('Password', size=1024, invisible=True, required=True, readonly=True, states={'draft':[('readonly', False)]}), 'note': fields.text('Description'), - 'action_id':fields.many2one('ir.actions.server', 'Reply Email', required=False, domain="[('state','=','email')]", - help="An Email Server Action. It will be run whenever an e-mail is fetched from server."), - 'object_id': fields.many2one('ir.model', "Model", required=True, help="OpenObject Model. Generates a record of this model."), + 'action_id':fields.many2one('ir.actions.server', 'Email Server Action', required=False, domain="[('state','=','email')]", help="An Email Server Action. It will be run whenever an e-mail is fetched from server."), + 'object_id': fields.many2one('ir.model', "Model", required=True, help="OpenObject Model. Generates a record of this model.\nSelect Object with message_new attrbutes."), 'priority': fields.integer('Server Priority', readonly=True, states={'draft':[('readonly', False)]}, help="Priority between 0 to 10, select define the order of Processing"), 'user_id':fields.many2one('res.users', 'User', required=False), 'message_ids': fields.one2many('mailgate.message', 'server_id', 'Messages', readonly=True), @@ -82,8 +81,19 @@ class email_server(osv.osv): return False return True + def check_model(self, cr, uid, ids, context = None): + if context is None: + context = {} + current_rec = self.read(cr, uid, ids, context)[0] + if current_rec: + model = self.pool.get(current_rec.get('object_id')[1]) + if hasattr(model, 'message_new'): + return True + return False + _constraints = [ - (check_duplicate, 'Warning! Can\'t have duplicate server configuration!', ['user', 'password']) + (check_duplicate, 'Warning! Can\'t have duplicate server configuration!', ['user', 'password']), + (check_model, 'Warning! Record for selected Model can not be created\nPlease choose valid Model', ['object_id']) ] def onchange_server_type(self, cr, uid, ids, server_type=False, ssl=False): |
