[Checkins] SVN: z3c.formjs/trunk/ Avoid ForbiddenAttribute in MessageValidator

Dan Korostelev nadako at gmail.com
Tue Dec 16 05:35:16 EST 2008


Log message for revision 94113:
  Avoid ForbiddenAttribute in MessageValidator

Changed:
  U   z3c.formjs/trunk/CHANGES.txt
  U   z3c.formjs/trunk/src/z3c/formjs/jsvalidator.py

-=-
Modified: z3c.formjs/trunk/CHANGES.txt
===================================================================
--- z3c.formjs/trunk/CHANGES.txt	2008-12-16 10:06:23 UTC (rev 94112)
+++ z3c.formjs/trunk/CHANGES.txt	2008-12-16 10:35:16 UTC (rev 94113)
@@ -4,7 +4,7 @@
 
 Version 0.4.2 (unreleased)
 
-- ...
+- Bug: Avoid ForbiddenAttribute in jsvalidator.MessageValidator.
 
 Version 0.4.1 (2008-12-16)
 --------------------------

Modified: z3c.formjs/trunk/src/z3c/formjs/jsvalidator.py
===================================================================
--- z3c.formjs/trunk/src/z3c/formjs/jsvalidator.py	2008-12-16 10:06:23 UTC (rev 94112)
+++ z3c.formjs/trunk/src/z3c/formjs/jsvalidator.py	2008-12-16 10:35:16 UTC (rev 94113)
@@ -19,6 +19,7 @@
 import zope.interface
 import zope.component
 from zope.publisher.interfaces import NotFound
+from zope.security.proxy import removeSecurityProxy
 
 from z3c.form.interfaces import IWidget, IField
 
@@ -57,5 +58,7 @@
     def validate(self):
         data, errors = self._validate()
         if errors:
-            return errors[0].message
+            # ``message`` attribute is not a part of interface
+            # so to avoid ForbiddenAttribute errors, remove the proxy
+            return removeSecurityProxy(errors[0]).message
         return u'' # all OK



More information about the Checkins mailing list