Code

allow negative items, helping construct forms
[roundup.git] / roundup / security.py
index e9f196efd74a7146e6c927b43c06f8c692976c55..241715d80b356d64ac2ff4ddd17bcdc1213f6a4f 100644 (file)
@@ -27,7 +27,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 +98,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,7 +155,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