Пример #1
0
def convert_user_wiki_info(request):
    from Sycamore import user
    for id in user.getUserList(request.cursor):
        theuser = user.User(request, id=id)
        request.cursor.execute("SELECT created_count, edit_count, last_page_edited, last_edit_date from users where id=%(id)s", {'id': theuser.id})
        result = request.cursor.fetchone()
        if result:
            created_count, edit_count, last_page_edited, last_edit_date = result
            wiki_info = theuser.getWikiInfo()
            wiki_info.created_count = created_count
            wiki_info.edit_count = edit_count
            wiki_info.last_page_edited = last_page_edited
            wiki_info.last_edit_date = last_edit_date
            theuser.setWikiInfo(wiki_info)
Пример #2
0
def do_user_browser(request):
    """ Browser for SystemAdmin macro. """
    from Sycamore.util.dataset import TupleDataset, Column
    from Sycamore.Page import Page
    _ = request.getText

    data = TupleDataset()
    data.columns = [
        Column('id', label=('ID'), align='right'),
        Column('name', label=('Username')),
        Column('email', label=('Email')),
        Column('action', label=_('Action')),
    ]

    # Iterate over users
    for uid in user.getUserList(self.request.cursor):
        account = user.User(request, uid)

        userhomepage = Page(account.name, self.request)
        if userhomepage.exists():
            namelink = userhomepage.link_to()
        else:
            namelink = account.name

        data.addRow((
            request.formatter.code(1) + uid + request.formatter.code(0),
            request.formatter.rawHTML(namelink),
            request.formatter.url('mailto:' + account.email, account.email,
                                  'external', pretty_url=1, unescaped=1),
            '',
        ))

    if data:
        from Sycamore.widget.browser import DataBrowserWidget

        browser = DataBrowserWidget(request)
        browser.setData(data)
        return browser.toHTML()

    # No data
    return ''
Пример #3
0
__directory__ = os.path.dirname(__file__)
sys.path.extend([os.path.abspath(os.path.join(__directory__, '..', '..', '..'))])

from Sycamore import wikiutil, config, request, caching, wikidb, maintenance, buildDB, wikiacl, maintenance, user
from Sycamore.Page import Page

#################################################
# This script will try and guess users' timezone
# values.  Sets the tz to the tz of the wiki they
# made the most edits on.
#################################################
tzs = {'yourwikishortname':'US/Pacific'}

req = request.RequestDummy()

for uid in user.getUserList(req.cursor):
  req.cursor.execute("""SELECT users.id, count(allPages.wiki_id) as editcount, wikis.name from users, allPages, wikis where users.id=%(uid)s and users.id=allPages.userEdited and wikis.id=allPages.wiki_id group by users.id, wikis.name order by editcount desc limit 1;""", {'uid': uid}) 
  result = req.cursor.fetchone()
  if result:
     wiki_of_most_edits = result[2]
     if tzs.has_key(wiki_of_most_edits):
        tz = tzs[wiki_of_most_edits]	
	theuser = user.User(req, uid)	
        theuser.tz = tz	
	theuser.save()
  else:
     req.cursor.execute("""SELECT wikis.name from userWikiInfo, users, wikis where user_name=users.name and users.id=%(uid)s and wikis.id=userWikiInfo.wiki_id""", {'uid':uid})
     result = req.cursor.fetchall()
     if len(result) == 1:
        wiki_of_creation = result[0][0]
	if tzs.has_key(wiki_of_creation):