From 400c58e9cf88d966e0e3f6b5677d291964d9c120 Mon Sep 17 00:00:00 2001 From: Xiaowu Zhang <xiaowu.zhang@nexedi.com> Date: Thu, 19 Jan 2023 14:10:10 +0000 Subject: [PATCH] erp5_*: add ZODB History report instead of using links in History tabs --- .../test.erp5.testERP5Core.py | 1 + .../test.erp5.testZODBHistory.py | 12 +- .../test.erp5.testHalJsonStyle.py | 12 - .../document_zuite/testZODBHistory.xml | 58 +++ .../document_zuite/testZODBHistory.zpt | 113 ++++++ .../testZODBHistoryInExportPage.xml | 58 +++ .../testZODBHistoryInExportPage.zpt | 44 +++ .../portal_actions/zodb_history.xml | 71 ++++ .../erp5_core/Base_viewHistory.xml | 4 +- .../Base_viewHistory/your_zodb_history.xml | 334 ------------------ .../erp5_core/Base_viewZODBHistory.xml | 4 +- .../your_workflow_history.xml | 315 ----------------- .../erp5_core/bt/template_action_path_list | 1 + 13 files changed, 353 insertions(+), 674 deletions(-) create mode 100644 bt5/erp5_ui_test/PathTemplateItem/portal_tests/document_zuite/testZODBHistory.xml create mode 100644 bt5/erp5_ui_test/PathTemplateItem/portal_tests/document_zuite/testZODBHistory.zpt create mode 100644 bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/testZODBHistoryInExportPage.xml create mode 100644 bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/testZODBHistoryInExportPage.zpt create mode 100644 product/ERP5/bootstrap/erp5_core/ActionTemplateItem/portal_types/portal_actions/zodb_history.xml delete mode 100644 product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewHistory/your_zodb_history.xml delete mode 100644 product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewZODBHistory/your_workflow_history.xml diff --git a/bt5/erp5_core_test/TestTemplateItem/portal_components/test.erp5.testERP5Core.py b/bt5/erp5_core_test/TestTemplateItem/portal_components/test.erp5.testERP5Core.py index d52de9c4a5..920b2c80e3 100644 --- a/bt5/erp5_core_test/TestTemplateItem/portal_components/test.erp5.testERP5Core.py +++ b/bt5/erp5_core_test/TestTemplateItem/portal_components/test.erp5.testERP5Core.py @@ -243,6 +243,7 @@ class TestERP5Core(ERP5TypeTestCase, ZopeTestCase.Functional): 'title': 'View Historical Diff'}], 'object_jio_action': [{'id': 'post_query', 'title': 'Post a Query'}], 'object_jio_jump': [{'id': 'jump_query', 'title': 'Queries'}], + 'object_jio_report': [{'id': 'zodb_history', 'title': 'ZODB History'}], 'object_jump': [{'id': 'jump_related_object', 'title': 'Related Objects'}], 'object_search': [{'title': 'Search', 'id': 'search'}], 'object_sort': [{'title': 'Sort', 'id': 'sort_on'}], diff --git a/bt5/erp5_core_test/TestTemplateItem/portal_components/test.erp5.testZODBHistory.py b/bt5/erp5_core_test/TestTemplateItem/portal_components/test.erp5.testZODBHistory.py index 365bafcaef..68e6a86f94 100644 --- a/bt5/erp5_core_test/TestTemplateItem/portal_components/test.erp5.testZODBHistory.py +++ b/bt5/erp5_core_test/TestTemplateItem/portal_components/test.erp5.testZODBHistory.py @@ -117,17 +117,15 @@ class TestZODBHistory(ERP5TypeTestCase): """ self.loginByUserName('tatuya') document = self.addOrganisation('document') + report_id_list = [x['id'] for x in self.portal.portal_actions.listFilteredActionsFor(document).get('object_jio_report',[])] - # by default, users have a link to view ZODB history in history tab - self.assertIn( - 'your_zodb_history', - [field.getId() for field in document.Base_viewHistory.get_fields()]) + self.assertIn('zodb_history', report_id_list) # when user does not have "View History" permission, the link is not displayed document.manage_permission('View History', [], 0) - self.assertNotIn( - 'your_zodb_history', - [field.getId() for field in document.Base_viewHistory.get_fields()]) + report_id_list = [x['id'] for x in self.portal.portal_actions.listFilteredActionsFor(document).get('object_jio_report',[])] + + self.assertNotIn('zodb_history', report_id_list) # accessing the form directly is not allowed either from zExceptions import Unauthorized diff --git a/bt5/erp5_hal_json_style/TestTemplateItem/portal_components/test.erp5.testHalJsonStyle.py b/bt5/erp5_hal_json_style/TestTemplateItem/portal_components/test.erp5.testHalJsonStyle.py index f1394b42d9..31f15be870 100644 --- a/bt5/erp5_hal_json_style/TestTemplateItem/portal_components/test.erp5.testHalJsonStyle.py +++ b/bt5/erp5_hal_json_style/TestTemplateItem/portal_components/test.erp5.testHalJsonStyle.py @@ -1187,10 +1187,6 @@ class TestERP5Document_getHateoas_mode_traverse(ERP5HALJSONStyleSkinsMixin): self.assertEqual(result_dict['_embedded']['_view']['form_id']['required'], 1) self.assertEqual(result_dict['_embedded']['_view']['form_id']['type'], 'StringField') - self.assertEqual(result_dict['_embedded']['_view']['your_zodb_history']['title'], 'View ZODB History') - self.assertEqual(result_dict['_embedded']['_view']['your_zodb_history']['key'], 'field_your_zodb_history') - self.assertEqual(result_dict['_embedded']['_view']['your_zodb_history']['type'], 'LinkField') - # Check embedded report section rendering self.assertEqual(result_dict['_embedded']['_view']['report_section_list'][1]['form_id']['default'], 'Base_viewWorkflowHistory') self.assertEqual(result_dict['_embedded']['_view']['report_section_list'][1]['form_id']['editable'], 0) @@ -1205,14 +1201,6 @@ class TestERP5Document_getHateoas_mode_traverse(ERP5HALJSONStyleSkinsMixin): self.assertEqual(result_dict['_embedded']['_view']['report_section_list'][1]['_links']['form_definition']['href'], 'urn:jio:get:portal_skins/erp5_core/Base_viewWorkflowHistory') self.assertEqual(result_dict['_embedded']['_view']['report_section_list'][1]['_links']['form_definition']['name'], 'Base_viewWorkflowHistory') - self.assertEqual( - result_dict['_embedded']['_view']['_embedded']['form_definition']['group_list'][0][0], - 'center' - ) - self.assertEqual( - result_dict['_embedded']['_view']['_embedded']['form_definition']['group_list'][0][1][0], - ['your_zodb_history', {'meta_type': 'LinkField'}] - ) self.assertEqual( result_dict['_embedded']['_view']['_embedded']['form_definition']['pt'], 'report_view' diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/document_zuite/testZODBHistory.xml b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/document_zuite/testZODBHistory.xml new file mode 100644 index 0000000000..516bd0c2f6 --- /dev/null +++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/document_zuite/testZODBHistory.xml @@ -0,0 +1,58 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + </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> + <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>content_type</string> </key> + <value> <string>text/html</string> </value> + </item> + <item> + <key> <string>expand</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>testZODBHistory</string> </value> + </item> + <item> + <key> <string>output_encoding</string> </key> + <value> <string>utf-8</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <unicode></unicode> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/PathTemplateItem/portal_tests/document_zuite/testZODBHistory.zpt b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/document_zuite/testZODBHistory.zpt new file mode 100644 index 0000000000..aadb949966 --- /dev/null +++ b/bt5/erp5_ui_test/PathTemplateItem/portal_tests/document_zuite/testZODBHistory.zpt @@ -0,0 +1,113 @@ +<html xmlns:tal="http://xml.zope.org/namespaces/tal" + xmlns:metal="http://xml.zope.org/namespaces/metal"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Test ZODB History</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr><td rowspan="1" colspan="3">Test ZODB History</td></tr> +</thead><tbody> + +<tr> + <td>store</td> + <td tal:content="python:here.getPortalObject().absolute_url()">http://example.com/erp5</td> + <td>base_url</td> +</tr> +<tr> + <td>open</td> + <td>${base_url}/bar_module/ListBoxZuite_reset</td> + <td></td> +</tr> +<tr> + <td>assertTextPresent</td> + <td>Reset Successfully.</td> + <td></td> +</tr> +<tr> + <td>openAndWait</td> + <td>${base_url}/bar_module/Zuite_waitForActivities</td> + <td></td> +</tr> +<tr> + <td>assertTextPresent</td> + <td>Done.</td> + <td></td> +</tr> + +<tr> + <td>open</td> + <td>${base_url}/bar_module/FooModule_createObjects?portal_type=Bar&num:int=1</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>${base_url}/bar_module/0</td> + <td></td> +</tr> + +<tr> + <td>type</td> + <td>field_my_title</td> + <td>Version 1</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>Base_edit:method</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>field_my_title</td> + <td>Version 2</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>Base_edit:method</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>field_my_title</td> + <td>Version 3</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>Base_edit:method</td> + <td></td> +</tr> +<tr> + <td>clickAndWait</td> + <td>//button[@class="report"]</td> + <td></td> +</tr> +<tr> + <td>verifyText</td> + <td>//span[@class="listbox-current-page-total-number"]</td> + <td>4 records</td> <!-- Creation + edited 3 times --> +</tr> +<tr> + <td>verifyTextPresent</td> + <td>ZODB History</td> + <td></td> +</tr> +<tr> + <td>verifyTextPresent</td> + <td>title: Version 1</td> + <td></td> +</tr> +<tr> + <td>verifyTextPresent</td> + <td>title: Version 2</td> + <td></td> +</tr> +<tr> + <td>verifyTextPresent</td> + <td>title: Version 3</td> + <td></td> +</tr> + +</tbody></table> +</body> +</html> \ No newline at end of file diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/testZODBHistoryInExportPage.xml b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/testZODBHistoryInExportPage.xml new file mode 100644 index 0000000000..8e0ffe6663 --- /dev/null +++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/testZODBHistoryInExportPage.xml @@ -0,0 +1,58 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + </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> + <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>content_type</string> </key> + <value> <string>text/html</string> </value> + </item> + <item> + <key> <string>expand</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>testZODBHistoryInExportPage</string> </value> + </item> + <item> + <key> <string>output_encoding</string> </key> + <value> <string>utf-8</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <unicode></unicode> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/testZODBHistoryInExportPage.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/testZODBHistoryInExportPage.zpt new file mode 100644 index 0000000000..6be4eb8ac2 --- /dev/null +++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/testZODBHistoryInExportPage.zpt @@ -0,0 +1,44 @@ +<html xmlns:tal="http://xml.zope.org/namespaces/tal" + xmlns:metal="http://xml.zope.org/namespaces/metal"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Test ZODB History</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr><td rowspan="1" colspan="3">Test ZODB History</td></tr> +</thead><tbody> +<tal:block metal:use-macro="here/PTZuite_CommonTemplate/macros/init" /> + +<tr> + <td>open</td> + <td>${base_url}/web_site_module/renderjs_runner/#/foo_module/1?page=export</td> + <td></td> +</tr> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_app_loaded" /> + +<tr> + <td>assertElementPresent</td> + <td>//div[@data-gadget-url='${base_url}/web_site_module/renderjs_runner/gadget_erp5_page_export.html']</td> + <td></td> +</tr> +<tr> + <td>verifyTextPresent</td> + <td>ZODB History</td> + <td></td> +</tr> + +<tal:block tal:define="click_configuration python: {'text': 'ZODB History'}"> + <tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_page_link" /> +</tal:block> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" /> + +<tr> + <td>verifyElementPresent</td> + <td>//h1[contains(text(), 'ZODB History')]</td> + <td></td> +</tr> +</tbody></table> +</body> +</html> \ No newline at end of file diff --git a/product/ERP5/bootstrap/erp5_core/ActionTemplateItem/portal_types/portal_actions/zodb_history.xml b/product/ERP5/bootstrap/erp5_core/ActionTemplateItem/portal_types/portal_actions/zodb_history.xml new file mode 100644 index 0000000000..3e839fdcc7 --- /dev/null +++ b/product/ERP5/bootstrap/erp5_core/ActionTemplateItem/portal_types/portal_actions/zodb_history.xml @@ -0,0 +1,71 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> + </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_jio_report</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>zodb_history</string> </value> + </item> + <item> + <key> <string>permissions</string> </key> + <value> + <tuple> + <string>View History</string> + </tuple> + </value> + </item> + <item> + <key> <string>priority</string> </key> + <value> <float>99.0</float> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>ZODB History</string> </value> + </item> + <item> + <key> <string>visible</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <global name="Expression" module="Products.CMFCore.Expression"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>string:${object_url}/Base_viewZODBHistory</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewHistory.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewHistory.xml index 97108dc243..f2003cf7d4 100644 --- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewHistory.xml +++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewHistory.xml @@ -74,9 +74,7 @@ <item> <key> <string>center</string> </key> <value> - <list> - <string>your_zodb_history</string> - </list> + <list/> </value> </item> <item> diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewHistory/your_zodb_history.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewHistory/your_zodb_history.xml deleted file mode 100644 index 052961a588..0000000000 --- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewHistory/your_zodb_history.xml +++ /dev/null @@ -1,334 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="LinkField" module="Products.Formulator.StandardFields"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>your_zodb_history</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>not_link</string> </key> - <value> <string>The specified link is broken.</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>too_long</string> </key> - <value> <string>Too much input was given.</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>check_link</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>check_timeout</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>display_maxwidth</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_width</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</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>link_type</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>max_length</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>truncate</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>whitespace_preserve</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>check_link</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>check_timeout</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>display_maxwidth</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_width</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> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> - </value> - </item> - <item> - <key> <string>external_validator</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>extra</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>input_type</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>link_type</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>max_length</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>truncate</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>whitespace_preserve</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>check_link</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>check_timeout</string> </key> - <value> <float>7.0</float> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string>invisible</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>display_maxwidth</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</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</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>link_type</string> </key> - <value> <string>external</string> </value> - </item> - <item> - <key> <string>max_length</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>View ZODB History</string> </value> - </item> - <item> - <key> <string>truncate</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <int>0</int> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python:\'{}/Base_viewZODBHistory?{}\'.format(context.absolute_url(), modules[\'ZTUtils\'].make_query(ignore_layout=request.get(\'ignore_layout\', 0)))</string> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python: modules[\'AccessControl\'].getSecurityManager().getUser().has_permission(\'View History\', context)</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewZODBHistory.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewZODBHistory.xml index ffd7ad568d..97a97ad43c 100644 --- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewZODBHistory.xml +++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewZODBHistory.xml @@ -82,9 +82,7 @@ <item> <key> <string>center</string> </key> <value> - <list> - <string>your_workflow_history</string> - </list> + <list/> </value> </item> <item> diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewZODBHistory/your_workflow_history.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewZODBHistory/your_workflow_history.xml deleted file mode 100644 index 0833155529..0000000000 --- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewZODBHistory/your_workflow_history.xml +++ /dev/null @@ -1,315 +0,0 @@ -<?xml version="1.0"?> -<ZopeData> - <record id="1" aka="AAAAAAAAAAE="> - <pickle> - <global name="LinkField" module="Products.Formulator.StandardFields"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>id</string> </key> - <value> <string>your_workflow_history</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>not_link</string> </key> - <value> <string>The specified link is broken.</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>too_long</string> </key> - <value> <string>Too much input was given.</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>check_link</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>check_timeout</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>display_maxwidth</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_width</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</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>link_type</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>max_length</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>truncate</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>whitespace_preserve</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>check_link</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>check_timeout</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>display_maxwidth</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_width</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</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>link_type</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>max_length</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>truncate</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>whitespace_preserve</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>check_link</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>check_timeout</string> </key> - <value> <float>7.0</float> </value> - </item> - <item> - <key> <string>css_class</string> </key> - <value> <string>invisible</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>display_maxwidth</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>display_width</string> </key> - <value> <int>20</int> </value> - </item> - <item> - <key> <string>editable</string> </key> - <value> <int>0</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</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>hidden</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>link_type</string> </key> - <value> <string>external</string> </value> - </item> - <item> - <key> <string>max_length</string> </key> - <value> <string></string> </value> - </item> - <item> - <key> <string>required</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>title</string> </key> - <value> <string>Return Workflow History</string> </value> - </item> - <item> - <key> <string>truncate</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>unicode</string> </key> - <value> <int>0</int> </value> - </item> - <item> - <key> <string>whitespace_preserve</string> </key> - <value> <int>0</int> </value> - </item> - </dictionary> - </value> - </item> - </dictionary> - </pickle> - </record> - <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>string:${here/absolute_url}/Base_viewHistory</string> </value> - </item> - </dictionary> - </pickle> - </record> -</ZopeData> diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_action_path_list b/product/ERP5/bootstrap/erp5_core/bt/template_action_path_list index 16b8c8481b..251d748038 100644 --- a/product/ERP5/bootstrap/erp5_core/bt/template_action_path_list +++ b/product/ERP5/bootstrap/erp5_core/bt/template_action_path_list @@ -207,6 +207,7 @@ portal_actions | sort_on portal_actions | types_tool portal_actions | view_historical_comparison portal_actions | view_historical_diff +portal_actions | zodb_history portal_membership | login portal_membership | logout portal_membership | preferences -- 2.30.9