Skip to content
This repository has been archived by the owner on Dec 16, 2020. It is now read-only.

Commit

Permalink
move permissions() directive to grokcore.security where it belongs
Browse files Browse the repository at this point in the history
  • Loading branch information
janwijbrand committed Apr 30, 2012
1 parent 1febccb commit 59337df
Show file tree
Hide file tree
Showing 7 changed files with 7 additions and 46 deletions.
3 changes: 1 addition & 2 deletions CHANGES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ Changes
1.2 (unreleased)
================

- Nothing changed yet.

- Move permissions directive to grokcore.security where it belongs.

1.1 (2011-01-20)
================
Expand Down
3 changes: 2 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,11 @@ def read(*rnames):
zip_safe=False,
install_requires=[
'setuptools',
'martian',
'grokcore.component',
'grokcore.security',
'zope.securitypolicy',
'martian',

'zope.component',
'zope.interface',
'zope.publisher',
Expand Down
1 change: 0 additions & 1 deletion src/grokcore/permission/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,3 @@
##############################################################################

from grokcore.permission.components import Role
from grokcore.permission.directive import permissions
38 changes: 0 additions & 38 deletions src/grokcore/permission/directive.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,41 +20,3 @@
from martian.error import GrokImportError
from grokcore.security import Permission


class permissions(martian.Directive):
"""The `grokcore.permission.permissions()` directive.
This directive is used inside of a `grok.Role` subclass to list the
permissions which each member of the role should always possess.
Note that permissions should be passed as strings, and that several
permissions they can simply be supplied as multiple arguments; there
is no need to place them inside of a tuple or list::
class MyRole(grokcore.permission.Role):
grokcore.permission.permissions('page.CreatePage', 'page.EditPage')
...
"""
scope = martian.CLASS
store = martian.ONCE
default = []

def validate(self, *values):
for value in values:
if martian.util.check_subclass(value, Permission):
continue
if martian.util.not_unicode_or_ascii(value):
raise GrokImportError(
"You can only pass unicode values, ASCII values, or "
"subclasses of grokcore.security.Permission to the '%s'"
" directive."
% self.name)

def factory(self, *values):
permission_ids = []
for value in values:
if martian.util.check_subclass(value, Permission):
permission_ids.append(grokcore.component.name.bind().get(value))
else:
permission_ids.append(value)
return permission_ids
2 changes: 1 addition & 1 deletion src/grokcore/permission/ftests/permission/roles.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ class ApprovePermission(grokcore.security.Permission):
class PaintingOwner(grokcore.permission.Role):
grok.name('paint.PaintingOwner')
grok.title('Painting Owner')
grokcore.permission.permissions(
grokcore.security.permissions(
'paint.ViewPainting', 'paint.EditPainting', 'paint.ErasePainting')

class CavePainting(grokcore.view.View):
Expand Down
2 changes: 1 addition & 1 deletion src/grokcore/permission/meta.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
from grokcore.security.meta import PermissionGrokker
from zope.securitypolicy.rolepermission import rolePermissionManager
from grokcore.permission.components import Role
from grokcore.permission.directive import permissions
from grokcore.security.directive import permissions
from zope.securitypolicy.interfaces import IRole


Expand Down
4 changes: 2 additions & 2 deletions src/grokcore/permission/tests/permission/permissions.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@

import grokcore.component as grok
import grokcore.permission.testing
from grokcore.permission import permissions, Role
from grokcore.security import Permission
from grokcore.permission import Role
from grokcore.security import Permission, permissions
import zope.interface

class FirstPermission(Permission):
Expand Down

0 comments on commit 59337df

Please sign in to comment.