[Checkins] SVN: z3c.form/trunk/ Fix bug: When an error occurred
during processing of the request the
Michael Kerrin
michael.kerrin at openapp.ie
Thu Sep 20 15:22:54 EDT 2007
Log message for revision 79768:
Fix bug: When an error occurred during processing of the request the
widget ended up been security proxies and the system started
throwing `TraversalError's trying to access the `label' attribute of
the widget. Declared that the widgets require the `zope.Public'
permission in order to access these attributes.
Changed:
U z3c.form/trunk/CHANGES.txt
U z3c.form/trunk/src/z3c/form/browser/checkbox.zcml
U z3c.form/trunk/src/z3c/form/browser/file.zcml
U z3c.form/trunk/src/z3c/form/browser/orderedselect.zcml
U z3c.form/trunk/src/z3c/form/browser/password.zcml
U z3c.form/trunk/src/z3c/form/browser/radio.zcml
U z3c.form/trunk/src/z3c/form/browser/select.zcml
U z3c.form/trunk/src/z3c/form/browser/text.zcml
U z3c.form/trunk/src/z3c/form/browser/textarea.zcml
U z3c.form/trunk/src/z3c/form/interfaces.py
-=-
Modified: z3c.form/trunk/CHANGES.txt
===================================================================
--- z3c.form/trunk/CHANGES.txt 2007-09-20 17:56:28 UTC (rev 79767)
+++ z3c.form/trunk/CHANGES.txt 2007-09-20 19:22:53 UTC (rev 79768)
@@ -5,6 +5,12 @@
Version 1.7.0 (9/??/2007)
-------------------------
+- Bug: When an error occurred during processing of the request the
+ widget ended up been security proxies and the system started
+ throwing `TraversalError's trying to access the `label' attribute of
+ the widget. Declared that the widgets require the `zope.Public'
+ permission in order to access these attributes.
+
- Bug: The `canAccess' and `canWrite' methods on the AttributeField
datamanager didn't check for the case when the field's interface was
not directly provided for by the context.
Modified: z3c.form/trunk/src/z3c/form/browser/checkbox.zcml
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/checkbox.zcml 2007-09-20 17:56:28 UTC (rev 79767)
+++ z3c.form/trunk/src/z3c/form/browser/checkbox.zcml 2007-09-20 19:22:53 UTC (rev 79768)
@@ -14,6 +14,13 @@
if order doesn't matter, you should use a Set of Choice and you will
get a multi select widget. -->
+ <class class=".checkbox.CheckBoxWidget">
+ <require
+ permission="zope.Public"
+ interface="z3c.form.interfaces.ICheckBoxWidget"
+ />
+ </class>
+
<z3c:widgetTemplate
mode="display"
widget="z3c.form.interfaces.ICheckBoxWidget"
Modified: z3c.form/trunk/src/z3c/form/browser/file.zcml
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/file.zcml 2007-09-20 17:56:28 UTC (rev 79767)
+++ z3c.form/trunk/src/z3c/form/browser/file.zcml 2007-09-20 19:22:53 UTC (rev 79768)
@@ -3,6 +3,13 @@
xmlns:z3c="http://namespaces.zope.org/z3c"
i18n_domain="z3c.form">
+ <class class=".file.FileWidget">
+ <require
+ permission="zope.Public"
+ interface="z3c.form.interfaces.IFileWidget"
+ />
+ </class>
+
<adapter
factory=".file.FileFieldWidget"
for="zope.schema.interfaces.IBytes
Modified: z3c.form/trunk/src/z3c/form/browser/orderedselect.zcml
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/orderedselect.zcml 2007-09-20 17:56:28 UTC (rev 79767)
+++ z3c.form/trunk/src/z3c/form/browser/orderedselect.zcml 2007-09-20 19:22:53 UTC (rev 79768)
@@ -3,6 +3,13 @@
xmlns:z3c="http://namespaces.zope.org/z3c"
i18n_domain="z3c.form">
+ <class class=".orderedselect.OrderedSelectWidget">
+ <require
+ permission="zope.Public"
+ interface="z3c.form.interfaces.IOrderedSelectWidget"
+ />
+ </class>
+
<adapter
factory=".orderedselect.SequenceSelectFieldWidget"
/>
Modified: z3c.form/trunk/src/z3c/form/browser/password.zcml
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/password.zcml 2007-09-20 17:56:28 UTC (rev 79767)
+++ z3c.form/trunk/src/z3c/form/browser/password.zcml 2007-09-20 19:22:53 UTC (rev 79768)
@@ -3,6 +3,13 @@
xmlns:z3c="http://namespaces.zope.org/z3c"
i18n_domain="z3c.form">
+ <class class=".password.PasswordWidget">
+ <require
+ permission="zope.Public"
+ interface="z3c.form.interfaces.IPasswordWidget"
+ />
+ </class>
+
<adapter
factory=".password.PasswordFieldWidget"
for="zope.schema.interfaces.IPassword
Modified: z3c.form/trunk/src/z3c/form/browser/radio.zcml
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/radio.zcml 2007-09-20 17:56:28 UTC (rev 79767)
+++ z3c.form/trunk/src/z3c/form/browser/radio.zcml 2007-09-20 19:22:53 UTC (rev 79768)
@@ -3,6 +3,13 @@
xmlns:z3c="http://namespaces.zope.org/z3c"
i18n_domain="z3c.form">
+ <class class=".radio.RadioWidget">
+ <require
+ permission="zope.Public"
+ interface="z3c.form.interfaces.IRadioWidget"
+ />
+ </class>
+
<adapter
factory=".radio.RadioFieldWidget"
for="zope.schema.interfaces.IBool
Modified: z3c.form/trunk/src/z3c/form/browser/select.zcml
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/select.zcml 2007-09-20 17:56:28 UTC (rev 79767)
+++ z3c.form/trunk/src/z3c/form/browser/select.zcml 2007-09-20 19:22:53 UTC (rev 79768)
@@ -3,6 +3,13 @@
xmlns:z3c="http://namespaces.zope.org/z3c"
i18n_domain="z3c.form">
+ <class class=".select.SelectWidget">
+ <require
+ permission="zope.Public"
+ interface="z3c.form.interfaces.ISelectWidget"
+ />
+ </class>
+
<adapter
factory=".select.SelectFieldWidget"
/>
Modified: z3c.form/trunk/src/z3c/form/browser/text.zcml
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/text.zcml 2007-09-20 17:56:28 UTC (rev 79767)
+++ z3c.form/trunk/src/z3c/form/browser/text.zcml 2007-09-20 19:22:53 UTC (rev 79768)
@@ -3,6 +3,13 @@
xmlns:z3c="http://namespaces.zope.org/z3c"
i18n_domain="z3c.form">
+ <class class=".text.TextWidget">
+ <require
+ permission="zope.Public"
+ interface="z3c.form.interfaces.ITextWidget"
+ />
+ </class>
+
<adapter
factory=".text.TextFieldWidget"
for="zope.schema.interfaces.IBytesLine
Modified: z3c.form/trunk/src/z3c/form/browser/textarea.zcml
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/textarea.zcml 2007-09-20 17:56:28 UTC (rev 79767)
+++ z3c.form/trunk/src/z3c/form/browser/textarea.zcml 2007-09-20 19:22:53 UTC (rev 79768)
@@ -3,6 +3,13 @@
xmlns:z3c="http://namespaces.zope.org/z3c"
i18n_domain="z3c.form">
+ <class class=".textarea.TextAreaWidget">
+ <require
+ permission="zope.Public"
+ interface="z3c.form.interfaces.ITextAreaWidget"
+ />
+ </class>
+
<adapter
factory=".textarea.TextAreaFieldWidget"
for="zope.schema.interfaces.IASCII
Modified: z3c.form/trunk/src/z3c/form/interfaces.py
===================================================================
--- z3c.form/trunk/src/z3c/form/interfaces.py 2007-09-20 17:56:28 UTC (rev 79767)
+++ z3c.form/trunk/src/z3c/form/interfaces.py 2007-09-20 19:22:53 UTC (rev 79768)
@@ -138,6 +138,11 @@
class IErrorViewSnippet(zope.interface.Interface):
"""A view providing a view for an error"""
+ widget = zope.schema.Field(
+ title = _("Widget"),
+ description = _("The widget that the view is on"),
+ required = True)
+
error = zope.schema.Field(
title=_('Error'),
description=_('Error the view is for.'),
More information about the Checkins
mailing list