view tools/fixroles.py @ 5211:f4b6a2a3e605

Fix expiration dates and expire csrf tokens properly In client.py: add explicit expiration of csrf tokens to handle_csrf. There is a clean_up() that runs on every client connection before handle)csrf is invoked, but it only cleans every hour. With short lived tokens this is insufficient. Also remove debugging. In templating.py fix values for seconds/week and minutes per week. The original values were shifted/transposed and an order of magnitude off. In test_templating.py again fix seconds/week constant.
author John Rouillard <rouilj@ieee.org>
date Sun, 19 Mar 2017 17:10:13 -0400
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/