1
# -*- coding: iso-8859-1 -*-
3
MoinMoin - User account administration
5
@copyright: 2001-2004 Juergen Hermann <jh@web.de>,
6
2003-2007 MoinMoin:ThomasWaldmann
7
2007 MoinMoin:ReimarBauer
8
@license: GNU GPL, see COPYING for details.
10
from MoinMoin import user, wikiutil
11
from MoinMoin.util.dataset import TupleDataset, Column
12
from MoinMoin.Page import Page
15
def do_user_browser(request):
16
""" Browser for SystemAdmin macro. """
21
Column('name', label=_('Username')),
22
Column('groups', label=_('Member of Groups')),
23
Column('email', label=_('Email')),
24
Column('jabber', label=_('Jabber')),
25
Column('action', label=_('Action')),
28
isgroup = request.cfg.cache.page_group_regexact.search
29
groupnames = request.rootpage.getPageList(user='', filter=isgroup)
32
for uid in user.getUserList(request):
33
account = user.User(request, uid)
35
grouppage_links = ', '.join([Page(request, groupname).link_to(request)
36
for groupname in groupnames
37
if request.dicts.has_member(groupname, account.name)])
39
userhomepage = Page(request, account.name)
40
if userhomepage.exists():
41
namelink = userhomepage.link_to(request)
43
namelink = wikiutil.escape(account.name)
46
enable_disable_link = request.page.link_to(
47
request, text=_('Enable user'),
48
querystr={"action": "userprofile",
54
namelink += " (%s)" % _("disabled")
56
enable_disable_link = request.page.link_to(
57
request, text=_('Disable user'),
58
querystr={"action": "userprofile",
65
recoverpass_link = request.page.link_to(
66
request, text=_('Mail account data'),
67
querystr={"action": "recoverpass",
68
"email": account.email,
69
"account_sendmail": "1",
74
email_link = (request.formatter.url(1, 'mailto:' + account.email, css='mailto') +
75
request.formatter.text(account.email) +
76
request.formatter.url(0))
81
jabber_link = (request.formatter.url(1, 'xmpp:' + account.jid, css='mailto') +
82
request.formatter.text(account.jid) +
83
request.formatter.url(0))
88
request.formatter.rawHTML(namelink),
89
request.formatter.rawHTML(grouppage_links),
92
recoverpass_link + " - " + enable_disable_link
96
from MoinMoin.widget.browser import DataBrowserWidget
98
browser = DataBrowserWidget(request)
100
return browser.toHTML()