From e76270461811e8c6df8bf8b4fc78ddec02377eb2 Mon Sep 17 00:00:00 2001 From: Mantavya Gajjar Date: Thu, 15 Apr 2010 21:20:20 +0530 Subject: [MOVE]: move module smtpclient from extra-addons to trunk bzr revid: mga@tinyerp.com-20100415155020-dogvw0m92cn90nf1 --- addons/smtpclient/wizard/verifycode.py | 71 ++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 addons/smtpclient/wizard/verifycode.py (limited to 'addons/smtpclient/wizard/verifycode.py') diff --git a/addons/smtpclient/wizard/verifycode.py b/addons/smtpclient/wizard/verifycode.py new file mode 100644 index 00000000000..096523c6b69 --- /dev/null +++ b/addons/smtpclient/wizard/verifycode.py @@ -0,0 +1,71 @@ +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2009 Tiny SPRL (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +import wizard +import pooler +from osv import osv +from tools.translate import _ + +form = ''' +
+ +''' + +fields = { + 'code': {'string': 'Verification Code','required':True, 'size': 255 , 'type': 'char', 'help': 'Enter the verification code thay you get in your verification Email'} +} +class verifycode(wizard.interface): + + def checkcode(self, cr, uid, data, context): + + server_pool = pooler.get_pool(cr.dbname).get('email.smtpclient') + cron_pool = pooler.get_pool(cr.dbname).get('ir.cron') + + server = server_pool.browse(cr, uid, data['id'], context) + state = server.state + + if state == 'confirm': + raise osv.except_osv(_('Error'), _('Server already verified!')) + + code = server.code + if code == data['form']['code']: + if server_pool.create_process(cr, uid, [data['id']], context={}): + server_pool.write(cr, uid, [data['id']], {'state':'confirm', 'pstate':'running'}) + print 'process created' + else: + raise osv.except_osv(_('Error'), _('Verification failed. Invalid Verification Code!')) + + return {} + + states = { + 'init': { + 'actions': [], + 'result': {'type':'form', 'arch':form, 'fields':fields, 'state':[('end','Cancel'),('check','Verify Code')]} + }, + 'check': { + 'actions': [checkcode], + 'result': {'type':'state', 'state':'end'} + } + } +verifycode('email.verifycode') + + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: + -- cgit v1.2.3