I posted a google code ticket in case anyone else stumbles across this: https://code.google.com/p/web2py/issues/detail?id=1987
For now, I will directly alter the form HTML to include the values for username/email input after a failed login. On Wednesday, September 17, 2014 4:42:36 PM UTC-7, Mark Li wrote: > > Is there a reason for this behavior? Or is it a bug? > > On Wednesday, September 17, 2014 4:34:44 PM UTC-7, Mark Li wrote: >> >> My previous post was somewhat off. >> >> Actually, what happens is that if the form passes validation, but has >> incorrect login credentials, auth.login() will trigger a redirect with the >> following code: >> >> redirect(self.url(args=request.args, vars=request.get_vars), >> client_side=settings.client_side) >> >> Upon redirect, the form.vars are lost, and thus the form is no >> pre-populated with the previously typed in value. This redirect does not >> occur if the form does not pass validation (such as having an invalid >> email), and thus the returned form still has form.vars >> >> If the login credentials are incorrect, the returned form should have all >> the previously typed in values (except for the password for security >> reasons), so the user can see where they made the error. If you return a >> blank form, the user must guess what they typed in the username/email >> input, which is needlessly frustrating. >> >> On Monday, September 15, 2014 1:42:10 PM UTC-7, Mark Li wrote: >>> >>> After submitting a failed login attempt with auth.login(), the failed >>> username input is not returned (it is cleared out). This is not a problem >>> when auth.define_tables(username=False), which would return the failed >>> email input upon login error. But, when username=True, the form no longer >>> returns the failed input after a login error. This would be an important >>> issue for users, because they don't see their failed credentials that they >>> previously typed (excluding the password). >>> >>> I added a print request.function to the model, and after a failed login >>> attempt (with auth.define_tables(username=True)), there is a double >>> redirect, which seemed to cause problems previously as well: >>> https://groups.google.com/forum/#!searchin/web2py/auth.login$20return$20username/web2py/9omfJYNoOC8/RrLOgeXENvMJ >>> >> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- 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/d/optout.

