diff --git a/product/ERP5Wizard/Tool/WizardTool.py b/product/ERP5Wizard/Tool/WizardTool.py index 0add5b1fbaceb6488d61c7b24cbab44975923038..77fee84f255b3503bbdb64edece2b52983467741 100644 --- a/product/ERP5Wizard/Tool/WizardTool.py +++ b/product/ERP5Wizard/Tool/WizardTool.py @@ -385,12 +385,9 @@ class WizardTool(BaseTool): 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 @@ class WizardTool(BaseTool): 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