Commit 1132ce50 authored by Yusei Tahara's avatar Yusei Tahara

To use field id and argument id were not enough to generate unique key.

So I added field's oid in addition.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@18747 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent c4056bd1
...@@ -123,7 +123,9 @@ class TALESValue(StaticValue): ...@@ -123,7 +123,9 @@ class TALESValue(StaticValue):
# Proxyfield stores the "real" field in the request. Look if the # Proxyfield stores the "real" field in the request. Look if the
# corresponding field exists in request, and use it as field in the # corresponding field exists in request, and use it as field in the
# TALES context # TALES context
field = REQUEST.get('field__proxyfield_%s_%s' % (field.id, id), field) field = REQUEST.get(
'field__proxyfield_%s_%s_%s' % (field.id, field._p_oid, id),
field)
kw['field'] = field kw['field'] = field
...@@ -259,7 +261,9 @@ def getFieldValue(self, field, id, **kw): ...@@ -259,7 +261,9 @@ def getFieldValue(self, field, id, **kw):
def get_value(self, id, **kw): def get_value(self, id, **kw):
REQUEST = get_request() REQUEST = get_request()
if REQUEST is not None: if REQUEST is not None:
field = REQUEST.get('field__proxyfield_%s_%s' % (self.id, id), self) field = REQUEST.get(
'field__proxyfield_%s_%s_%s' % (self.id, self._p_oid, id),
self)
else: else:
field = self field = self
......
...@@ -594,8 +594,12 @@ class ProxyField(ZMIField): ...@@ -594,8 +594,12 @@ class ProxyField(ZMIField):
field = self field = self
proxy_field = self.getTemplateField() proxy_field = self.getTemplateField()
if proxy_field is not None and REQUEST is not None: if proxy_field is not None and REQUEST is not None:
field = REQUEST.get('field__proxyfield_%s_%s' % (self.id, id), self) field = REQUEST.get(
REQUEST.set('field__proxyfield_%s_%s' % (proxy_field.id, id), field) 'field__proxyfield_%s_%s_%s' % (self.id, self._p_oid, id),
self)
REQUEST.set(
'field__proxyfield_%s_%s_%s' % (proxy_field.id, proxy_field._p_oid, id),
field)
# Don't use cache if field is not stored in zodb, or if target field is # Don't use cache if field is not stored in zodb, or if target field is
# defined by a TALES # defined by a TALES
......
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