diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_callDialogMethod.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_callDialogMethod.xml index 6aa746ed9d00ce229e60a4bad85b6046f082e8e4..5c6da02ab6f21f97addf944354a5ab12b33d6816 100644 --- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_callDialogMethod.xml +++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_callDialogMethod.xml @@ -148,6 +148,7 @@ if dialog_method == \'Folder_delete\':\n \n \n form = getattr(context, dialog_id)\n +\n # form can be a python script that returns the form\n if not hasattr(form, \'validate_all_to_request\'):\n form = form()\n @@ -183,10 +184,18 @@ for field in form.get_fields():\n listbox_id_list.append(k)\n elif can_redirect and (v in (None, [], ()) or hasattr(v, \'read\')) : # If we cannot redirect, useless to test it again\n can_redirect = 0\n +\n # Cleanup my_ and your_ prefixes\n splitted = k.split(\'_\', 1)\n if len(splitted) == 2 and splitted[0] in (\'my\', \'your\'):\n - kw[splitted[1]] = request_form[splitted[1]] = v\n +\n + if hasattr(v, \'as_dict\'):\n + # This is an encapsulated editor\n + # convert it\n + kw.update(v.as_dict())\n + else:\n + kw[splitted[1]] = request_form[splitted[1]] = v\n +\n else:\n kw[k] = request_form[k] = v\n \n @@ -270,6 +279,7 @@ elif url_params_string != \'\':\n , dialog_method\n , url_params_string\n )\n +\n else:\n redirect_url = \'%s/%s\' % ( context.absolute_url()\n , dialog_method\n diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision index 5d1d1b123b85a650151ddcc8869d7c658cedc0e0..d7a801b1e025b77dc5494decd11cc783390f53cf 100644 --- a/product/ERP5/bootstrap/erp5_core/bt/revision +++ b/product/ERP5/bootstrap/erp5_core/bt/revision @@ -1 +1 @@ -755 \ No newline at end of file +757 \ No newline at end of file