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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.