From e8052923fb4024c506f07f09efacc810369b8259 Mon Sep 17 00:00:00 2001 From: Sven Franck <sven.franck@nexedi.com> Date: Mon, 14 Dec 2015 09:30:37 +0000 Subject: [PATCH] erp5_km_ui_test: extend forum/discussion thread tests for predecessor handling (independent of km) --- .../testPredecessorCreateDiscussionThread.xml | 580 ++++++++++++++++++ ...PredecessorCreateDiscussionThreadReset.xml | 85 +++ .../erp5_km_ui_test/Base_isDialogMode.xml | 70 +++ .../erp5_km_ui_test/Base_isListMode.xml | 70 +++ .../erp5_km_ui_test/Base_isWebSectionMode.xml | 70 +++ .../WebSection_getDiscussionApplicablity.xml | 83 +++ ...bSection_getLatestDiscussionThreadList.xml | 77 +++ .../WebSection_viewDiscussionThreadForm.xml | 139 +++++ .../listbox.xml | 237 +++++++ .../listbox_author.xml | 129 ++++ .../listbox_last_post.xml | 133 ++++ .../listbox_modification_date.xml | 144 +++++ .../listbox_response_count.xml | 133 ++++ .../listbox_title.xml | 133 ++++ .../your_add_new_thread_link.xml | 137 +++++ ...WebSite_getDefaultForumWebSectionValue.xml | 76 +++ .../erp5_km_ui_test/discussions_renderer.xml | 66 ++ .../predecessor_test_container_layout.xml | 203 ++++++ .../discussions.xml | 322 ++++++++++ .../subsection_list.xml | 162 +++++ .../predecessor_test_content_layout.xml | 196 ++++++ .../discussions.xml | 322 ++++++++++ .../subsection_list.xml | 90 +++ .../predecessor_test_macros_library.xml | 102 +++ .../erp5_km_ui_test/test_template_web.xml | 172 ++++++ bt5/erp5_km_ui_test/bt/change_log | 3 + 26 files changed, 3934 insertions(+) create mode 100644 bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/forum/testPredecessorCreateDiscussionThread.xml create mode 100644 bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/forum/testPredecessorCreateDiscussionThreadReset.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/Base_isDialogMode.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/Base_isListMode.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/Base_isWebSectionMode.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_getDiscussionApplicablity.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_getLatestDiscussionThreadList.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_author.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_last_post.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_modification_date.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_response_count.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_title.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/your_add_new_thread_link.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSite_getDefaultForumWebSectionValue.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/discussions_renderer.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_container_layout.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_container_layout/discussions.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_container_layout/subsection_list.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_content_layout.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_content_layout/discussions.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_content_layout/subsection_list.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_macros_library.xml create mode 100644 bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/test_template_web.xml diff --git a/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/forum/testPredecessorCreateDiscussionThread.xml b/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/forum/testPredecessorCreateDiscussionThread.xml new file mode 100644 index 0000000000..3c5b385bb7 --- /dev/null +++ b/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/forum/testPredecessorCreateDiscussionThread.xml @@ -0,0 +1,580 @@ +<?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>_text</string> </key> + <value> <unicode encoding="cdata"><![CDATA[ + +<html xmlns:tal="http://xml.zope.org/namespaces/tal"\n + xmlns:metal="http://xml.zope.org/namespaces/metal">\n +<head>\n +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\n +<title tal:content="template/getId"/>\n +</head>\n +<body>\n +<table cellpadding="1" cellspacing="1" border="1">\n +<thead>\n +<tr><td rowspan="1" colspan="3" tal:content="template/getId"/></tr>\n +</thead><tbody>\n +\n +<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />\n +\n +<!-- Clean Up -->\n +<tr>\n + <td>open</td>\n + <td>${base_url}/portal_tests/erp5_km_zuite/forum/testPredecessorCreateDiscussionThreadReset</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Reset Successfully.</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>open</td>\n + <td>${base_url}/Zuite_waitForActivities</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>assertTextPresent</td>\n + <td>Done.</td>\n + <td></td>\n + <td></td>\n +</tr>\n +\n +<!-- Initialize -->\n +<tr>\n + <td>open</td>\n + <td>${base_url}/web_site_module/predecessor_test_web_site</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Sections</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyText</td>\n + <td>//legend[@class="group_title"]</td>\n + <td>Sections</td>\n +</tr>\n +<tr>\n + <td>clickAndWait</td>\n + <td>link=Discussion</td>\n + <td></td>\n +</tr>\n +<!-- create a new discussion thread, without explicit predecessor -->\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Discussion Threads</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>clickAndWait</td>\n + <td>link=Post Message</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Body</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>type</td>\n + <td>field_your_title</td>\n + <td>Thread 1</td>\n +</tr>\n +<!--\n +<tr>\n + <td>type</td>\n + <td>//textarea[@class="ace_text-input"]</td>\n + <td>Post 1</td>\n +</tr>\n +-->\n +<!-- verify predecessor hidden input is not set DONT WORK \n +<tr>\n + <td>assertValue</td>\n + <td>field_your_predecessor</td>\n + <td></td>\n +</tr>\n +-->\n +<tr>\n + <td>clickAndWait</td>\n + <td>//button[@id=\'dialog_submit_button\']</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>New discussion thread created</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyTextPresent</td>\n + <td>New discussion thread created</td>\n + <td></td>\n +</tr>\n +<!-- make sure we are still on the form_list view -->\n +<tr>\n + <td>verifyTextPresent</td>\n + <td>Discussion Threads</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>open</td>\n + <td>${base_url}/Zuite_waitForActivities</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>assertTextPresent</td>\n + <td>Done.</td>\n + <td></td>\n +</tr>\n +\n +\n +<!-- add discussion thread to section with default page -->\n +<tr>\n + <td>open</td>\n + <td>${base_url}/web_site_module/predecessor_test_web_site</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Sections</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>clickAndWait</td>\n + <td>link=Section with default</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Test Section Default Content</td>\n + <td></td>\n +</tr>\n +<!-- make sure related discussions are shown -->\n +<tr>\n + <td>verifyTextPresent</td>\n + <td>New</td>\n + <td></td>\n +</tr>\n +<!-- add thread 2 to this page, it should be visible here and in discussions, nowhere else -->\n +<tr>\n + <td>clickAndWait</td>\n + <td>link=New</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Body</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>type</td>\n + <td>field_your_title</td>\n + <td>Thread 2</td>\n +</tr>\n +<!--\n +<tr>\n + <td>type</td>\n + <td>//textarea[@class="ace_text-input"]</td>\n + <td>Post 2</td>\n +</tr>\n +-->\n +<tr>\n + <td>clickAndWait</td>\n + <td>//button[@id=\'dialog_submit_button\']</td>\n + <td></td>\n +</tr>\n +<!-- test we go back to where we came from -->\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Test Section Default Content</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyTextPresent</td>\n + <td>Test Section Default Content</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>open</td>\n + <td>${base_url}/Zuite_waitForActivities</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>assertTextPresent</td>\n + <td>Done.</td>\n + <td></td>\n +</tr>\n +\n +<!-- add discsussion thread to web page -->\n +<tr>\n + <td>open</td>\n + <td>${base_url}/web_site_module/predecessor_test_web_site</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Sections</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>clickAndWait</td>\n + <td>link=Section with content page</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Description</td>\n + <td></td>\n +</tr>\n +<!-- make sure document is shown -->\n +<tr>\n + <td>verifyTextPresent</td>\n + <td>predecessor_test_documentation_page</td>\n + <td></td>\n +</tr>\n +<!-- go to this page and create a new discussion thread -->\n +<tr>\n + <td>clickAndWait</td>\n + <td>link=Predecessor Test Documentation</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Some documentation</td>\n + <td></td>\n +</tr>\n +<!-- check discussions are shown -->\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>New</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyTextPresent</td>\n + <td>New</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>clickAndWait</td>\n + <td>link=New</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Body</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>type</td>\n + <td>field_your_title</td>\n + <td>Thread 3</td>\n +</tr>\n +<!--\n +<tr>\n + <td>type</td>\n + <td>//textarea[@class="ace_text-input"]</td>\n + <td>Post 3</td>\n +</tr>\n +-->\n +<tr>\n + <td>clickAndWait</td>\n + <td>//button[@id=\'dialog_submit_button\']</td>\n + <td></td>\n +</tr>\n +<!-- test we go back to where we came from -->\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Some documentation</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyTextPresent</td>\n + <td>Some documentation</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>open</td>\n + <td>${base_url}/Zuite_waitForActivities</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>assertTextPresent</td>\n + <td>Done.</td>\n + <td></td>\n + <td></td>\n +</tr>\n +\n +<!-- threads created and redirects verified. now check the correct threads show -->\n +<tr>\n + <td>open</td>\n + <td>${base_url}/web_site_module/predecessor_test_web_site</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Sections</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyText</td>\n + <td>//legend[@class="group_title"]</td>\n + <td>Sections</td>\n +</tr>\n +<tr>\n + <td>clickAndWait</td>\n + <td>link=Discussion</td>\n + <td></td>\n +</tr>\n +<!-- discussions should include all 3 discussions -->\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Discussion Threads</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyTextPresent</td>\n + <td>Thread 1</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyTextPresent</td>\n + <td>Thread 2</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyTextPresent</td>\n + <td>Thread 3</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>open</td>\n + <td>${base_url}/web_site_module/predecessor_test_web_site</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Sections</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyText</td>\n + <td>//legend[@class="group_title"]</td>\n + <td>Sections</td>\n +</tr>\n +<tr>\n + <td>clickAndWait</td>\n + <td>link=Section No Default</td>\n + <td></td>\n +</tr>\n +<!-- no default page, no discussions -->\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>should not display discussions</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyTextPresent</td>\n + <td>should not display discussions</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyTextNotPresent</td>\n + <td>New</td>\n + <td></td>\n +</tr>\n +\n +<!-- section with default should only display thread 2 -->\n +<tr>\n + <td>open</td>\n + <td>${base_url}/web_site_module/predecessor_test_web_site</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Sections</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyText</td>\n + <td>//legend[@class="group_title"]</td>\n + <td>Sections</td>\n +</tr>\n +<tr>\n + <td>clickAndWait</td>\n + <td>link=Section with default</td>\n + <td></td>\n +</tr>\n +<!-- check thread 2 and not 1 and 3 -->\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Thread 2</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyTextPresent</td>\n + <td>Thread 2</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyTextNotPresent</td>\n + <td>Thread 1</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyTextNotPresent</td>\n + <td>Thread 3</td>\n + <td></td>\n +</tr>\n +\n +<!-- section with default should only display thread 2 -->\n +<tr>\n + <td>open</td>\n + <td>${base_url}/web_site_module/predecessor_test_web_site</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Sections</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyText</td>\n + <td>//legend[@class="group_title"]</td>\n + <td>Sections</td>\n +</tr>\n +<tr>\n + <td>clickAndWait</td>\n + <td>link=Section with content page</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Description</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyTextPresent</td>\n + <td>predecessor_test_documentation_page</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>clickAndWait</td>\n + <td>link=Predecessor Test Documentation</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Some documentation</td>\n + <td></td>\n +</tr>\n +<!-- check thread 3 and not 1 and 2 are shown -->\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Thread 3</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyTextPresent</td>\n + <td>Thread 3</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyTextNotPresent</td>\n + <td>Thread 1</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyTextNotPresent</td>\n + <td>Thread 2</td>\n + <td></td>\n +</tr>\n +\n +<!-- Clean Up -->\n +<tr>\n + <td>open</td>\n + <td>${base_url}/portal_tests/erp5_km_zuite/forum/testPredecessorCreateDiscussionThreadReset</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForTextPresent</td>\n + <td>Reset Successfully.</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>open</td>\n + <td>${base_url}/Zuite_waitForActivities</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>assertTextPresent</td>\n + <td>Done.</td>\n + <td></td>\n + <td></td>\n +</tr>\n +\n +<tal:block metal:use-macro="here/KMZuite_CommonTemplate/macros/deleteKMWebSite" />\n +\n +</tbody></table>\n +</body>\n +</html> + +]]></unicode> </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>testPredecessorCreateDiscussionThread</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_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/forum/testPredecessorCreateDiscussionThreadReset.xml b/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/forum/testPredecessorCreateDiscussionThreadReset.xml new file mode 100644 index 0000000000..1da47e1671 --- /dev/null +++ b/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/forum/testPredecessorCreateDiscussionThreadReset.xml @@ -0,0 +1,85 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + </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>""" \n + Make sure the objects about to be created do not exist already\n +"""\n +\n +portal = context.getPortalObject()\n +\n +for x in portal.discussion_thread_module.objectValues():\n + if x.getTitle() == "Thread 1":\n + portal.discussion_thread_module.deleteContent(x.getId())\n + if x.getTitle() == "Thread 2":\n + portal.discussion_thread_module.deleteContent(x.getId())\n + if x.getTitle() == "Thread 3":\n + portal.discussion_thread_module.deleteContent(x.getId())\n +\n +return \'Reset Successfully.\'\n +</string> </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>testPredecessorCreateDiscussionThreadReset</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Reset before running</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/Base_isDialogMode.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/Base_isDialogMode.xml new file mode 100644 index 0000000000..6f95784873 --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/Base_isDialogMode.xml @@ -0,0 +1,70 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + </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>"""\n + Is dialog mode?\n +"""\n +return context.REQUEST.get(\'dialog_mode\', False)\n +</string> </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>Base_isDialogMode</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/Base_isListMode.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/Base_isListMode.xml new file mode 100644 index 0000000000..e3daec6089 --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/Base_isListMode.xml @@ -0,0 +1,70 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + </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>"""\n + Is list mode?\n +"""\n +return context.REQUEST.get(\'list_mode\', False)\n +</string> </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>Base_isListMode</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/Base_isWebSectionMode.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/Base_isWebSectionMode.xml new file mode 100644 index 0000000000..5b0ed0459e --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/Base_isWebSectionMode.xml @@ -0,0 +1,70 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + </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>"""\n + Is a web section rendered. (it\'s not a list_mode or dialog_mode\')\n +"""\n +return context.REQUEST.get(\'current_web_section\') is not None\n +</string> </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>Base_isWebSectionMode</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_getDiscussionApplicablity.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_getDiscussionApplicablity.xml new file mode 100644 index 0000000000..01c9273746 --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_getDiscussionApplicablity.xml @@ -0,0 +1,83 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + </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>"""\n + Determine whether the document being viewed is a web page or the default\n + page of a web section. If it is, related discussions can be displayed\n +"""\n +document = context\n +portal_type = document.getPortalType()\n +\n +if portal_type == \'Web Page\':\n + return context.getReference()\n + \n +if portal_type == \'Web Section\':\n + default_page = document.getAggregate()\n + if default_page is not None:\n + default_page_document = context.restrictedTraverse(default_page)\n + return default_page_document.getReference()\n +\n +return None\n +</string> </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>WebSection_getDiscussionApplicablity</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_getLatestDiscussionThreadList.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_getLatestDiscussionThreadList.xml new file mode 100644 index 0000000000..96d9f29518 --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_getLatestDiscussionThreadList.xml @@ -0,0 +1,77 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + </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>"""\n + Return latest discussion threads on a web site public forum.\n +"""\n +\n +reference = context.WebSection_getDiscussionApplicablity()\n +\n +if reference is not None:\n + document = context.restrictedTraverse(reference)\n + return document.getPredecessorRelatedValueList()\n +\n +return []\n +</string> </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>**kw</string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>WebSection_getLatestDiscussionThreadList</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm.xml new file mode 100644 index 0000000000..835ef90db7 --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm.xml @@ -0,0 +1,139 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ERP5 Form" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>action</string> </key> + <value> <string>Base_doSelect</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_author</string> + <string>listbox_last_post</string> + <string>listbox_modification_date</string> + <string>listbox_response_count</string> + <string>listbox_title</string> + </list> + </value> + </item> + <item> + <key> <string>left</string> </key> + <value> + <list> + <string>your_add_new_thread_link</string> + </list> + </value> + </item> + <item> + <key> <string>right</string> </key> + <value> + <list/> + </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>WebSection_viewDiscussionThreadForm</string> </value> + </item> + <item> + <key> <string>method</string> </key> + <value> <string>POST</string> </value> + </item> + <item> + <key> <string>name</string> </key> + <value> <string>ERP5Site_viewDiscussionThreadForm</string> </value> + </item> + <item> + <key> <string>pt</string> </key> + <value> <string>form_list</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>Discussion Thread Form</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_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox.xml new file mode 100644 index 0000000000..5034ef63d3 --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox.xml @@ -0,0 +1,237 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>delegated_list</string> </key> + <value> + <list> + <string>columns</string> + <string>editable_columns</string> + <string>list_method</string> + <string>search</string> + <string>search_columns</string> + <string>sort</string> + <string>sort_columns</string> + <string>title</string> + <string>url_columns</string> + </list> + </value> + </item> + <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>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>columns</string> </key> + <value> + <list> + <tuple> + <string>title</string> + <string>Title</string> + </tuple> + <tuple> + <string>author</string> + <string>Author</string> + </tuple> + <tuple> + <string>response_count</string> + <string>Responses</string> + </tuple> + <tuple> + <string>last_post</string> + <string>Latest Post</string> + </tuple> + <tuple> + <string>modification_date</string> + <string>Modification Date</string> + </tuple> + </list> + </value> + </item> + <item> + <key> <string>editable_columns</string> </key> + <value> + <list> + <tuple> + <string>modification_date</string> + <string>modification_date</string> + </tuple> + <tuple> + <string>author</string> + <string>Author</string> + </tuple> + <tuple> + <string>last_post</string> + <string>Latest Post</string> + </tuple> + </list> + </value> + </item> + <item> + <key> <string>field_id</string> </key> + <value> <string>my_view_mode_listbox</string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string>Base_viewFieldLibrary</string> </value> + </item> + <item> + <key> <string>list_method</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>search</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>search_columns</string> </key> + <value> + <list> + <tuple> + <string>title</string> + <string>Title</string> + </tuple> + <tuple> + <string>modification_date</string> + <string>Modification Date</string> + </tuple> + </list> + </value> + </item> + <item> + <key> <string>sort</string> </key> + <value> + <list> + <tuple> + <string>modification_date</string> + <string>descending</string> + </tuple> + </list> + </value> + </item> + <item> + <key> <string>sort_columns</string> </key> + <value> + <list> + <tuple> + <string>modification_date</string> + <string>Modification Date</string> + </tuple> + </list> + </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Discussion Threads</string> </value> + </item> + <item> + <key> <string>url_columns</string> </key> + <value> + <list> + <tuple> + <string>title</string> + <string>Listbox_getDiscussionThreadPermanentUrl</string> + </tuple> + <tuple> + <string>modification_date</string> + <string></string> + </tuple> + <tuple> + <string>response_count</string> + <string></string> + </tuple> + <tuple> + <string>author</string> + <string></string> + </tuple> + <tuple> + <string>last_post</string> + <string></string> + </tuple> + </list> + </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <global name="Method" module="Products.Formulator.MethodField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>method_name</string> </key> + <value> <string>WebSection_getDiscussionThreadList</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_author.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_author.xml new file mode 100644 index 0000000000..3a492ca58e --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_author.xml @@ -0,0 +1,129 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>delegated_list</string> </key> + <value> + <list> + <string>default</string> + <string>editable</string> + <string>title</string> + </list> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>listbox_author</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>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>default</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>field_id</string> </key> + <value> <string>my_label_field</string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string>Base_viewFieldLibrary</string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Post Author</string> </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: cell.DiscussionThread_viewAuthorWidget()</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_last_post.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_last_post.xml new file mode 100644 index 0000000000..a8cc4b254e --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_last_post.xml @@ -0,0 +1,133 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>delegated_list</string> </key> + <value> + <list> + <string>default</string> + <string>editable</string> + <string>title</string> + </list> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>listbox_last_post</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>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>default</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>field_id</string> </key> + <value> <string>my_label_field</string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string>Base_viewFieldLibrary</string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Latest Author Post</string> </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: cell.DiscussionThread_viewLastPostWidget()</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_modification_date.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_modification_date.xml new file mode 100644 index 0000000000..dfa6996344 --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_modification_date.xml @@ -0,0 +1,144 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>delegated_list</string> </key> + <value> + <list> + <string>default</string> + <string>editable</string> + <string>enabled</string> + <string>title</string> + </list> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>listbox_modification_date</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>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>default</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </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>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>default</string> </key> + <value> + <none/> + </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>field_id</string> </key> + <value> <string>my_date</string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string>Base_viewFieldLibrary</string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Modification Date</string> </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>cell/getModificationDate</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_response_count.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_response_count.xml new file mode 100644 index 0000000000..e93abe2285 --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_response_count.xml @@ -0,0 +1,133 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>delegated_list</string> </key> + <value> + <list> + <string>default</string> + <string>editable</string> + <string>title</string> + </list> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>listbox_response_count</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>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>default</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>field_id</string> </key> + <value> <string>my_label_field</string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string>Base_viewFieldLibrary</string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Responses</string> </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: \'%s\' %len(cell.objectIds())</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_title.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_title.xml new file mode 100644 index 0000000000..6af4133979 --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/listbox_title.xml @@ -0,0 +1,133 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>delegated_list</string> </key> + <value> + <list> + <string>default</string> + <string>editable</string> + <string>title</string> + </list> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>listbox_title</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>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>default</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>field_id</string> </key> + <value> <string>my_label_field</string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string>Base_viewFieldLibrary</string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Title</string> </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: cell.getTitle()</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/your_add_new_thread_link.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/your_add_new_thread_link.xml new file mode 100644 index 0000000000..648e141173 --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSection_viewDiscussionThreadForm/your_add_new_thread_link.xml @@ -0,0 +1,137 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>delegated_list</string> </key> + <value> + <list> + <string>css_class</string> + <string>default</string> + <string>title</string> + </list> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>your_add_new_thread_link</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>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <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>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <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>field_id</string> </key> + <value> <string>my_editor_field</string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string>Base_viewFieldLibrary</string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Editor Field</string> </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 encoding="cdata"><![CDATA[ + +python:\'\'\'<div class="discussion-thread-button"><a class="share-button post-message" href="WebSection_viewCreateNewDiscussionThreadDialog?cancel_url=%s"><div><span>Post Message</span></div></a><a class="share-button rss-feed" href="WebSection_viewLatestDiscussionPostListAsRSS"><div><span>RSS Feed</span></div></a> </div>\'\'\' %(here.absolute_url()) + +]]></string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSite_getDefaultForumWebSectionValue.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSite_getDefaultForumWebSectionValue.xml new file mode 100644 index 0000000000..c5120c49f3 --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSite_getDefaultForumWebSectionValue.xml @@ -0,0 +1,76 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + </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>"""\n + Every site should have one forum as theme uses it to get latest discussion posts.\n + Forum relative url is taken from web site configuration itself.\n + \n + This is all arbitrary...\n +"""\n +\n +website = context.getWebSiteValue()\n +default_forum_url = website.getProperty(\'default_forum_relative_url\', \'discussions\')\n +return website.restrictedTraverse(default_forum_url, None)\n +</string> </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>WebSite_getDefaultForumWebSectionValue</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/discussions_renderer.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/discussions_renderer.xml new file mode 100644 index 0000000000..8b43ac203e --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/discussions_renderer.xml @@ -0,0 +1,66 @@ +<?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>_text</string> </key> + <value> <unicode encoding="cdata"><![CDATA[ + +<tal:block metal:use-macro="here/predecessor_test_macros_library/macros/discussions"/> + +]]></unicode> </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>discussions_renderer</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_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_container_layout.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_container_layout.xml new file mode 100644 index 0000000000..3860a1283a --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_container_layout.xml @@ -0,0 +1,203 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ERP5 Form" module="erp5.portal_type"/> + </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></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 column transparent (Logo)</string> + <string>left column (Navigation)</string> + <string>left column (Sections)</string> + <string>left column (Contents)</string> + <string>left column (Search)</string> + <string>left column (Debug)</string> + <string>right column (News)</string> + <string>right column (Toolbox)</string> + <string>right column (Highlight)</string> + <string>right column (Action)</string> + <string>footer</string> + <string>discussions</string> + </list> + </value> + </item> + <item> + <key> <string>groups</string> </key> + <value> + <dictionary> + <item> + <key> <string>discussions</string> </key> + <value> + <list> + <string>discussions</string> + </list> + </value> + </item> + <item> + <key> <string>footer</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>left column (Contents)</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>left column (Debug)</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>left column (Navigation)</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>left column (Search)</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>left column (Sections)</string> </key> + <value> + <list> + <string>subsection_list</string> + </list> + </value> + </item> + <item> + <key> <string>left column transparent (Logo)</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>right column (Action)</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>right column (Highlight)</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>right column (News)</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>right column (Toolbox)</string> </key> + <value> + <list/> + </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>predecessor_test_container_layout</string> </value> + </item> + <item> + <key> <string>method</string> </key> + <value> <string>POST</string> </value> + </item> + <item> + <key> <string>name</string> </key> + <value> <string>erp5_web_default_layout</string> </value> + </item> + <item> + <key> <string>pt</string> </key> + <value> <string>test_template_web</string> </value> + </item> + <item> + <key> <string>row_length</string> </key> + <value> <int>5</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>Default Container Layout</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_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_container_layout/discussions.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_container_layout/discussions.xml new file mode 100644 index 0000000000..802b6ee94b --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_container_layout/discussions.xml @@ -0,0 +1,322 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="EditorField" module="Products.ERP5Form.EditorField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>discussions</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>line_too_long</string> </key> + <value> <string>A line was too long.</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>You entered too many characters.</string> </value> + </item> + <item> + <key> <string>too_many_lines</string> </key> + <value> <string>You entered too many lines.</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</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>height</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_linelength</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_lines</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>text_editor</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>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>width</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> + <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>height</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_linelength</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_lines</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>text_editor</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>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>width</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>hidden_label</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> <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>height</string> </key> + <value> <int>5</int> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_linelength</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_lines</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>text_editor</string> </key> + <value> <string>text_area</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>discussions</string> </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> + <item> + <key> <string>width</string> </key> + <value> <int>40</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>here/discussions_renderer</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: here!=here.getWebSiteValue() and not here.Base_isListMode() and not here.Base_isDialogMode() and here.\t WebSection_getDiscussionApplicablity() is not None</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_container_layout/subsection_list.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_container_layout/subsection_list.xml new file mode 100644 index 0000000000..370dbe2387 --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_container_layout/subsection_list.xml @@ -0,0 +1,162 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>delegated_list</string> </key> + <value> + <list> + <string>title</string> + <string>css_class</string> + <string>height</string> + <string>width</string> + <string>whitespace_preserve</string> + <string>default</string> + <string>enabled</string> + </list> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>subsection_list</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>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>default</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + </value> + </item> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>css_class</string> </key> + <value> <string>hidden_label</string> </value> + </item> + <item> + <key> <string>field_id</string> </key> + <value> <string>my_text_content</string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string>Base_viewFieldLibrary</string> </value> + </item> + <item> + <key> <string>height</string> </key> + <value> <int>5</int> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Subsections</string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>width</string> </key> + <value> <int>40</int> </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>request/current_web_section/subsection_render</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:len(request.get(\'current_web_section\', here).contentValues(portal_type=\'Web Section\'))</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_content_layout.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_content_layout.xml new file mode 100644 index 0000000000..d1b113f08f --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_content_layout.xml @@ -0,0 +1,196 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ERP5 Form" module="erp5.portal_type"/> + </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></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 column transparent (Logo)</string> + <string>left column (Navigation)</string> + <string>left column (Sections)</string> + <string>left column (Contents)</string> + <string>left column (Search)</string> + <string>left column (Debug)</string> + <string>right column (News)</string> + <string>right column (Toolbox)</string> + <string>right column (Highlight)</string> + <string>footer</string> + <string>discussions</string> + </list> + </value> + </item> + <item> + <key> <string>groups</string> </key> + <value> + <dictionary> + <item> + <key> <string>discussions</string> </key> + <value> + <list> + <string>discussions</string> + </list> + </value> + </item> + <item> + <key> <string>footer</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>left column (Contents)</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>left column (Debug)</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>left column (Navigation)</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>left column (Search)</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>left column (Sections)</string> </key> + <value> + <list> + <string>subsection_list</string> + </list> + </value> + </item> + <item> + <key> <string>left column transparent (Logo)</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>right column (Highlight)</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>right column (News)</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>right column (Toolbox)</string> </key> + <value> + <list/> + </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>predecessor_test_content_layout</string> </value> + </item> + <item> + <key> <string>method</string> </key> + <value> <string>POST</string> </value> + </item> + <item> + <key> <string>name</string> </key> + <value> <string>erp5_web_default_layout</string> </value> + </item> + <item> + <key> <string>pt</string> </key> + <value> <string>test_template_web</string> </value> + </item> + <item> + <key> <string>row_length</string> </key> + <value> <int>5</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>Default Content Layout</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_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_content_layout/discussions.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_content_layout/discussions.xml new file mode 100644 index 0000000000..ba580a7d9c --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_content_layout/discussions.xml @@ -0,0 +1,322 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="EditorField" module="Products.ERP5Form.EditorField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>discussions</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>line_too_long</string> </key> + <value> <string>A line was too long.</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>You entered too many characters.</string> </value> + </item> + <item> + <key> <string>too_many_lines</string> </key> + <value> <string>You entered too many lines.</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</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>height</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_linelength</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_lines</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>text_editor</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>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>width</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> + <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>height</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_linelength</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_lines</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>text_editor</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>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>width</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>hidden_label</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> <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>height</string> </key> + <value> <int>5</int> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_linelength</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_lines</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>text_editor</string> </key> + <value> <string>text_area</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>discussions</string> </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> + <item> + <key> <string>width</string> </key> + <value> <int>40</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>here/discussions_renderer</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>here!=here.getWebSiteValue() and here.isWebMode() and not here.isEditableMode() and and here.\t WebSection_getDiscussionApplicablity() is not None</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_content_layout/subsection_list.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_content_layout/subsection_list.xml new file mode 100644 index 0000000000..82ee80e411 --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_content_layout/subsection_list.xml @@ -0,0 +1,90 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>delegated_list</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>subsection_list</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>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string>subsection_list</string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string>erp5_web_layout</string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_macros_library.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_macros_library.xml new file mode 100644 index 0000000000..36d06e3675 --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/predecessor_test_macros_library.xml @@ -0,0 +1,102 @@ +<?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>_text</string> </key> + <value> <unicode encoding="cdata"><![CDATA[ + +<tal:block metal:define-macro="discussions">\n + <div class="bottomPosts Discussions"\n + tal:define="web_site here/getWebSiteValue;\n + absolute_url here/getAbsoluteUrl;\n + relative_url here/getRelativeUrl;\n + discussion_thread_section here/WebSite_getDefaultForumWebSectionValue;\n + discussion_thread_list here/WebSection_getLatestDiscussionThreadList">\n + <h2>\n + <a title="Show more" tal:attributes="href string:${discussion_thread_section/absolute_url}">Discussions</a>\n + <a class="txtButn" title="Show more"\n + tal:attributes="href string:${discussion_thread_section/absolute_url}/WebSection_viewCreateNewDiscussionThreadDialog?cancel_url=${absolute_url}&predecessor_url=${relative_url}">New</a>\n + </h2>\n + \n + <div class="row" tal:repeat="discussion_thread discussion_thread_list">\n + <tal:block tal:define="discussion_post discussion_thread/DiscussionThread_getLastPost;\n + author_dict discussion_post/DiscussionPost_getAuthorDict;\n + is_author_link_available python:author_dict[\'author_url\'] is not None;\n + base_url python: \'%s/%s/%s\' %(web_site.absolute_url(), discussion_thread_section.getId(), discussion_thread.getReference())">\n + \n + <div class="date">\n + <span tal:replace="python: discussion_post.getModificationDate().strftime(\'%d-%m\')"/>\n + <span tal:content="python: discussion_post.getModificationDate().strftime(\'%Y\')"/>\n + </div>\n + <div class="text">\n + <h3>\n + <a title="Show post"\n + tal:attributes="href python: \'%s/view?list_start=%s&reset=1#%s\' %(base_url, discussion_post.getId(), discussion_post.getUid())"\n + tal:content="discussion_post/getTitle"/> \n + <em>by <spam tal:replace="author_dict/author_title"/></em>\n + </h3>\n + <span tal:replace="structure python: discussion_post.getTextContent()"/>\n + </div>\n + </tal:block>\n + </div>\n + <div class="clear"></div>\n + </div>\n +</tal:block> + +]]></unicode> </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>predecessor_test_macros_library</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_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/test_template_web.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/test_template_web.xml new file mode 100644 index 0000000000..455d1e48f3 --- /dev/null +++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/test_template_web.xml @@ -0,0 +1,172 @@ +<?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>_text</string> </key> + <value> <unicode encoding="cdata"><![CDATA[ + +<tal:block\n + xmlns:tal="http://xml.zope.org/namespaces/tal"\n + xmlns:metal="http://xml.zope.org/namespaces/metal"\n + xmlns:i18n="http://xml.zope.org/namespaces/i18n">\'\n + <tal:block tal:replace="nothing">\n + <!--\n + Copyright (c) 2006-2015 Nexedi SARL and Contributors. All Rights Reserved.\n + Vincent Pelletier <vincent@nexedi.com>\n + Christophe Dumez <christophe@nexedi.com>\n +\n + This program is Free Software; you can redistribute it and/or\n + modify it under the terms of the GNU General Public License\n + as published by the Free Software Foundation; either version 2\n + of the License, or (at your option) any later version.\n +\n + This program is distributed in the hope that it will be useful,\n + but WITHOUT ANY WARRANTY; without even the implied warranty of\n + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n + GNU General Public License for more details.\n +\n + You should have received a copy of the GNU General Public License\n + along with this program; if not, write to the Free Software\n + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n + -->\n + </tal:block>\n + \n + <!doctype html>\n + <html>\n + <head>\n + <meta charset="utf-8">\n + <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n + <meta name="description" content="" />\n + <meta name="keywords" content="" />\n + <meta name="robots" content="index, follow" />\n + <meta http-equiv="X-UA-Compatible" content="IE=edge">\n + <title></title>\n + </head>\n + <body>\n + <tal:block metal:define-macro="master">\n + <tal:block tal:define="website here/getWebSiteValue;\n + portal_path python:website.absolute_url();\n + section here/getWebSectionValue;\n + section_url section/absolute_url;\n + current_url request/URL;\n + current_main_section here/WebSite_getMainSection;\n + editable request/editable_mode | python: 0;\n + portal_status_message request/portal_status_message | python: None;\n + list_mode list_mode | nothing;\n + dialog_mode dialog_mode | nothing;\n + ignore_layout request/ignore_layout | nothing;\n + layout_form_id request/layout_form_id | here/getApplicableLayout | nothing;\n + layout_form python: layout_form_id and getattr(here, layout_form_id, None) or None;\n + has_no_layout python: layout_form is None;\n + dummy python: request.set(\'dialog_mode\', dialog_mode);\n + dummy python: request.set(\'list_mode\', list_mode);\n + aggregate python: has_no_layout or layout_form.Form_getGroupList([\'header\', \'left\', \'right\', \'footer\', \'discussions\']);\n + aggregate python: ((aggregate is not has_no_layout) and dict(aggregate)) or {};\n + discussions_area python:aggregate.get(\'discussions\', []);\n + global is_web_mode python: 1;\n + global js_list python: [];\n + global css_list_template python:[]">\n + \n + <tal:block metal:use-macro="here/template_erp5_xhtml_style/macros/master">\n + <tal:block metal:fill-slot="layout">\n + \n + <tal:block metal:use-macro="here/aggregate_render/macros/populate_request"/>\n + \n + <div class="main-container">\n + <div class="main clearfix">\n + \n + <span class="portal_status_message" tal:content="portal_status_message" \n + tal:condition="portal_status_message"/>\n + \n + <div class="content wrappin">\n + \n + <!-- Form is rendered here -->\n + <tal:block metal:define-slot="main" />\n + <tal:block tal:condition="python: layout_form is not None">\n + \n + <tal:block tal:repeat="aggregate python: layout_form.Form_getGroupList([\'header\', \'left\', \'right\', \'footer\', \'discussions\'])"\n + tal:define="dummy python: request.set(\'editable_mode\', True);\n + dialog_mode dialog_mode | nothing;\n + dummy python: request.set(\'dialog_mode\', dialog_mode);\n + dummy python: request.set(\'list_mode\', list_mode);\n + dummy python: request.set(\'http_parameters\', http_parameters);\n + dummy python: request.set(\'actions\', actions);\n + dummy python: request.set(\'current_web_section\',\n + request.get(\'current_web_section\', here.getWebSectionValue()));\n + dummy python: request.set(\'current_web_document\',\n + request.get(\'current_web_document\', here));\n + dummy python: request.set(\'is_web_section_default_document\',\n + request.get(\'is_web_section_default_document\', 0));">\n + <tal:block metal:use-macro="here/aggregate_render/macros/aggregate_render"/>\n + </tal:block>\n + </tal:block>\n + \n + <div class="clear"></div>\n + </div>\n + </div> <!-- #main -->\n + </div> <!-- #main-container -->\n + </tal:block>\n + </tal:block>\n + </tal:block>\n + </tal:block>\n + </body>\n + </html>\n +</tal:block> + +]]></unicode> </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>test_template_web</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_km_ui_test/bt/change_log b/bt5/erp5_km_ui_test/bt/change_log index fcf34a3ef4..e3d1790b65 100644 --- a/bt5/erp5_km_ui_test/bt/change_log +++ b/bt5/erp5_km_ui_test/bt/change_log @@ -1,3 +1,6 @@ +2015-12-09 sven +* added tests for predecessor handling to display related discussions on web-pages or web-section/default pages + 2010-07-02 lucas * It is required to wait for activities after adding a new file. Improved testCreateNewFile and testMyDocumentsGadget. -- 2.30.9