[Erp5-report] r17670 - in /erp5/trunk/products/ERP5Form: ProxyField.py tests/testFields.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Nov 19 11:02:10 CET 2007
Author: jerome
Date: Mon Nov 19 11:02:09 2007
New Revision: 17670
URL: http://svn.erp5.org?rev=17670&view=rev
Log:
Add API on ProxyField to edit surcharged values, similar to manage_edit_xmlrpc
Modified:
erp5/trunk/products/ERP5Form/ProxyField.py
erp5/trunk/products/ERP5Form/tests/testFields.py
Modified: erp5/trunk/products/ERP5Form/ProxyField.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/ProxyField.py?rev=17670&r1=17669&r2=17670&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/ProxyField.py (original)
+++ erp5/trunk/products/ERP5Form/ProxyField.py Mon Nov 19 11:02:09 2007
@@ -218,6 +218,21 @@
message="Content changed."
return self.manage_main(self, REQUEST,
manage_tabs_message=message)
+
+ def manage_edit_surcharged_xmlrpc(self, mapping):
+ """Edit surcharged properties
+ This method is similar to manage_edit_xmlrpc, and it marks the properties
+ as not delegated.
+ """
+ self._surcharged_edit(mapping, mapping.keys())
+
+ def manage_tales_surcharged_xmlrpc(self, mapping):
+ """Edit surcharged TALES
+ This method is similar to manage_tales_xmlrpc, and it marks the TALES
+ properties as not delegated.
+ """
+ self._surcharged_tales(mapping, mapping.keys())
+
def _surcharged_edit(self, result, surcharge_list):
# first check for any changes
Modified: erp5/trunk/products/ERP5Form/tests/testFields.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/tests/testFields.py?rev=17670&r1=17669&r2=17670&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/tests/testFields.py (original)
+++ erp5/trunk/products/ERP5Form/tests/testFields.py Mon Nov 19 11:02:09 2007
@@ -270,6 +270,25 @@
# and validate
self.container.Base_view.validate_all_to_request(dict())
+ def test_manage_edit_surcharged_xmlrpc(self):
+ # manage_edit_surcharged_xmlrpc is a method to edit proxyfields
+ # programmatically
+ original_field = self.addField(self.container.Base_viewProxyFieldLibrary,
+ 'my_string', 'String', 'StringField')
+ proxy_field = self.addField(self.container.Base_view,
+ 'my_String', '', 'ProxyField')
+ proxy_field.manage_edit_xmlrpc(dict(form_id='Base_viewProxyFieldLibrary',
+ field_id='my_date',))
+
+ proxy_field.manage_edit_surcharged_xmlrpc(dict(title='Title'))
+ self.assertFalse(proxy_field.is_delegated('title'))
+ self.assertEquals('Title', proxy_field.get_value('title'))
+
+ # beware that all values that are not passed in the mapping will be
+ # delegated again, regardless of the old state.
+ proxy_field.manage_edit_surcharged_xmlrpc(dict())
+ self.assertTrue(proxy_field.is_delegated('title'))
+
class TestFieldValueCache(unittest.TestCase):
"""Tests field value caching system
More information about the Erp5-report
mailing list