[Checkins] SVN: z3c.formwidget.query/trunk/s Avoid hard dependency on AccessControl
Hano Schlichting
cvs-admin at zope.org
Thu May 24 18:15:32 UTC 2012
Log message for revision 126492:
Avoid hard dependency on AccessControl
Changed:
U z3c.formwidget.query/trunk/setup.py
U z3c.formwidget.query/trunk/src/z3c/formwidget/query/README.txt
U z3c.formwidget.query/trunk/src/z3c/formwidget/query/widget.py
-=-
Modified: z3c.formwidget.query/trunk/setup.py
===================================================================
--- z3c.formwidget.query/trunk/setup.py 2012-05-24 17:56:17 UTC (rev 126491)
+++ z3c.formwidget.query/trunk/setup.py 2012-05-24 18:15:28 UTC (rev 126492)
@@ -21,6 +21,7 @@
namespace_packages=['z3c', 'z3c.formwidget'],
extras_require = dict(test=['zope.app.testing',
'zope.testing',
+ 'z3c.form [test]'
]),
install_requires = ['setuptools',
'z3c.form',
Modified: z3c.formwidget.query/trunk/src/z3c/formwidget/query/README.txt
===================================================================
--- z3c.formwidget.query/trunk/src/z3c/formwidget/query/README.txt 2012-05-24 17:56:17 UTC (rev 126491)
+++ z3c.formwidget.query/trunk/src/z3c/formwidget/query/README.txt 2012-05-24 18:15:28 UTC (rev 126492)
@@ -341,12 +341,17 @@
... return object.permission == permission
>>> thread_local.interaction = SimpleSecurityPolicy()
-
+
Let's define a permission aware object
- >>> from AccessControl.interfaces import IRoleManager
+ >>> HAS_AC = True
+ >>> try:
+ ... from AccessControl.interfaces import IRoleManager
+ ... except ImportError:
+ ... HAS_AC = False
>>> class Document(object):
- ... interface.implements(IRoleManager)
+ ... if HAS_AC:
+ ... interface.implements(IRoleManager)
...
... name = None
... permission = None
@@ -404,7 +409,10 @@
>>> request = TestRequest()
>>> widget = setupWidget(document, person, request)
- >>> u'Secret' not in widget()
+ >>> if HAS_AC:
+ ... u'Secret' not in widget()
+ ... else:
+ ... print True
True
And now, let's try with the public one
@@ -418,7 +426,7 @@
>>> u'Public' in widget()
True
-
+
Todo
----
Modified: z3c.formwidget.query/trunk/src/z3c/formwidget/query/widget.py
===================================================================
--- z3c.formwidget.query/trunk/src/z3c/formwidget/query/widget.py 2012-05-24 17:56:17 UTC (rev 126491)
+++ z3c.formwidget.query/trunk/src/z3c/formwidget/query/widget.py 2012-05-24 18:15:28 UTC (rev 126492)
@@ -7,7 +7,6 @@
from zope.schema.vocabulary import SimpleVocabulary
from zope.schema.interfaces import ISource, IContextSourceBinder
-from AccessControl.interfaces import IRoleManager
import z3c.form.interfaces
import z3c.form.button
@@ -20,6 +19,13 @@
from z3c.formwidget.query import MessageFactory as _
+HAS_AC = True
+try:
+ from AccessControl.interfaces import IRoleManager
+except ImportError:
+ HAS_AC = False
+
+
class SourceTerms(z3c.form.term.Terms):
def __init__(self, context, request, form, field, widget, source):
@@ -139,7 +145,7 @@
for value in selection:
if not value:
continue
- if IRoleManager.providedBy(value):
+ if HAS_AC and IRoleManager.providedBy(value):
if not checkPermission('zope2.View', value):
continue
try:
More information about the checkins
mailing list