view tools/fixroles.py @ 2646:fd7b2fc1eb28

Config is now base class for all configurations... ...main Roundup configuration class is CoreConfig. Builtin TRACKER_HOME renamed to HOME in Config and Options. In CoreConfig, TRACKER_HOME is an alias for HOME. Option.value2str(): added parameter 'current' - stringify current Option value. Option RDBMS_PORT defaults to None. Config: added methods add_section, update_option, getopt (not implemented). Config.save(): added warning about unset options at the top of the file. new class UserConfig for inifile-driven configs. CoreConfig: new attributes .ext and .detectors holding UserConfigs for extensions and detectors, respectively.
author Alexander Smishlajev <a1s@users.sourceforge.net>
date Tue, 27 Jul 2004 11:26:20 +0000
parents 52c8324d1539
children
line wrap: on
line source

import sys

from roundup import admin

class AdminTool(admin.AdminTool):
    def __init__(self):
        self.commands = admin.CommandDict()
        for k in AdminTool.__dict__.keys():
            if k[:3] == 'do_':
                self.commands[k[3:]] = getattr(self, k)
        self.help = {}
        for k in AdminTool.__dict__.keys():
            if k[:5] == 'help_':
                self.help[k[5:]] = getattr(self, k)
        self.instance_home = ''
        self.db = None

    def do_fixroles(self, args):
        '''Usage: fixroles
        Set the roles property for all users to reasonable defaults.

        The admin user gets "Admin", the anonymous user gets "Anonymous"
        and all other users get "User".
        '''
        # get the user class
        cl = self.get_class('user')
        for userid in cl.list():
            username = cl.get(userid, 'username')
            if username == 'admin':
                roles = 'Admin'
            elif username == 'anonymous':
                roles = 'Anonymous'
            else:
                roles = 'User'
            cl.set(userid, roles=roles)
        return 0

if __name__ == '__main__':
    tool = AdminTool()
    sys.exit(tool.main())

Roundup Issue Tracker: http://roundup-tracker.org/