[Erp5-report] r19085 - /erp5/trunk/products/ERP5Form/Form.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Feb 5 21:39:49 CET 2008
Author: nicolas
Date: Tue Feb 5 21:39:48 2008
New Revision: 19085
URL: http://svn.erp5.org?rev=19085&view=rev
Log:
Get Values Recursively
Modified:
erp5/trunk/products/ERP5Form/Form.py
Modified: erp5/trunk/products/ERP5Form/Form.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/Form.py?rev=19085&r1=19084&r2=19085&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/Form.py (original)
+++ erp5/trunk/products/ERP5Form/Form.py Tue Feb 5 21:39:48 2008
@@ -917,11 +917,15 @@
def unProxifyField(self, field_dict=None, REQUEST=None):
"""
Convert proxy fields to fields
- Still Experimental, need to be tested
"""
- def copy(_dict):
+ def copy(field, value_type):
+ mapping_dict = {'values' : 'get_recursive_orig_value',
+ 'tales' : 'get_recursive_tales'}
new_dict = {}
- for key, value in _dict.items():
+ key_list = getattr(field.getRecursiveTemplateField(), value_type).keys()
+ for key in key_list:
+ method_id = mapping_dict[value_type]
+ value = getattr(field, method_id)(key)
if value=='':
continue
if isinstance(aq_base(value), (Method, TALESMethod)):
@@ -980,9 +984,9 @@
fieldname=delegated_field.meta_type)
field = getattr(self, field_id)
# copy data
- new_values = remove_same_value(copy(delegated_field.values),
+ new_values = remove_same_value(copy(old_proxy_field, 'values'),
field.values)
- new_tales = remove_same_value(copy(delegated_field.tales),
+ new_tales = remove_same_value(copy(old_proxy_field, 'tales'),
field.tales)
field.values.update(new_values)
More information about the Erp5-report
mailing list