From 498ce2ee99b82925f3fdcfadca212108c679ac22 Mon Sep 17 00:00:00 2001 From: Romain Courteaud <romain@nexedi.com> Date: Tue, 4 Aug 2009 16:02:07 +0000 Subject: [PATCH] Add a draft action on Business Template to check the proxy field and field library. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@28274 20353a03-c40f-0410-a6d1-a30d3c3de9de --- .../manage_field_library.xml | 77 +++ ...usinessTemplate_getModifiableFieldList.xml | 304 ++++++++++ .../BusinessTemplate_getProxyFieldUrl.xml | 143 +++++ .../BusinessTemplate_modifyFieldList.xml | 178 ++++++ ...plate_viewFieldLibraryManagementDialog.xml | 157 +++++ .../listbox.xml | 554 ++++++++++++++++++ .../listbox_choice.xml | 283 +++++++++ bt5/erp5_forge/bt/revision | 2 +- bt5/erp5_forge/bt/template_action_path_list | 1 + 9 files changed, 1698 insertions(+), 1 deletion(-) create mode 100644 bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/manage_field_library.xml create mode 100644 bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_getModifiableFieldList.xml create mode 100644 bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_getProxyFieldUrl.xml create mode 100644 bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_modifyFieldList.xml create mode 100644 bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog.xml create mode 100644 bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog/listbox.xml create mode 100644 bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog/listbox_choice.xml diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/manage_field_library.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/manage_field_library.xml new file mode 100644 index 0000000000..70530fb5d9 --- /dev/null +++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/manage_field_library.xml @@ -0,0 +1,77 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>action</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>category</string> </key> + <value> <string>object_action</string> </value> + </item> + <item> + <key> <string>condition</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>icon</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>manage_field_library</string> </value> + </item> + <item> + <key> <string>permissions</string> </key> + <value> + <tuple> + <string>Manage portal</string> + </tuple> + </value> + </item> + <item> + <key> <string>priority</string> </key> + <value> <float>50.0</float> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Manage Field Library</string> </value> + </item> + <item> + <key> <string>visible</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <global name="Expression" module="Products.CMFCore.Expression"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>string:${object_url}/BusinessTemplate_viewFieldLibraryManagementDialog</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_getModifiableFieldList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_getModifiableFieldList.xml new file mode 100644 index 0000000000..6034adfcfb --- /dev/null +++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_getModifiableFieldList.xml @@ -0,0 +1,304 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_body</string> </key> + <value> <string># vim:ft=python:\n +from Products.ERP5Type.Document import newTempBase\n +field_list = []\n +\n +action_title_item_list = [\n + [\'0_keep_non_proxy_field\', \'To be proxified\'],\n + [\'0_keep_dead_proxy_field\', \'Dead Proxy Field\'],\n + [\'0_check_delegated_value\', \'Check Delegated Values\'],\n + [\'1_create_form\', \'Create Form\'],\n + [\'2_unproxify_field\', \'Unproxify Field\'],\n + [\'4_delete_form\', \'Delete Old Field Library\'],\n + ]\n +action_title_dict = dict(action_title_item_list)\n +\n +field_library_id_dict = {\n + \'erp5_pdm\': \'Base_viewPDMFieldLibrary\',\n +}\n +\n +modified_object_dict = {}\n +\n +def calculateFieldLibraryID(skin_folder_id):\n + # For each skin folder, there could be at most one Field Library\n + # The field library name could be automatically calculated or hardcoded in\n + # the script\n + if field_library_id_dict.has_key(skin_folder_id):\n + field_library_id = field_library_id_dict[skin_folder_id]\n + else:\n + field_library_id = \'Base_view%sFieldLibrary\' % \\\n + \'\'.join([x.capitalize() for x in skin_folder_id.split(\'_\')[1:]])\n + return field_library_id\n +\n +def getForm(skin_folder, form_id):\n + try:\n + form = skin_folder[form_id]\n + except KeyError:\n + form = None\n + return form\n +\n +for skin_folder_id in context.getTemplateSkinIdList():\n + skin_folder = getattr(context.portal_skins, skin_folder_id)\n + field_library_id = calculateFieldLibraryID(skin_folder_id)\n + field_library = getForm(skin_folder, field_library_id)\n +\n + # Check if the Field Library exists\n + if field_library is None:\n + # Field library has to be created\n + modified_object_dict[\'%s/%s\' % (skin_folder_id, field_library_id)] = \\\n + \'1_create_form\'\n +\n + # Find old field library to delete\n + for object_id in skin_folder.objectIds():\n + if (object_id.endswith(\'FieldLibrary\') and \\\n + (object_id != field_library_id)):\n + obj = getForm(skin_folder, object_id)\n + if obj is None:\n + raise KeyError, \'%s/%s\' % (skin_folder_id, object_id)\n + elif obj.meta_type == \'ERP5 Form\':\n + modified_object_dict[\'%s/%s\' % (skin_folder_id, object_id)] = \\\n + \'4_delete_form\'\n + else:\n + # Not an ERP5 Form, so, do nothing\n + pass\n +\n + # Check all existing fields\n + for form in skin_folder.objectValues():\n + if form.meta_type in (\'ERP5 Form\', \'ERP5 Report\'):\n + form_id = form.getId()\n + form_path = \'%s/%s\' % (skin_folder_id, form_id)\n +\n + if modified_object_dict.has_key(form_path):\n + # The form is a Field Library\n + if modified_object_dict[form_path] == \'4_delete_form\':\n + # As the form will be deleted, no need to manage its fields\n + pass\n + else:\n + raise KeyError, \'Unexpected form handling %s for %s\' % \\\n + (modified_object_dict[form_path], form_path)\n + else:\n +\n + if form_id == field_library_id:\n + # Check that proxy field are proxified to erp5_base or erp5_core\n + for field in form.objectValues():\n + # XXX Should check if this field is used as a template\n + field_path = \'%s/%s/%s\' % (skin_folder_id, form_id, field.getId())\n + if field.meta_type == \'ProxyField\':\n + if field.getTemplateField() is None:\n + modified_object_dict[field_path] = \'0_keep_dead_proxy_field\'\n + else:\n + template_form_id = field.get_value(\'form_id\')\n + if template_form_id not in (\n + \'Base_viewDialogFieldLibrary\',\n + \'Base_viewFieldLibrary\',\n + \'Base_viewReportFieldLibrary\',\n + ):\n + modified_object_dict[field_path] = \'2_unproxify_field\'\n + else:\n + # Do not force proxification of field library field.\n + # The nice developper probably have a good reason not to do it.\n + modified_object_dict[field_path] = \'0_keep_non_proxy_field\'\n + else:\n + # Check that proxy field are proxified to field library\n + for field in form.objectValues():\n + field_path = \'%s/%s/%s\' % (skin_folder_id, form_id, field.getId())\n + if field.meta_type == \'ProxyField\':\n + if field.getTemplateField() is None:\n + modified_object_dict[field_path] = \'0_keep_dead_proxy_field\'\n + else:\n + template_form_id = field.get_value(\'form_id\')\n + # XXX Only considere standard bt5 for now\n + template_form_path = \'%s/%s\' % (skin_folder_id, template_form_id)\n + if template_form_id != field_library_id:\n + modified_object_dict[field_path] = \'2_unproxify_field\'\n + # XXX Should proxify to a library\'s field\n + else:\n + # Check that there is no delegated values\n + if field.delegated_list:\n + # Found some delegated list\n + modified_object_dict[field_path] = \'0_check_delegated_value\'\n + else:\n + pass\n + else:\n + # Do not force proxification of field.\n + # The nice developper probably have a good reason not to do it.\n + modified_object_dict[field_path] = \'0_keep_non_proxy_field\'\n +\n +i = 0\n +for key, value in modified_object_dict.items():\n + line = newTempBase(context, \'tmp_install_%s\' %(str(i)))\n + \n + if value.startswith(\'0_\'):\n + choice = []\n + else:\n + choice = [value]\n + line.edit(\n + object_id=key,\n + choice=choice,\n + choice_item_list=[[action_title_dict[value], value]],\n + )\n + line.setUid(\'new_%s\' % key)\n + field_list.append(line)\n + i += 1 \n +\n +field_list.sort(key=lambda x:(x.choice_item_list[0][1], x.object_id))\n +\n +\n +return field_list\n +</string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>**kw</string> </value> + </item> + <item> + <key> <string>errors</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>func_code</string> </key> + <value> + <object> + <klass> + <global name="FuncCode" module="Shared.DC.Scripts.Signature"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>co_argcount</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>co_varnames</string> </key> + <value> + <tuple> + <string>kw</string> + <string>Products.ERP5Type.Document</string> + <string>newTempBase</string> + <string>field_list</string> + <string>action_title_item_list</string> + <string>dict</string> + <string>action_title_dict</string> + <string>field_library_id_dict</string> + <string>modified_object_dict</string> + <string>calculateFieldLibraryID</string> + <string>getForm</string> + <string>_getiter_</string> + <string>_getattr_</string> + <string>context</string> + <string>skin_folder_id</string> + <string>getattr</string> + <string>skin_folder</string> + <string>field_library_id</string> + <string>field_library</string> + <string>None</string> + <string>_write_</string> + <string>object_id</string> + <string>obj</string> + <string>KeyError</string> + <string>form</string> + <string>form_id</string> + <string>form_path</string> + <string>_getitem_</string> + <string>field</string> + <string>field_path</string> + <string>template_form_id</string> + <string>template_form_path</string> + <string>i</string> + <string>key</string> + <string>value</string> + <string>str</string> + <string>line</string> + <string>choice</string> + <string>_inplacevar_</string> + </tuple> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>func_defaults</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>BusinessTemplate_getModifiableFieldList</string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_getProxyFieldUrl.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_getProxyFieldUrl.xml new file mode 100644 index 0000000000..ec5bec9be4 --- /dev/null +++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_getProxyFieldUrl.xml @@ -0,0 +1,143 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_body</string> </key> + <value> <string>from Products.PythonScripts.standard import html_quote\n +\n +key = brain.object_id\n +\n +portal_absolute_url = context.getPortalObject().absolute_url()\n +\n +if brain.choice == \'1_create_form\':\n + return None\n +else:\n + return html_quote(\'%s/portal_skins/%s/manage_main\' % (portal_absolute_url, key))\n +</string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>brain, selection, selection_name</string> </value> + </item> + <item> + <key> <string>errors</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>func_code</string> </key> + <value> + <object> + <klass> + <global name="FuncCode" module="Shared.DC.Scripts.Signature"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>co_argcount</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>co_varnames</string> </key> + <value> + <tuple> + <string>brain</string> + <string>selection</string> + <string>selection_name</string> + <string>Products.PythonScripts.standard</string> + <string>html_quote</string> + <string>_getattr_</string> + <string>key</string> + <string>context</string> + <string>portal_absolute_url</string> + <string>None</string> + </tuple> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>func_defaults</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>BusinessTemplate_getProxyFieldUrl</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_modifyFieldList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_modifyFieldList.xml new file mode 100644 index 0000000000..1471ee1b79 --- /dev/null +++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_modifyFieldList.xml @@ -0,0 +1,178 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_body</string> </key> + <value> <string encoding="cdata"><![CDATA[ + +listbox_line_list = list(listbox)\n +listbox_line_list.sort(key=lambda x: (x[\'choice\'], x[\'listbox_key\']))\n +\n +for listbox_line in listbox_line_list:\n + choice = listbox_line[\'choice\']\n + key = listbox_line[\'listbox_key\']\n +\n + if not choice:\n + continue\n + elif len(choice) > 1:\n + raise ValueError, \'Unknown choice %s\' % choice\n + else:\n + choice = choice[0]\n + if choice.startswith(\'0_\'):\n + continue\n + elif choice == \'1_create_form\':\n + skin_folder_id, form_id = key.split(\'/\')\n + skin_folder = context.portal_skins[skin_folder_id]\n + skin_folder.manage_addProduct[\'ERP5Form\'].addERP5Form(id=form_id, title=\'\')\n + elif choice == \'2_unproxify_field\':\n + key_list = key.split(\'/\')\n + form_path, field_id = \'/\'.join(key_list[:-1]), key_list[-1]\n + form = context.portal_skins.restrictedTraverse(form_path)\n + form.unProxifyField({field_id: None})\n + elif choice == \'4_delete_form\':\n + skin_folder_id, form_id = key.split(\'/\')\n + skin_folder = context.portal_skins[skin_folder_id]\n + skin_folder.manage_delObjects([form_id])\n + # skin_folder.manage_addProduct[\'ERP5Form\'].addERP5Form(id=form_id, title=\'\')\n + # raise NotImplementedError\n + else:\n + raise ValueError, \'Unknown choice %s\' % choice\n +\n +context.Base_redirect()\n + + +]]></string> </value> + </item> + <item> + <key> <string>_code</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>listbox, **kw</string> </value> + </item> + <item> + <key> <string>errors</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>func_code</string> </key> + <value> + <object> + <klass> + <global name="FuncCode" module="Shared.DC.Scripts.Signature"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>co_argcount</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>co_varnames</string> </key> + <value> + <tuple> + <string>listbox</string> + <string>kw</string> + <string>list</string> + <string>listbox_line_list</string> + <string>_getattr_</string> + <string>_getiter_</string> + <string>listbox_line</string> + <string>_getitem_</string> + <string>choice</string> + <string>key</string> + <string>len</string> + <string>ValueError</string> + <string>skin_folder_id</string> + <string>form_id</string> + <string>context</string> + <string>skin_folder</string> + <string>key_list</string> + <string>form_path</string> + <string>field_id</string> + <string>form</string> + <string>None</string> + </tuple> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>func_defaults</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>BusinessTemplate_modifyFieldList</string> </value> + </item> + <item> + <key> <string>warnings</string> </key> + <value> + <tuple/> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog.xml new file mode 100644 index 0000000000..4ff2a8ab77 --- /dev/null +++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog.xml @@ -0,0 +1,157 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="ERP5Form" module="Products.ERP5Form.Form"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary/> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>action</string> </key> + <value> <string>BusinessTemplate_modifyFieldList</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>edit_order</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>encoding</string> </key> + <value> <string>UTF-8</string> </value> + </item> + <item> + <key> <string>enctype</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>group_list</string> </key> + <value> + <list> + <string>left</string> + <string>right</string> + <string>center</string> + <string>bottom</string> + <string>hidden</string> + </list> + </value> + </item> + <item> + <key> <string>groups</string> </key> + <value> + <dictionary> + <item> + <key> <string>bottom</string> </key> + <value> + <list> + <string>listbox</string> + </list> + </value> + </item> + <item> + <key> <string>center</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> + <list> + <string>listbox_choice</string> + </list> + </value> + </item> + <item> + <key> <string>left</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>right</string> </key> + <value> + <list/> + </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>BusinessTemplate_viewFieldLibraryManagementDialog</string> </value> + </item> + <item> + <key> <string>method</string> </key> + <value> <string>POST</string> </value> + </item> + <item> + <key> <string>name</string> </key> + <value> <string>BusinessTemplate_viewFieldLibraryManagementDialog</string> </value> + </item> + <item> + <key> <string>pt</string> </key> + <value> <string>form_dialog</string> </value> + </item> + <item> + <key> <string>row_length</string> </key> + <value> <int>4</int> </value> + </item> + <item> + <key> <string>stored_encoding</string> </key> + <value> <string>UTF-8</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Manage Field Library</string> </value> + </item> + <item> + <key> <string>unicode_mode</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>update_action</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>update_action_title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog/listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog/listbox.xml new file mode 100644 index 0000000000..67947dd571 --- /dev/null +++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog/listbox.xml @@ -0,0 +1,554 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="ListBox" module="Products.ERP5Form.ListBox"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>listbox</string> </value> + </item> + <item> + <key> <string>message_values</string> </key> + <value> + <dictionary> + <item> + <key> <string>external_validator_failed</string> </key> + <value> <string>The input failed the external validator.</string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>overrides</string> </key> + <value> + <dictionary> + <item> + <key> <string>all_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>anchor</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>count_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default_params</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>domain_root_list</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>domain_tree</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>global_attributes</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>lines</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>list_action</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>list_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>meta_types</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>page_template</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>portal_types</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>report_root_list</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>report_tree</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>row_css_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>search</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>search_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>select</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>selection_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>sort</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>sort_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>stat_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>stat_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>untranslatable_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>url_columns</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>all_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>anchor</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>count_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default_params</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>domain_root_list</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>domain_tree</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>global_attributes</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>lines</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>list_action</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>list_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>meta_types</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>page_template</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>portal_types</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>report_root_list</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>report_tree</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>row_css_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>search</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>search_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>select</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>selection_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>sort</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>sort_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>stat_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>stat_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>untranslatable_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>url_columns</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>all_columns</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>anchor</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>columns</string> </key> + <value> + <list> + <tuple> + <string>object_id</string> + <string>ID</string> + </tuple> + <tuple> + <string>choice</string> + <string>Update</string> + </tuple> + </list> + </value> + </item> + <item> + <key> <string>count_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default_params</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>domain_root_list</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>domain_tree</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>editable_columns</string> </key> + <value> + <list> + <tuple> + <string>choice</string> + <string>Update</string> + </tuple> + </list> + </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>global_attributes</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>lines</string> </key> + <value> <int>1000</int> </value> + </item> + <item> + <key> <string>list_action</string> </key> + <value> <string>list</string> </value> + </item> + <item> + <key> <string>list_method</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>meta_types</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>page_template</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>portal_types</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>report_root_list</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>report_tree</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>row_css_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>search</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>search_columns</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>select</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>selection_name</string> </key> + <value> <string>business_template_field_selection</string> </value> + </item> + <item> + <key> <string>sort</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>sort_columns</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>stat_columns</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>stat_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Skin Folder Actions</string> </value> + </item> + <item> + <key> <string>untranslatable_columns</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>url_columns</string> </key> + <value> + <list> + <tuple> + <string>object_id</string> + <string>BusinessTemplate_getProxyFieldUrl</string> + </tuple> + <tuple> + <string>choice</string> + <string></string> + </tuple> + </list> + </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <global name="Method" module="Products.Formulator.MethodField"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>method_name</string> </key> + <value> <string>BusinessTemplate_getModifiableFieldList</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog/listbox_choice.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog/listbox_choice.xml new file mode 100644 index 0000000000..eca8a980af --- /dev/null +++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog/listbox_choice.xml @@ -0,0 +1,283 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <tuple> + <global name="MultiCheckBoxField" module="Products.Formulator.StandardFields"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>listbox_choice</string> </value> + </item> + <item> + <key> <string>message_values</string> </key> + <value> + <dictionary> + <item> + <key> <string>external_validator_failed</string> </key> + <value> <string>The input failed the external validator.</string> </value> + </item> + <item> + <key> <string>required_not_found</string> </key> + <value> <string>Input is required but no input given.</string> </value> + </item> + <item> + <key> <string>unknown_selection</string> </key> + <value> <string>You selected an item that was not in the list.</string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>overrides</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra_item</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>items</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>orientation</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>view_separator</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra_item</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>items</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + </value> + </item> + <item> + <key> <string>orientation</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>view_separator</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string>shift_check_support</string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra_item</string> </key> + <value> <string>tabindex="1000" onclick="shiftCheck(event)"</string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>items</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>orientation</string> </key> + <value> <string>horizontal</string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>listbox_choice</string> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>view_separator</string> </key> + <value> <string encoding="cdata"><![CDATA[ + +<br /> + +]]></string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <global name="TALESMethod" module="Products.Formulator.TALESField"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_text</string> </key> + <value> <string>python: cell.choice</string> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="3" aka="AAAAAAAAAAM="> + <pickle> + <tuple> + <global name="TALESMethod" module="Products.Formulator.TALESField"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_text</string> </key> + <value> <string>python: cell.choice_item_list</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_forge/bt/revision b/bt5/erp5_forge/bt/revision index 6efca19ea0..9f8ebf73f9 100644 --- a/bt5/erp5_forge/bt/revision +++ b/bt5/erp5_forge/bt/revision @@ -1 +1 @@ -481 \ No newline at end of file +482 \ No newline at end of file diff --git a/bt5/erp5_forge/bt/template_action_path_list b/bt5/erp5_forge/bt/template_action_path_list index 68e331e227..d7aa314f25 100644 --- a/bt5/erp5_forge/bt/template_action_path_list +++ b/bt5/erp5_forge/bt/template_action_path_list @@ -7,6 +7,7 @@ Bug | new_file Bug | view Business Template | commit Business Template | create_report +Business Template | manage_field_library Business Template | svn_cleanup_locks Business Template | svn_conflicted_files Business Template | svn_unversioned_files -- 2.30.9