X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=inline;f=roundup%2Fsecurity.py;h=58496f452a18d35648ecb9886c4dfbaa986cce83;hb=a843c3dcb4912b1c9554da696238c00c8670b8dc;hp=9ff5415113edccd1b44199e2a876700d9ce0e812;hpb=75969baf59d96aeff7175ba8268ec0d188706ae3;p=roundup.git diff --git a/roundup/security.py b/roundup/security.py index 9ff5415..58496f4 100644 --- a/roundup/security.py +++ b/roundup/security.py @@ -1,3 +1,7 @@ +"""Handle the security declarations used in Roundup trackers. +""" +__docformat__ = 'restructuredtext' + import weakref from roundup import hyperdb @@ -27,7 +31,7 @@ class Role: - permissions ''' def __init__(self, name='', description='', permissions=None): - self.name = name + self.name = name.lower() self.description = description if permissions is None: permissions = [] @@ -98,8 +102,8 @@ class Security: roles = self.db.user.get(userid, 'roles') if roles is None: return 0 - for rolename in roles.split(','): - if not rolename: + for rolename in [x.lower().strip() for x in roles.split(',')]: + if not rolename or not self.role.has_key(rolename): continue # for each of the user's Roles, check the permissions for perm in self.role[rolename].permissions: @@ -155,6 +159,7 @@ class Security: 'rolename' is the name of the role to add the permission to. ''' - role = self.role[rolename] + role = self.role[rolename.lower()] role.permissions.append(permission) +# vim: set filetype=python ts=4 sw=4 et si