[Checkins] SVN: zope.app.security/trunk/ Local persistent permissions were moved to zope.localpermission. Leave BBB imports here.
Dan Korostelev
nadako at gmail.com
Wed Mar 11 12:22:42 EDT 2009
Log message for revision 97847:
Local persistent permissions were moved to zope.localpermission. Leave BBB imports here.
Changed:
U zope.app.security/trunk/CHANGES.txt
U zope.app.security/trunk/buildout.cfg
U zope.app.security/trunk/setup.py
U zope.app.security/trunk/src/zope/app/security/browser/configure.zcml
A zope.app.security/trunk/src/zope/app/security/browser/localpermission.zcml
U zope.app.security/trunk/src/zope/app/security/configure.zcml
U zope.app.security/trunk/src/zope/app/security/permission.py
U zope.app.security/trunk/src/zope/app/security/tests/test_permission.py
-=-
Modified: zope.app.security/trunk/CHANGES.txt
===================================================================
--- zope.app.security/trunk/CHANGES.txt 2009-03-11 16:20:59 UTC (rev 97846)
+++ zope.app.security/trunk/CHANGES.txt 2009-03-11 16:22:42 UTC (rev 97847)
@@ -2,11 +2,18 @@
CHANGES
=======
-3.6.3 (unreleased)
+3.7.0 (unreleased)
------------------
-- ...
+- The ``LocalPermission`` class is now moved to new ``zope.localpermission``
+ package. This package now only has backward-compatibility imports and browser
+ views and menu items for ZMI.
+- The browser views and menu item for ``LocalPermission`` was moved into a
+ separate `browser/localpermission.zcml` file that is included by
+ `browser/configure.zcml`. This adds a possibility to exclude ZMI-related
+ configuration for local permissions.
+
3.6.2 (2009-03-10)
------------------
Modified: zope.app.security/trunk/buildout.cfg
===================================================================
--- zope.app.security/trunk/buildout.cfg 2009-03-11 16:20:59 UTC (rev 97846)
+++ zope.app.security/trunk/buildout.cfg 2009-03-11 16:22:42 UTC (rev 97847)
@@ -1,5 +1,5 @@
[buildout]
-develop = .
+develop = . ../zope.localpermission
parts = test
[test]
Modified: zope.app.security/trunk/setup.py
===================================================================
--- zope.app.security/trunk/setup.py 2009-03-11 16:20:59 UTC (rev 97846)
+++ zope.app.security/trunk/setup.py 2009-03-11 16:22:42 UTC (rev 97847)
@@ -22,7 +22,7 @@
return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
setup(name='zope.app.security',
- version = '3.6.3dev',
+ version = '3.7.0dev',
author='Zope Corporation and Contributors',
author_email='zope-dev at zope.org',
description='Security Components for Zope 3 Applications',
@@ -75,7 +75,7 @@
'zope.i18n',
'zope.i18nmessageid',
'zope.interface',
- 'zope.location',
+ 'zope.localpermission',
'zope.password',
'zope.publisher',
'zope.schema',
Modified: zope.app.security/trunk/src/zope/app/security/browser/configure.zcml
===================================================================
--- zope.app.security/trunk/src/zope/app/security/browser/configure.zcml 2009-03-11 16:20:59 UTC (rev 97846)
+++ zope.app.security/trunk/src/zope/app/security/browser/configure.zcml 2009-03-11 16:22:42 UTC (rev 97847)
@@ -51,28 +51,6 @@
permission="zope.Public"
/>
- <browser:addform
- name="AddPermission.html"
- schema="zope.security.interfaces.IPermission"
- label="Add Permission"
- content_factory="..permission.LocalPermission"
- fields="title description"
- permission="zope.Security"
- />
+ <include file="localpermission.zcml" />
- <browser:addMenuItem
- title="Permission"
- description="A Security Permission"
- class="..permission.LocalPermission"
- permission="zope.ManageServices"
- view="AddPermission.html"
- />
-
- <browser:editform
- schema="zope.security.interfaces.IPermission"
- label="Edit Permission"
- name="edit.html"
- permission="zope.ManageServices"
- menu="zmi_views" title="Edit" />
-
</configure>
Added: zope.app.security/trunk/src/zope/app/security/browser/localpermission.zcml
===================================================================
--- zope.app.security/trunk/src/zope/app/security/browser/localpermission.zcml (rev 0)
+++ zope.app.security/trunk/src/zope/app/security/browser/localpermission.zcml 2009-03-11 16:22:42 UTC (rev 97847)
@@ -0,0 +1,29 @@
+<configure
+ xmlns="http://namespaces.zope.org/zope"
+ xmlns:browser="http://namespaces.zope.org/browser">
+
+ <browser:addform
+ name="AddPermission.html"
+ schema="zope.security.interfaces.IPermission"
+ label="Add Permission"
+ content_factory="..permission.LocalPermission"
+ fields="title description"
+ permission="zope.Security"
+ />
+
+ <browser:addMenuItem
+ title="Permission"
+ description="A Security Permission"
+ class="..permission.LocalPermission"
+ permission="zope.ManageServices"
+ view="AddPermission.html"
+ />
+
+ <browser:editform
+ schema="zope.security.interfaces.IPermission"
+ label="Edit Permission"
+ name="edit.html"
+ permission="zope.ManageServices"
+ menu="zmi_views" title="Edit" />
+
+</configure>
Property changes on: zope.app.security/trunk/src/zope/app/security/browser/localpermission.zcml
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: zope.app.security/trunk/src/zope/app/security/configure.zcml
===================================================================
--- zope.app.security/trunk/src/zope/app/security/configure.zcml 2009-03-11 16:20:59 UTC (rev 97846)
+++ zope.app.security/trunk/src/zope/app/security/configure.zcml 2009-03-11 16:22:42 UTC (rev 97847)
@@ -28,34 +28,8 @@
component=".principalregistry.principalRegistry"
/>
- <class class=".permission.LocalPermission">
- <factory
- id="zope.app.security.Permission"
- />
- <implements
- interface="zope.annotation.interfaces.IAttributeAnnotatable"
- />
- <allow
- interface="zope.security.interfaces.IPermission"
- />
- <require
- permission="zope.Security"
- set_schema="zope.security.interfaces.IPermission"
- />
- </class>
+ <include package="zope.localpermission" />
- <subscriber
- for="zope.security.interfaces.IPermission
- zope.component.interfaces.IRegistered"
- handler=".permission.setIdOnActivation"
- />
-
- <subscriber
- for="zope.security.interfaces.IPermission
- zope.component.interfaces.IUnregistered"
- handler=".permission.unsetIdOnDeactivation"
- />
-
<class class="zope.security.permission.Permission">
<allow
interface="zope.security.interfaces.IPermission"
Modified: zope.app.security/trunk/src/zope/app/security/permission.py
===================================================================
--- zope.app.security/trunk/src/zope/app/security/permission.py 2009-03-11 16:20:59 UTC (rev 97846)
+++ zope.app.security/trunk/src/zope/app/security/permission.py 2009-03-11 16:22:42 UTC (rev 97847)
@@ -1,6 +1,6 @@
##############################################################################
#
-# Copyright (c) 2002 Zope Corporation and Contributors.
+# Copyright (c) 2009 Zope Corporation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
@@ -11,82 +11,16 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-"""Permissions
+"""Backward compatibility imports for zope.localpermission.
$Id$
"""
__docformat__ = 'restructuredtext'
-from persistent import Persistent
-from zope.interface import implements
-from zope.location import Location
-from zope.security.interfaces import IPermission
-from zope.app.security.i18n import _
-
-NULL_ID = _('<permission not activated>')
-
-
-class LocalPermission(Persistent, Location):
- implements(IPermission)
-
- def __init__(self, title="", description=""):
- self.id = NULL_ID
- self.title = title
- self.description = description
-
-
-def setIdOnActivation(permission, event):
- """Set the permission id upon registration activation.
-
- Let's see how this notifier can be used. First we need to create an event
- using the permission instance and a registration stub:
-
- >>> class Registration:
- ... def __init__(self, obj, name):
- ... self.component = obj
- ... self.name = name
-
- >>> perm1 = LocalPermission('Permission 1', 'A first permission')
- >>> perm1.id
- u'<permission not activated>'
-
- >>> import zope.component.interfaces
- >>> event = zope.component.interfaces.Registered(
- ... Registration(perm1, 'perm1'))
-
- Now we pass the event into this function, and the id of the permission
- should be set to 'perm1'.
-
- >>> setIdOnActivation(perm1, event)
- >>> perm1.id
- 'perm1'
- """
- permission.id = event.object.name
-
-
-def unsetIdOnDeactivation(permission, event):
- """Unset the permission id up registration deactivation.
-
- Let's see how this notifier can be used. First we need to create an event
- using the permission instance and a registration stub:
-
- >>> class Registration:
- ... def __init__(self, obj, name):
- ... self.component = obj
- ... self.name = name
-
- >>> perm1 = LocalPermission('Permission 1', 'A first permission')
- >>> perm1.id = 'perm1'
-
- >>> import zope.component.interfaces
- >>> event = zope.component.interfaces.Unregistered(
- ... Registration(perm1, 'perm1'))
-
- Now we pass the event into this function, and the id of the permission
- should be set to NULL_ID.
-
- >>> unsetIdOnDeactivation(perm1, event)
- >>> perm1.id
- u'<permission not activated>'
- """
- permission.id = NULL_ID
+# BBB: the functionality was moved to zope.localpermission
+from zope.localpermission.permission import (
+ NULL_ID,
+ LocalPermission,
+ setIdOnActivation,
+ unsetIdOnDeactivation,
+ )
Modified: zope.app.security/trunk/src/zope/app/security/tests/test_permission.py
===================================================================
--- zope.app.security/trunk/src/zope/app/security/tests/test_permission.py 2009-03-11 16:20:59 UTC (rev 97846)
+++ zope.app.security/trunk/src/zope/app/security/tests/test_permission.py 2009-03-11 16:22:42 UTC (rev 97847)
@@ -16,14 +16,27 @@
$Id$
"""
import unittest
-from zope.testing.doctestunit import DocTestSuite
+import doctest
+def test_bbb_imports():
+ """
+ Let's test that backward-compatibility imports still work:
+
+ >>> from zope.app.security import permission as old
+ >>> from zope.localpermission import permission as new
+
+ >>> old.NULL_ID is new.NULL_ID
+ True
+ >>> old.LocalPermission is new.LocalPermission
+ True
+ >>> old.setIdOnActivation is new.setIdOnActivation
+ True
+ >>> old.unsetIdOnDeactivation is new.unsetIdOnDeactivation
+ True
+ """
+
def test_suite():
return unittest.TestSuite((
- DocTestSuite('zope.app.security.permission'),
+ doctest.DocTestSuite(),
))
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
-
More information about the Checkins
mailing list