auth = Auth(..., controller='accounting', function='user') Anthony
On Sunday, April 9, 2017 at 11:13:33 AM UTC-4, Rudy wrote: > > Hi there, > > I have created an accounting application, say the landing page is > http://localhost:8000/tests/accounting/index. I need to change the link > under "LOG IN" dropdown menu on top right corner to > http://...../tests/accounting/user/login instead of using > http://...../tests/default/user/login. I thought it was pretty common & > simple, after I read a few posts on webypy-users group, I still don't know > how to change it. Below is what I have tried: > > 1) Found below suggestion from Massimo, i commented out {{='auth' in > globals() and auth.navbar('Welcome', mode='dropdown') or ''}}, and added > below in layout.html > {{if auth.user:}} > <a href="{{=URL('accounting','user/logout')}}">Logout</a> > {{else:}} > <a href="{{=URL('accounting','user/login')}}">Login</a> > <a href="{{=URL('accounting','user/register')}}">Register</a> > <a > href="{{=URL('accounting','user/retrieve_password')}}">Lost Password</a> > {{pass}} > By doing above, I went > to http://...../tests/accounting/user/login form, once I filled the form > and clicked the blue "LOG IN" button (the authentication went through), it > redirected to http://..../tests/default/login#, same issue happened when I > logged out. How can I tell web2py where the next_url is? Or should I take > this approach at all to address my original question? If this is the way to > do it, any easy way to make it as dropdown menu instead of just links? > > 2) Then i tried to understand better how auth.navbar works by looking into > tools.py under gluon. I found navbar takes an argument action, i modified > it in layout.html to {{='auth' in globals() and auth.navbar('Welcome', > action='/tests/accounting/user', mode='dropdown') or ''}}. I went to the > correct form when I clicked the LOG IN link, the redirect went to the > correct controller and action, but only when I logged out, the var _next > pointed to and redirected to the default controller again - > ?_next=/tests/default/index. How do i fix it? What does the argument > "referred_action" do? > > 3) I mixed point 1 above and Anthony suggestion - added point 1 above in > layout.html, so that it went to correct login form, then I added below in > tests/accounting/user action: > form = auth() > if request.args(0) == 'login': > form['_action'] = URL(args=request.args) > The behaviour went exactly like point 1 above > > I thought most applications would change this authentication urls, there > must be a better way to configure it, I already spent the weekend on it. > Any pointers are much appreciated. > -- 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.

