def user(): form = auth() if 'register' in request.args(0): # parse the referring URL to see if we can prepopulate the course_id field in # the registration form ref = request.env.http_referer if ref: if '_next' in ref: ref = ref.split("_next") url_parts = ref[1].split("/") else: url_parts = ref.split("/")
for i in range(len(url_parts)): if "static" in url_parts[i]: course_id = url_parts[i+1] form.vars.course_id = course_id break # we can't prepopulate, just set it to empty else: form.vars.course_id = '' if 'login' in request.args(0): # add info text re: using local auth. CSS styled to match text on Janrain form sign_in_text = TR(TD('Sign in with your RSI account', _colspan='3'),_id ='sign_in_text') form[0][0].insert(0, sign_in_text) if 'profile' in request.args(0): form.vars.course_id = auth.user.course_name try: if form.process().accepted: # auth.user session object doesn't automatically update when the DB gets updated auth.user.update(form.vars) auth.user.course_name = db(db.auth_user.id == auth.user.id). select()[0].course_name redirect(URL('default','index')) except AttributeError: # Janrain login form wrapped in the ExtendedLoginForm doesn't have the process() method # (which makes sense because we have no ability to process the Janrain form) pass return dict(form=form) Above is the contents of my user controller. I have been trying to use the ExtendedLoginForm to integrate Janrain (which works perfectly - I can register/login with Janrain without a problem. However, I still can't get local registration working. I've actually switched back to just using the local Auth form right now for testing but am still getting the wrong behavior. If I remove all the code from the user controller except the lines form = auth() return dict(form=form) everything works as expected. Obviously this indicates a problem with my code, I'm just not sure what exactly. What I'm trying to do in most of these cases is prepopulate one of the fields in the auth form (specifically the course_id field). On Thursday, June 27, 2013 8:21:41 AM UTC-5, Isaac Dontje Lindell wrote: > > Sorry, should have specified. Version 2.4.6-stable > > On Thursday, June 27, 2013 1:31:14 AM UTC-5, Massimo Di Pierro wrote: >> >> Which web2py version? >> >> On Wednesday, 26 June 2013 11:16:11 UTC-5, Isaac Dontje Lindell wrote: >>> >>> I have this in my db.py model: >>> >>> ## configure auth policy >>> auth.settings.registration_requires_verification = False >>> auth.settings.registration_requires_approval = False >>> auth.settings.reset_password_requires_verification = True >>> >>> If I register for the application (at %app%/default/user/register), it >>> goes through (I get a "Success" flash and an entry is added to the >>> auth_user table.) However, every time I register, a registration_key is >>> added to the auth_user entry. The user is prevented from logging in until I >>> remove the registration key from the auth_user row manually. >>> >>> It's my understanding that the first 2 lines above should stop a >>> registration_key from being added or created - the user should be able to >>> log in immediately. >>> >>> What am I missing? >>> >> -- --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.