auth works inspecting request.args and generating the corresponding form.
in a "default" setup, you have auth defined into def user(), so the url is

/app/default/user/login

the function (connected to the view) is *user*, not *login*. *login* is the 
first request.args (*request.args(0)*) 
It's perfectly fine that if you put return dict(form=auth()) inside def 
handle() it works only when accessed as
/app/default/handle/login

If you want /app/default/handle to return just the login form, you should 
return

form=auth.login()

directly (and have something else handling all other auth functions like 
register, logout, retrieve_username, etc etc etc)

On Monday, February 25, 2013 12:52:05 AM UTC+1, Vixus wrote:
>
> By default auth seems to assume everything is under: 
> default/user/[login,register,etc.]
> But I want to instead have everything under: 
> user/handle/[login,register,etc.]
> So I moved the user() function from default.py to handle() in user.py.
>
> The reason I wanted to do this was so I could have a component 
> user/handle.load that I could add to any page via LOAD. I followed the 
> examples from the web2py docs to do this. So I have:
>
> views/default/index.html:
> {{extend 'layout.html'}}
> {{=LOAD('user','handle.load',ajax=True)}}
>
> views/user/handle.html:
> {{=form}}
>
> But when I view the default page all I get is an error saying: *invalid 
> function (default/handle)*
> Attempting to navigate to /app/user/handle.load directly results in the 
> same error. The URL has changed to /app/default/handle.load/login
>
> So there seems to be some implicit routing going on. How do I fix this.
>
> *OR*
>
> Is there a better way to be doing a sidebar login via a component? All I 
> want is a small login form in the sidebar, and a register button that takes 
> the user to the registration page.
> Thanks!
>

-- 

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


Reply via email to