[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