Mercurial > moin-modernized
changeset 3:f7c7846f4e27
Make the "username" part use a <div> with explicit separators, not a <ul>
| author | Radomir Dopieralski <devel@sheep.art.pl> |
|---|---|
| date | Fri, 16 May 2008 16:27:05 +0200 |
| parents | 90adc513392a |
| children | 86eee4ada4d3 |
| files | modernized.py |
| diffstat | 1 files changed, 47 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/modernized.py Fri May 16 16:04:17 2008 +0200 +++ b/modernized.py Fri May 16 16:27:05 2008 +0200 @@ -7,6 +7,7 @@ """ from MoinMoin.theme import ThemeBase +from MoinMoin import wikiutil class Theme(ThemeBase): @@ -102,6 +103,52 @@ ] return u'\n'.join(html) + def username(self, d): + """ Assemble the username / userprefs link + + @param d: parameter dictionary + @rtype: unicode + @return: username html + """ + request = self.request + _ = request.getText + + userlinks = [] + # Add username/homepage link for registered users. We don't care + # if it exists, the user can create it. + if request.user.valid and request.user.name: + interwiki = wikiutil.getInterwikiHomePage(request) + name = request.user.name + aliasname = request.user.aliasname + if not aliasname: + aliasname = name + title = "%s @ %s" % (aliasname, interwiki[0]) + # link to (interwiki) user homepage + homelink = (request.formatter.interwikilink(1, title=title, id="userhome", generated=True, *interwiki) + + request.formatter.text(name) + + request.formatter.interwikilink(0, title=title, id="userhome", *interwiki)) + userlinks.append(homelink) + # link to userprefs action + if 'userprefs' not in self.request.cfg.actions_excluded: + userlinks.append(d['page'].link_to(request, text=_('Settings'), + querystr={'action': 'userprefs'}, id='userprefs', rel='nofollow')) + + if request.user.valid: + if request.user.auth_method in request.cfg.auth_can_logout: + userlinks.append(d['page'].link_to(request, text=_('Logout'), + querystr={'action': 'logout', 'logout': 'logout'}, id='logout', rel='nofollow')) + else: + query = {'action': 'login'} + # special direct-login link if the auth methods want no input + if request.cfg.auth_login_inputs == ['special_no_input']: + query['login'] = '1' + if request.cfg.auth_have_login: + userlinks.append(d['page'].link_to(request, text=_("Login"), + querystr=query, id='login', rel='nofollow')) + + userlinks_html = u'<span class="sep"> | </span>'.join(userlinks) + html = u'<div id="username">%s</div>' % userlinks_html + return html def execute(request): """
