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