[Checkins] SVN: grok/branches/jw-define-roles-directive/src/grok/
Sometimes you want to define the role without granting it
permissions
Jan-Wijbrand Kolman
janwijbrand at gmail.com
Wed Aug 1 08:55:11 EDT 2007
Log message for revision 78525:
Sometimes you want to define the role without granting it permissions
right away.
Changed:
U grok/branches/jw-define-roles-directive/src/grok/directive.py
U grok/branches/jw-define-roles-directive/src/grok/meta.py
U grok/branches/jw-define-roles-directive/src/grok/tests/security/wrong_permissions_argument.py
-=-
Modified: grok/branches/jw-define-roles-directive/src/grok/directive.py
===================================================================
--- grok/branches/jw-define-roles-directive/src/grok/directive.py 2007-08-01 12:27:40 UTC (rev 78524)
+++ grok/branches/jw-define-roles-directive/src/grok/directive.py 2007-08-01 12:55:10 UTC (rev 78525)
@@ -80,10 +80,13 @@
class DefineRoleDirective(MultipleTimesDirective):
def check_arguments(self, id, permissions):
- if not isinstance(permissions, (types.ListType, types.TupleType)):
- raise GrokImportError(
- "You need to pass a list or tuple of permission ids to the "
- "permissions argument of %s." % self.name)
+ if permissions is None:
+ return
+ if isinstance(permissions, types.TupleType):
+ return
+ raise GrokImportError(
+ "You need to pass either None, or a tuple of permission ids to "
+ "the permissions argument of %s." % self.name)
def value_factory(self, id, permissions):
return (id, permissions)
Modified: grok/branches/jw-define-roles-directive/src/grok/meta.py
===================================================================
--- grok/branches/jw-define-roles-directive/src/grok/meta.py 2007-08-01 12:27:40 UTC (rev 78524)
+++ grok/branches/jw-define-roles-directive/src/grok/meta.py 2007-08-01 12:55:10 UTC (rev 78525)
@@ -521,6 +521,8 @@
for role_id, permissions in role_infos:
component.provideUtility(
Role(role_id, title=role_id), name=role_id)
+ if permissions is None:
+ continue
for permission in permissions:
rolePermissionManager.grantPermissionToRole(permission, role_id)
return True
Modified: grok/branches/jw-define-roles-directive/src/grok/tests/security/wrong_permissions_argument.py
===================================================================
--- grok/branches/jw-define-roles-directive/src/grok/tests/security/wrong_permissions_argument.py 2007-08-01 12:27:40 UTC (rev 78524)
+++ grok/branches/jw-define-roles-directive/src/grok/tests/security/wrong_permissions_argument.py 2007-08-01 12:55:10 UTC (rev 78525)
@@ -3,10 +3,8 @@
>>> grok.grok('grok.tests.security.wrong_permissions_argument_fixture')
Traceback (most recent call last):
- GrokImportError: You need to pass a list or tuple of permission ids to
- the permissions argument of grok.define_role.
-
-
+ GrokImportError: You need to pass either None, or a tuple of permission ids
+ to the permissions argument of grok.define_role.
"""
import grok
More information about the Checkins
mailing list