Commit 89fe9e68 authored by Jérome Perrin's avatar Jérome Perrin

Backport fix from https://bugs.launchpad.net/zope2/+bug/143768 for Zope2.8

This is a proper fix for testSimpleRelationFieldWheelButtonQuotedFields


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@33807 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent ff38696d
......@@ -58,6 +58,7 @@ from Products.ERP5Type.patches import memcache_client
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
......
##############################################################################
#
# 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'
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment