[Erp5-report] r33807 jerome - in /erp5/trunk/products/ERP5Type: ./ patches/

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Mar 17 16:16:23 CET 2010


Author: jerome
Date: Wed Mar 17 16:16:22 2010
New Revision: 33807

URL: http://svn.erp5.org?rev=33807&view=rev
Log:
Backport fix from https://bugs.launchpad.net/zope2/+bug/143768 for Zope2.8
This is a proper fix for testSimpleRelationFieldWheelButtonQuotedFields

Added:
    erp5/trunk/products/ERP5Type/patches/make_hidden_input.py
Modified:
    erp5/trunk/products/ERP5Type/ZopePatch.py

Modified: erp5/trunk/products/ERP5Type/ZopePatch.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/ZopePatch.py?rev=33807&r1=33806&r2=33807&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/ZopePatch.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/ZopePatch.py [utf8] Wed Mar 17 16:16:22 2010
@@ -58,6 +58,7 @@
 from Products.ERP5Type.patches import StateChangeInfoPatch
 from Products.ERP5Type.patches import transforms
 from Products.ERP5Type.patches import OFSPdata
+from Products.ERP5Type.patches import make_hidden_input
 # BACK: Forward Compatibility with Zope 2.12 or CMF 2.2. Remove when we've
 # dropped support for older versions.
 from Products.ERP5Type.patches import TransactionAddBeforeCommitHook

Added: erp5/trunk/products/ERP5Type/patches/make_hidden_input.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/patches/make_hidden_input.py?rev=33807&view=auto
==============================================================================
--- erp5/trunk/products/ERP5Type/patches/make_hidden_input.py (added)
+++ erp5/trunk/products/ERP5Type/patches/make_hidden_input.py [utf8] Wed Mar 17 16:16:22 2010
@@ -1,0 +1,52 @@
+##############################################################################
+#
+# Copyright (c) 2002 Zope Corporation and Contributors. All Rights Reserved.
+
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.0 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE
+#
+##############################################################################
+
+"""
+Backport fix from https://bugs.launchpad.net/zope2/+bug/143768 for Zope2.8
+"""
+
+from App import version_txt
+if version_txt.getZopeVersion() < (2, 9):
+  import ZTUtils.Zope
+  from ZTUtils.Zope import complex_marshal
+
+  def make_hidden_input(*args, **kwargs):
+      '''Construct a set of hidden input elements, with marshalling markup.
+
+      If there are positional arguments, they must be dictionaries.
+      They are combined with the dictionary of keyword arguments to form
+      a dictionary of query names and values.
+
+      Query names (the keys) must be strings.  Values may be strings,
+      integers, floats, or DateTimes, and they may also be lists or
+      namespaces containing these types.  All arguments are marshalled with
+      complex_marshal().
+      '''
+
+      d = {}
+      for arg in args:
+          d.update(arg)
+      d.update(kwargs)
+
+      hq = lambda x:cgi.escape(x, quote=True)
+      qlist = complex_marshal(d.items())
+      for i in range(len(qlist)):
+          k, m, v = qlist[i]
+          qlist[i] = ('<input type="hidden" name="%s%s" value="%s">'
+                      % (hq(k), m, hq(str(v))))
+
+      return '\n'.join(qlist)
+
+  ZTUtils.Zope.make_hidden_input = make_hidden_input
+  print 'patching'




More information about the Erp5-report mailing list