After the page with the reset password form has been loaded, you can see if 
there is a _formkey[no_table/create] key in the session and confirm the 
value stored there is the same as the value in the hidden _formkey field in 
the form on the HTML page.

Anthony

On Friday, July 26, 2013 10:51:39 AM UTC-4, lesssugar wrote:
>
> It could be something with the session. As I wrote: the first form 
> (request_reset_password) works fine - it validates, it sends email with 
> reset link. But after the link is clicked and the reset_password form 
> appears - the form is useless, new password can't be created.
>
> You wrote that it's possible that the _formkey check does not pass when 
> submitting. Any ideas how to debug in such case? If it's not this, it could 
> be everything.
>
> On Thursday, July 25, 2013 8:34:38 PM UTC+2, Anthony wrote:
>>
>> When the form doesn't validate but you get no error messages, it often 
>> means the _formkey checked didn't pass (the _formkey is stored in the 
>> session, so often this is due to an issue with the session or cookies).
>>
>> Anthony
>>
>> On Thursday, July 25, 2013 1:50:09 PM UTC-4, lesssugar wrote:
>>>
>>> No. Cookies are on. I'm not clearing the session explicitly anywhere in 
>>> the code neither. Just created dummy app to test password reset - and 
>>> validation works fine in both forms (requesting reset, creating new 
>>> password). default/user function of the dummy application is standard and 
>>> it looks just like mine. No idea what's going on, but it definitely must be 
>>> my fault somehow.
>>>
>>> I'll keep digging. Let you know if I find the bug.
>>>
>>> On Thursday, July 25, 2013 6:08:38 PM UTC+2, Anthony wrote:
>>>>
>>>> Is it possible that cookies are disabled or that the session is somehow 
>>>> getting cleared (e.g., session.forget() or session.clear())?
>>>>
>>>> On Thursday, July 25, 2013 11:49:54 AM UTC-4, lesssugar wrote:
>>>>>
>>>>> When submitting the form with different passwords - the page reloads 
>>>>> and that's it. No validation, no error response.flash, nothig. The same 
>>>>> issue occurs with the same passwords and with empty inputs.
>>>>>
>>>>> web2py version: 2.4.7-stable
>>>>>
>>>>> On Thursday, July 25, 2013 5:44:18 PM UTC+2, Anthony wrote:
>>>>>>
>>>>>> What happens if the passwords are different? Which version of web2py?
>>>>>>
>>>>>> On Thursday, July 25, 2013 11:14:21 AM UTC-4, lesssugar wrote:
>>>>>>>
>>>>>>> Thanks, Anthony, I removed the if statement and it worked for 
>>>>>>> request_reset_password.
>>>>>>>
>>>>>>> However, after I click the link sent to e-mail address, the 
>>>>>>> reset_password form still doesn't process "New password" and "Verify 
>>>>>>> password" fields. The inputs can be empty, the passwords can be 
>>>>>>> different - 
>>>>>>> no validation is performed.
>>>>>>>
>>>>>>> On Thursday, July 25, 2013 4:51:46 PM UTC+2, Anthony wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> def user():
>>>>>>>>>
>>>>>>>>> auth.settings.formstyle = 'divs'
>>>>>>>>>
>>>>>>>>> if request.args(0) == 'request_reset_password':
>>>>>>>>>     auth.request_reset_password(next = URL('default', 'index'))
>>>>>>>>>
>>>>>>>>> return dict(form=auth())
>>>>>>>>>
>>>>>>>>
>>>>>>>> Your code is creating and processing the form twice. 
>>>>>>>> auth.request_reset_password(...) creates and processes the form 
>>>>>>>> (though you aren't storing that version in a variable and passing it 
>>>>>>>> to the 
>>>>>>>> view). Then, form=auth() once again calls 
>>>>>>>> auth.request_reset_password(), which creates and processes the 
>>>>>>>> form a second time. When the form is submitted, the first call 
>>>>>>>> processes 
>>>>>>>> the form and does the validation, but the second call then creates a 
>>>>>>>> new 
>>>>>>>> form. You can simply eliminate that whole "if" segment from your code 
>>>>>>>> -- 
>>>>>>>> form=auth() will take care of everything.
>>>>>>>>
>>>>>>>> Anthony
>>>>>>>>
>>>>>>>>

-- 

--- 
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.


Reply via email to