from forum.modules import ui, get_modules_script
from django.utils.translation import ugettext as _
+from django.utils.encoding import smart_unicode
from django.core.urlresolvers import reverse
from django.template.defaultfilters import slugify
+from forum.models import User
from forum.templatetags.extra_tags import get_score_badge
from forum.utils.html import cleanup_urls
from forum import settings
ui.Link(_('about'), ui.Url('about'), weight=300, name='ABOUT'),
ui.Link(
- text=lambda u, c: u.is_authenticated() and _('logout') or _('login'),
- url=lambda u, c: u.is_authenticated() and reverse('logout') or reverse('auth_signin'),
- weight=200, name='LOGIN/OUT'),
-
+ visibility=ui.Visibility.ANONYMOUS,
+ text=_('login'),
+ url=lambda u, c: reverse('auth_signin'),
+ weight=200, name='LOGIN'),
+ ui.Link(
+ visibility=ui.Visibility.AUTHENTICATED,
+ text=_('logout'),
+ url=lambda u, c: reverse('logout'),
+ weight=200, name='LOGOUT'),
ui.Link(
visibility=ui.Visibility.AUTHENTICATED,
- text=lambda u, c: u.username,
+ text=lambda u, c: smart_unicode(u.username),
url=lambda u, c: u.get_profile_url(),
post_code=lambda u, c: get_score_badge(u),
weight=100, name='ACCOUNT'),
ui.register(ui.USER_MENU,
ui.UserMenuItem(
label=_("edit profile"),
- url=lambda u, c: reverse('edit_user', kwargs={'id': c['user'].id}),
+ url=lambda u, c: reverse('edit_user', kwargs={
+ 'id': c['user'].id,
+ 'slug' : slugify(c['user'].username)
+ }),
span_attrs={'class': 'user-edit'},
weight=0,
name='EDIT_PROFILE'
),
ui.UserMenuItem(
label=_("email notification settings"),
- url=lambda u, c: reverse('user_subscriptions', kwargs={'id': c['user'].id, 'slug': slugify(c['user'].username)}),
+ url=lambda u, c: User.objects.get(id=int(c['user'].id)).get_user_subscriptions_url(),
span_attrs={'class': 'user-subscriptions'},
weight=200,
name='EMAIL_SETTINGS'