I understand that code and put it in my controller. But, where do I put the reference to it in the view (the base view that is extended):
By default it says: <div id="navbar">{{='auth' in globals() and auth.navbar(separators=(' ',' | ',''))}}</div> I assume that user.bar must replace auth.navbar(...). But, I don't see how. An arbitrary function in a controller cannot do the same things that the auth class method does. The other problem is that my user.bar() is not in default so I must also reference the controller file. Using URL('...', '....') in place of auth.navbar did not work. I am sorry: when you go mucking about substituting for internal functions/classes of web2py it is very unclear what one must do because the behavior of the internal classes is a bit obscure. Thank you. On Friday, July 20, 2012 4:29:37 PM UTC-7, pbreit wrote: > > I just write my own: > > def user_bar(): > action = '/user' > if auth.user: > logout=A('logout', _href=action+'/logout') > profile=A('profile', _href=action+'/profile') > password=A('change password', _href=action+'/change_password') > bar = SPAN(auth.user.email, ' | ', profile, ' | ', password, ' | ' > , logout, _class='auth_navbar') > else: > login=A('login', _href=action+'/login') > register=A('register',_href=action+'/register') > lost_password=A('lost password', _href=action+ > '/request_reset_password') > bar = SPAN(' ', login, ' | ', register, ' | ', lost_password,_class > ='auth_navbar') > return bar > > --