[Erp5-report] r25323 - /erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Jan 28 11:30:27 CET 2009


Author: ivan
Date: Wed Jan 28 11:30:26 2009
New Revision: 25323

URL: http://svn.erp5.org?rev=25323&view=rev
Log:
Do not work directly with REQUEST.form rather use a copy of it.
Clean up API.

Modified:
    erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py

Modified: erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py?rev=25323&r1=25322&r2=25323&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5Wizard/Tool/WizardTool.py [utf8] Wed Jan 28 11:30:26 2009
@@ -385,12 +385,9 @@
 
   def callRemoteProxyMethod(self, distant_method, server_url=None, use_cache=1, **kw):
     """ Call proxy method on server. """
-    # set real method_id
-    form = self.REQUEST.form
     configurator_user_preferred_language = self.getConfiguratorUserPreferredLanguage()
     def wrapper(distant_method, **kw):
-      form['method_id'] = distant_method
-      return self._callRemoteMethod('proxyMethodHandler', **kw)['data']
+      return self._callRemoteMethod(distant_method, use_proxy=1, **kw)['data']
     if use_cache:
       wrapper = CachingMethod(wrapper,
                               id = 'callRemoteProxyMethod_%s_%s' 
@@ -399,16 +396,19 @@
     rc = wrapper(distant_method, **kw)
     return rc
 
-  def _callRemoteMethod(self, distant_method, server_url=None, wrap_result=1, **kw):
+  def _callRemoteMethod(self, distant_method, server_url=None, wrap_result=1, use_proxy=0, **kw):
     """ Call remote method on server and get result. """
     result_call = GeneratorCall()
     if server_url is None:
       # calculate it
       server_url = self.getServerUrl() + self.getServerRoot()
     witch_tool = self._getRemoteWitchTool(server_url)
-    parameter_dict = self.REQUEST.form
-    # add remote method arguments
-    parameter_dict['method_kw'] = kw
+    parameter_dict = self.REQUEST.form.copy()
+    if use_proxy:
+      # add remote method arguments
+      parameter_dict['method_id'] = distant_method
+      parameter_dict['method_kw'] = kw
+      distant_method = 'proxyMethodHandler'
     ## add client arguments
     self._updateParameterDictWithServerInfo(parameter_dict)
     ## handle file upload




More information about the Erp5-report mailing list