view MoinMoin/action/userprofile.py @ 2984:52f9d511f155

SystemAdmin user browser: SuperUser now can enable/disable user accounts, new userprofile action (partly a port from 1.6)
author Thomas Waldmann <tw AT waldmann-edv DOT de>
date Sun, 06 Jan 2008 04:45:56 +0100
parents
children ed1a433803c6
line wrap: on
line source

# -*- coding: iso-8859-1 -*-
"""
    MoinMoin - set values in user profile

    @copyright: 2008 MoinMoin:ThomasWaldmann
    @license: GNU GPL, see COPYING for details.
"""
from MoinMoin.Page import Page
from MoinMoin import user
 
def execute(pagename, request):
    """ set values in user profile """
    _ = request.getText
    cfg = request.cfg
    form = request.form

    if not request.user.isSuperUser():
        request.theme.add_msg(_("Only superuser is allowed to use this action."), "error")
    else:
       user_name = form.get('name', [''])[0]
       key = form.get('key', [''])[0]
       val = form.get('val', [''])[0]
       if key in cfg.user_checkbox_fields:
           val = int(val)
       uid = user.getUserId(request, user_name)
       theuser = user.User(request, uid)
       oldval = getattr(theuser, key)
       setattr(theuser, key, val)
       theuser.save()
       request.theme.add_msg('%s.%s: %s -> %s' % (user_name, key, oldval, val), "info")

    Page(request, pagename).send_page()