You have a typo "acton" On May 7, 2012 7:32 AM, "Rhys" <d...@vcrowd.com> wrote:
> Hey Massimo, > > The > > {{form=auth()}} > {{form['_acton'] = "/user/login"}} > {{=form.custom.begin}} > > > spat out the html without the updated action > > <html action="" method="post" enctype="multipart/form-data"> > > > Cheers, > > Rhys > > > On Monday, May 7, 2012 12:52:20 AM UTC+10, Massimo Di Pierro wrote: >> >> Interesting. When you say it did not work. What html did it generate? >> >> On Sunday, 6 May 2012 03:25:41 UTC-5, Rhys wrote: >>> >>> Hey Massimo, >>> >>> You've steered me in the right direction. >>> >>> Basically I've had to put in a pure opening html form element in, and >>> then use the custom form widgets afterwards. Works now. Resulting in: >>> >>> <form action="user/login" method="post"> >>> {{=form.custom.widget.email}} >>> {{=form.custom.widget.**password}} >>> {{=form.custom.end}} >>> >>> The >>> >>> form['_action'] = URL('user/login') >>> >>> or >>> >>> form.attributes['_action'] = URL('user/login') >>> >>> >>> for some reason didn't want to work. >>> >>> Cheers, >>> >>> Rhys >>> >>> On Sunday, May 6, 2012 3:50:52 PM UTC+10, Massimo Di Pierro wrote: >>>> >>>> This is because of the mechanism to prevent CSRF attacks. >>>> There are supposed to be two hidden fields, one is the formname. The >>>> other is the formkey (a unique onetime token). >>>> >>>> Try: >>>> >>>> {{ >>>> form=auth.login() >>>> form['_action']=URL('user/**login') >>>> }} >>>> {{=form.custom.begin}} >>>> {{=form.custom.widget.email}} >>>> {{=form.custom.widget.**password}} >>>> <input type="submit" value="**login"> >>>> <input type="hidden" name="_**next" value="/feed"> >>>> {{=form.custom.end}} >>>> >>>> >>>> On Saturday, 5 May 2012 23:37:57 UTC-5, Rhys wrote: >>>>> >>>>> Hey Alan, >>>>> >>>>> I don't want to redirect. I'll try and to explain it a bit more. >>>>> >>>>> Basically I have two forms. One which is a drop down, in pure html >>>>> >>>>> <form action="/user/login" method="post"> >>>>> <input type="hidden" name="_formname" value="login"> >>>>> <input type="hidden" name="_next" value="/feed"> >>>>> <input type="text" name="email" id="auth_user_email"> >>>>> <input type="password" name="password" id="aut_user_password"> >>>>> <input type="submit" value="login"> >>>>> </form> >>>>> >>>>> >>>>> >>>>> ^ this Form is on every page which the user is not logged into. When >>>>> they fill out this form and click submit I want the /user/login page to >>>>> process it, but it is not doing so. When the page finds there is an error >>>>> with the login or the user is not authorised, I would like the /user/login >>>>> form which is exactly the same form as above but on another page with the >>>>> drop down one removed, to present there was an error with the login. >>>>> >>>>> Both forms I've done in html so there is no form key to process. I'm >>>>> trying to figure out why auth.login() doesn't process it as the >>>>> form.accepts() method in auth.login() has the same formname. What is >>>>> preventing it from being processed. It's driving me in sane. I'm stepping >>>>> through the code in debug mode and can't find why it would not process it. >>>>> It is basically a SQL form in html like described in the web2py book. >>>>> >>>>> Any insight would be great by any! >>>>> >>>>> On Sunday, May 6, 2012 12:19:49 AM UTC+10, Alan Etkin wrote: >>>>>> >>>>>> *auth.is_logged_in()* will return a bool object. True for >>>>>> authenticated user and I belive *auth.user_id* attribute is None for >>>>>> the non authenticated user. *auth *being the Auth class instance >>>>>> created by the welcome scaffolding application. >>>>>> >>>>>> You could use the returned values to catch unsuccessful >>>>>> authentication and redirect to the correct action >>>>>> >>>>>> There is an Auth setting for failed authentication (for example, it's >>>>>> possible to call a function on failed login) >>>>>> ("Settings and Messages", web2py book 4th edition, 9.3.7) >>>>>> >>>>>> auth.settings.on_failed_**authentication = lambda url: redirect(url) >>>>>> >>>>>> On Saturday, May 5, 2012 9:51:23 AM UTC-3, Rhys wrote: >>>>>>> >>>>>>> I'm creating a custom drop down login form for all pages where the >>>>>>> user isn't logged in. Once they try and login through this form if it >>>>>>> is unsuccessful it redirects to the /user/login page with the auth.login >>>>>>> form. How do I get a error if the login has resulted in an invalid >>>>>>> login. >>>>>>> As there are two forms I've tried also tried to do a form out of html so >>>>>>> there is no form key. Still no luck. Is it s simple variable I can use >>>>>>> to >>>>>>> determine if it is successful? >>>>>> >>>>>>