Does it work if you do it this way? def login(): from gluon.tools import Recaptcha auth.settings.catpcha = Recaptcha(request,public_key,private_key) form = auth.login() form[0][-1][1].append(INPUT(_type='button', _value='Cancel',_onclick="window.location='%s';"\ % URL(r=request,f='index'))) return dict(form=form)
Massimo On Dec 2, 9:46 pm, ed <edbi...@rocketmail.com> wrote: > Hi, > I implemented Recaptcha in my Registration app and works very well. > But when I implemented the same in Login it does not check the "two > words" which Recaptch requires. The following is the code: > ---------------------------------- > -- Models -- > db.py > auth.define_tables() > auth.settings.login='email:password' > from gluon.tools import Recaptcha > auth.settings.captcha = Recaptcha(request, '6LcUfwkAAAAAACt0m', > '6LcUfwkAAAAAAcUWLVn') > > -- Controllers -- > default.py > public_key = '6LcUfwkAAAAAACt0m' > private_key = '6LcUfwkAAAAAAPcUWLVn' > > def user(): > if request.args(0)=='reg_col': > from gluon.tools import Recaptcha > match_it = IS_EXPR('value==%s' % repr(request.vars.password), > error_message='passwords do not match') > form = SQLFORM.factory( > Field('emailad', 'emailad',requires=[IS_LENGTH > (maxsize=30,error_message='Maximum length 30 chars..'),IS_EMAIL(), > IS_NOT_IN_DB(db,'auth_user.email',error_message='Email address already > exist.')], required=True, label='* Email Address'), > Field('name', 'first',requires=[IS_LENGTH > (minsize=2,maxsize=30,error_message='Minimum length 2 and maximum > 30.'),IS_UPPER()], label='* Name'), > Field('degree', 'degree',required=False,requires=IS_IN_DB > (db,'degreecurric.curcode','%(curcode)s'),label='* Degree Earned'), > Field('batchyr', 'batchyr', required=False,requires=IS_IN_DB > (db,'batchyr.moyear','%(moyear)s'),label='* Batch Year'), > Field('password', 'password',label='* Password', requires= > [IS_LENGTH(minsize=6,maxsize=30,error_message='Minimum length 6 and > maximum 30.')]), > Field('password_verify', 'password',label='* Password verify', > requires=match_it)) > form[0].insert(-1, TR('', Recaptcha > (request,public_key,private_key))) [-1][1].append(INPUT > (_type='button',_value='Cancel',_onclick="window.location='%s';"%URL > (r=request,f='index'))) > if form.accepts(request.vars, session): > emil = request.vars.emailad > name = request.vars.name > pasword = request.vars.password > password_verify = request.vars.password_verify > return dict(form=form) > > def login(): > from gluon.tools import Recaptcha > form = auth.login() > form[0].insert(-1, TR('', Recaptcha > (request,public_key,private_key))) > form[0][-1][1].append(INPUT > (_type='button',_value='Cancel',_onclick="window.location='%s';"%URL > (r=request,f='index'))) > return dict(form=form) > > --- Views -- > user.html > {{if request.args(0)=='reg_col':}} > <h2>College Alumni Registration</h2> > <br> > {{=form}} > {{pass}} > > - login.html - > <h2>Alumni Log-In</h2> > <br> > {{=form}} > {{pass}} > ----------------------------------------------------------------- > I've reviewed the source code and tested various solutions but failed > to see what's wrong with it. Did I miss something? > Thanks a lot in advance. > Ed -- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web...@googlegroups.com. To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/web2py?hl=en.