Commit 30f6ae5e authored by Romain Courteaud's avatar Romain Courteaud Committed by Kazuhiko Shiozaki

erp5_web_js_style: do not redirect to the default page URL when submitting a form

parent bfc1ee97
......@@ -92,7 +92,7 @@
<form id="main_form"
tal:attributes="enctype enctype | form/Form_getEnctype | nothing;
action url;
action python: '%s/' % web_section.absolute_url() if request.get('is_web_section_default_document', False) else url;
method python:str(path('form/method | string:post')).lower()">
<input type="hidden" name="dialog_method" tal:attributes="value form/action" />
......
......@@ -28,7 +28,7 @@
<!-- Initialize -->
<tr>
<td>open</td>
<td>${base_url}/web_site_module/erp5_web_js_style_test_site/erp5_web_js_style_test_section_form/</td>
<td>${base_url}/web_site_module/erp5_web_js_style_test_site/erp5_web_js_style_test_section_form</td>
<td></td>
</tr>
<tr>
......@@ -105,11 +105,21 @@
<tr>
<td colspan="3"><b>Check the form validation</b></td>
</tr>
<tr>
<td>store</td>
<td>javascript{selenium.browserbot.currentWindow.location.href}</td>
<td>original_form_location</td>
</tr>
<tr>
<td>type</td>
<td>field_your_id</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>field_your_title</td>
<td>temporary_foo_title</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>dialog_submit_button</td>
......@@ -160,7 +170,7 @@
<tr>
<td>assertValue</td>
<td>field_your_title</td>
<td>Demo Section Form</td>
<td>temporary_foo_title</td>
</tr>
<tr>
......@@ -174,6 +184,15 @@
<td></td>
</tr>
<tr>
<td colspan="3"><b>Check the form URL is stable during validation</b></td>
</tr>
<tr>
<td>assertEval</td>
<td>(function() {return selenium.browserbot.currentWindow.location.href;})()
<td>${original_form_location}</td>
</tr>
<tr>
<td colspan="3"><b>Check the form submission</b></td>
</tr>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>testJsStyleWebSectionFormAndDefaultPage</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>
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Test JS Style Demo Style</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">Test JS Style Demo Style</td></tr>
</thead><tbody>
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />
<tr>
<td>open</td>
<td>${base_url}/ERP5Site_createWebJSStyleZuiteTestData?configuration=form_and_default_page</td>
<td></td>
</tr>
<tr>
<td>assertTextPresent</td>
<td>Web Site created.</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />
<!-- Initialize -->
<tr>
<td>open</td>
<td>${base_url}/web_site_module/erp5_web_js_style_test_site/erp5_web_js_style_test_section_form/</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//head/link[@rel='prerender' and @href='jsstyle_demo.html']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//header/h1[text()='JS Style Demo']</td>
<td></td>
</tr>
<tr>
<td colspan="3"><b>Check the page content uses the web site</b></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//main//form</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//main//form</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='current_language'][contains(text(), 'en')]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='feed_url' and not(text())]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='gadget_style_url'][contains(text(), 'erp5_web_js_style_test_site/erp5_web_js_style_test_section_form/jsstyle_demo.html')]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='render_count'][contains(text(), '1')]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_id</td>
<td>erp5_web_js_style_test_frontpage</td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_title</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//button[@id='dialog_submit_button']//span[text()='Do It']</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='portal_status_message' and contains(text(), '')]</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//head/link[@rel='icon']</td>
<td></td>
</tr>
<tr>
<td colspan="3"><b>Check the form validation</b></td>
</tr>
<tr>
<td>store</td>
<td>javascript{selenium.browserbot.currentWindow.location.href}</td>
<td>original_form_location</td>
</tr>
<tr>
<td>type</td>
<td>field_your_id</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>field_your_title</td>
<td>temporary_foo_title</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>dialog_submit_button</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//header/h1[text()='JS Style Demo']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//main//form</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//main//form</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='current_language'][contains(text(), 'en')]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='feed_url' and not(text())]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='gadget_style_url'][contains(text(), 'erp5_web_js_style_test_site/erp5_web_js_style_test_section_form/jsstyle_demo.html')]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='render_count'][contains(text(), '1')]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_id</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_title</td>
<td>temporary_foo_title</td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='portal_status_message' and contains(text(), 'Input data has errors. Please look at the error messages below.')]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//span[@class='error' and contains(text(), 'Input is required but no input given.')]</td>
<td></td>
</tr>
<tr>
<td colspan="3"><b>Check the form URL is stable during validation</b></td>
</tr>
<tr>
<td>assertEval</td>
<td>(function() {return selenium.browserbot.currentWindow.location.href;})()
<td>${original_form_location}</td>
</tr>
<tr>
<td colspan="3"><b>Check the form submission</b></td>
</tr>
<tr>
<td>type</td>
<td>field_your_id</td>
<td>a</td>
</tr>
<tr>
<td>type</td>
<td>field_your_title</td>
<td>b</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>dialog_submit_button</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//header/h1[text()='JS Style Demo']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//main//form</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//main//form</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='current_language'][contains(text(), 'en')]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='feed_url' and not(text())]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='gadget_style_url'][contains(text(), 'erp5_web_js_style_test_site/erp5_web_js_style_test_section_form/jsstyle_demo.html')]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='render_count'][contains(text(), '1')]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_id</td>
<td>erp5_web_js_style_test_frontpage</td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_title</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='portal_status_message' and contains(text(), 'Submitted a b')]</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//span[@class='error' and contains(text(), 'Input is required but no input given.')]</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
......@@ -28,7 +28,7 @@
<!-- Initialize -->
<tr>
<td>open</td>
<td>${base_url}/web_site_module/erp5_web_js_style_test_site/</td>
<td>${base_url}/web_site_module/erp5_web_js_style_test_site</td>
<td></td>
</tr>
<tr>
......@@ -105,11 +105,21 @@
<tr>
<td colspan="3"><b>Check the form validation</b></td>
</tr>
<tr>
<td>store</td>
<td>javascript{selenium.browserbot.currentWindow.location.href}</td>
<td>original_form_location</td>
</tr>
<tr>
<td>type</td>
<td>field_your_id</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>field_your_title</td>
<td>temporary_foo_title</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>dialog_submit_button</td>
......@@ -160,7 +170,7 @@
<tr>
<td>assertValue</td>
<td>field_your_title</td>
<td>Demo Form</td>
<td>temporary_foo_title</td>
</tr>
<tr>
......@@ -174,6 +184,15 @@
<td></td>
</tr>
<tr>
<td colspan="3"><b>Check the form URL is stable during validation</b></td>
</tr>
<tr>
<td>assertEval</td>
<td>(function() {return selenium.browserbot.currentWindow.location.href;})()
<td>${original_form_location}</td>
</tr>
<tr>
<td colspan="3"><b>Check the form submission</b></td>
</tr>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>testJsStyleWebSiteFormAndDefaultPage</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>
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Test JS Style Demo Style</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">Test JS Style Demo Style</td></tr>
</thead><tbody>
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />
<tr>
<td>open</td>
<td>${base_url}/ERP5Site_createWebJSStyleZuiteTestData?configuration=form_and_default_page</td>
<td></td>
</tr>
<tr>
<td>assertTextPresent</td>
<td>Web Site created.</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />
<!-- Initialize -->
<tr>
<td>open</td>
<td>${base_url}/web_site_module/erp5_web_js_style_test_site/</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//head/link[@rel='prerender' and @href='jsstyle_demo.html']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//header/h1[text()='JS Style Demo']</td>
<td></td>
</tr>
<tr>
<td colspan="3"><b>Check the page content uses the web site</b></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//main//form</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//main//form</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='current_language'][contains(text(), 'en')]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='feed_url' and not(text())]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='gadget_style_url'][contains(text(), 'erp5_web_js_style_test_site/jsstyle_demo.html')]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='render_count'][contains(text(), '1')]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_id</td>
<td>erp5_web_js_style_test_frontpage</td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_title</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//button[@id='dialog_submit_button']//span[text()='Do It']</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='portal_status_message' and contains(text(), '')]</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//head/link[@rel='icon']</td>
<td></td>
</tr>
<tr>
<td colspan="3"><b>Check the form validation</b></td>
</tr>
<tr>
<td>store</td>
<td>javascript{selenium.browserbot.currentWindow.location.href}</td>
<td>original_form_location</td>
</tr>
<tr>
<td>type</td>
<td>field_your_id</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>field_your_title</td>
<td>temporary_foo_title</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>dialog_submit_button</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//header/h1[text()='JS Style Demo']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//main//form</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//main//form</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='current_language'][contains(text(), 'en')]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='feed_url' and not(text())]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='gadget_style_url'][contains(text(), 'erp5_web_js_style_test_site/jsstyle_demo.html')]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='render_count'][contains(text(), '1')]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_id</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_title</td>
<td>temporary_foo_title</td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='portal_status_message' and contains(text(), 'Input data has errors. Please look at the error messages below.')]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//span[@class='error' and contains(text(), 'Input is required but no input given.')]</td>
<td></td>
</tr>
<tr>
<td colspan="3"><b>Check the form URL is stable during validation</b></td>
</tr>
<tr>
<td>assertEval</td>
<td>(function() {return selenium.browserbot.currentWindow.location.href;})()
<td>${original_form_location}</td>
</tr>
<tr>
<td colspan="3"><b>Check the form submission</b></td>
</tr>
<tr>
<td>type</td>
<td>field_your_id</td>
<td>a</td>
</tr>
<tr>
<td>type</td>
<td>field_your_title</td>
<td>b</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>dialog_submit_button</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//header/h1[text()='JS Style Demo']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//main//form</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//main//form</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='current_language'][contains(text(), 'en')]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='feed_url' and not(text())]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='gadget_style_url'][contains(text(), 'erp5_web_js_style_test_site/jsstyle_demo.html')]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='render_count'][contains(text(), '1')]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_id</td>
<td>erp5_web_js_style_test_frontpage</td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_title</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='portal_status_message' and contains(text(), 'Submitted a b')]</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//span[@class='error' and contains(text(), 'Input is required but no input given.')]</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
......@@ -39,91 +39,91 @@
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:title' and @content='Meta Tag Form']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:title' and @content='Meta Tag Form']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:image' and @content='favicon.ico']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:image' and @content='favicon.ico']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='application-name' and @content='Meta Tag Form']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:site_name' and @content='Meta Tag Form']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='description' and @content='this is a form description']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:description' and @content='this is a form description']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:description' and @content='this is a form description']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='keywords' and @content='keyword1,keyword2']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:type' and @content='website']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:locale' and @content='en_US']</td>
<td></td>
</tr>
......@@ -141,91 +141,91 @@
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site/fr']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site/fr']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site/fr']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:title' and @content='Meta Tag Form']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:title' and @content='Meta Tag Form']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:image' and @content='favicon.ico']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:image' and @content='favicon.ico']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='application-name' and @content='Meta Tag Form']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:site_name' and @content='Meta Tag Form']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='description' and @content='this is a form description']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:description' and @content='this is a form description']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:description' and @content='this is a form description']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='keywords' and @content='keyword1,keyword2']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:type' and @content='website']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:locale' and @content='fr_FR']</td>
<td></td>
</tr>
......@@ -243,62 +243,62 @@
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:title' and @content='Demo Section 1']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:title' and @content='Demo Section 1']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:image' and @content='favicon.ico']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:image' and @content='favicon.ico']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='application-name' and @content='Meta Tag Form']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:site_name' and @content='Meta Tag Form']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:type' and @content='website']</td>
<td></td>
</tr>
......
......@@ -28,7 +28,7 @@
<!-- Initialize -->
<tr>
<td>open</td>
<td>${base_url}/web_site_module/erp5_web_js_style_test_site/</td>
<td>${base_url}/web_site_module/erp5_web_js_style_test_site</td>
<td></td>
</tr>
<tr>
......@@ -60,12 +60,12 @@
<td colspan="3"><b>Check the form content</b></td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>field_your_id</td>
<td>erp5_web_js_style_test_site</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>field_your_title</td>
<td>No Style Form</td>
</tr>
......@@ -78,11 +78,21 @@
<tr>
<td colspan="3"><b>Check the form validation</b></td>
</tr>
<tr>
<td>store</td>
<td>javascript{selenium.browserbot.currentWindow.location.href}</td>
<td>original_form_location</td>
</tr>
<tr>
<td>type</td>
<td>field_your_id</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>field_your_title</td>
<td>temporary_foo_title</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>dialog_submit_button</td>
......@@ -90,14 +100,14 @@
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>field_your_id</td>
<td></td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>field_your_title</td>
<td>No Style Form</td>
<td>temporary_foo_title</td>
</tr>
<tr>
......@@ -116,6 +126,15 @@
<td></td>
</tr>
<tr>
<td colspan="3"><b>Check the form URL is stable during validation</b></td>
</tr>
<tr>
<td>assertEval</td>
<td>(function() {return selenium.browserbot.currentWindow.location.href;})()
<td>${original_form_location}</td>
</tr>
<tr>
<td colspan="3"><b>Check the form submission</b></td>
</tr>
......@@ -136,12 +155,12 @@
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>field_your_id</td>
<td>erp5_web_js_style_test_site</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>field_your_title</td>
<td>No Style Form</td>
</tr>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>text/html</string> </value>
</item>
<item>
<key> <string>expand</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>testJsStyleWebSiteNoStyleFormAndDefaultPage</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>
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Test JS Style Demo Style</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">Test JS Style Demo Style</td></tr>
</thead><tbody>
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />
<tr>
<td>open</td>
<td>${base_url}/ERP5Site_createWebJSStyleZuiteTestData?configuration=nostyleform_and_default_page</td>
<td></td>
</tr>
<tr>
<td>assertTextPresent</td>
<td>Web Site created.</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />
<!-- Initialize -->
<tr>
<td>open</td>
<td>${base_url}/web_site_module/erp5_web_js_style_test_site/</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//head/link[@rel='prerender']</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//head/link[@rel='alternate' and @type='application/rss+xml' and @href='feed.rss']</td>
<td></td>
</tr>
<tr>
<td>waitForTextPresent</td>
<td>No Style Form</td>
<td></td>
</tr>
<tr>
<td colspan="3"><b>Check no document list is rendered</b></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//aside[@id='document_list']</td>
<td></td>
</tr>
<tr>
<td colspan="3"><b>Check the form content</b></td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_id</td>
<td>erp5_web_js_style_test_frontpage</td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_title</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//button[@id='dialog_submit_button']//span[text()='Do It']</td>
<td></td>
</tr>
<tr>
<td colspan="3"><b>Check the form validation</b></td>
</tr>
<tr>
<td>store</td>
<td>javascript{selenium.browserbot.currentWindow.location.href}</td>
<td>original_form_location</td>
</tr>
<tr>
<td>type</td>
<td>field_your_id</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>field_your_title</td>
<td>temporary_foo_title</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>dialog_submit_button</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_id</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_title</td>
<td>temporary_foo_title</td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='information_area' and contains(text(), 'Input data has errors. Please look at the error messages below.')]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='portal_status_message' and contains(text(), '')]</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//span[@class='error' and contains(text(), 'Input is required but no input given.')]</td>
<td></td>
</tr>
<tr>
<td colspan="3"><b>Check the form URL is stable during validation</b></td>
</tr>
<tr>
<td>assertEval</td>
<td>(function() {return selenium.browserbot.currentWindow.location.href;})()
<td>${original_form_location}</td>
</tr>
<tr>
<td colspan="3"><b>Check the form submission</b></td>
</tr>
<tr>
<td>type</td>
<td>field_your_id</td>
<td>a</td>
</tr>
<tr>
<td>type</td>
<td>field_your_title</td>
<td>b</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>dialog_submit_button</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_id</td>
<td>erp5_web_js_style_test_frontpage</td>
</tr>
<tr>
<td>assertValue</td>
<td>field_your_title</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//p[@id='information_area']</td>
<td></td>
</tr>
<tr>
<td>assertElementPresent</td>
<td>//p[@id='portal_status_message' and contains(text(), 'Submitted a b')]</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//span[@class='error' and contains(text(), 'Input is required but no input given.')]</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
......@@ -39,91 +39,91 @@
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:title' and @content='Meta Tag']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:title' and @content='Meta Tag']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:image' and @content='favicon.ico']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:image' and @content='favicon.ico']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='application-name' and @content='Meta Tag']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:site_name' and @content='Meta Tag']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='description' and @content='this is a description']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:description' and @content='this is a description']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:description' and @content='this is a description']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='keywords' and @content='keyword1,keyword2']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:type' and @content='website']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:locale' and @content='en_US']</td>
<td></td>
</tr>
......@@ -141,91 +141,91 @@
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site/fr']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site/fr']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site/fr']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:title' and @content='Meta Tag']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:title' and @content='Meta Tag']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:image' and @content='favicon.ico']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:image' and @content='favicon.ico']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='application-name' and @content='Meta Tag']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:site_name' and @content='Meta Tag']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='description' and @content='this is a description']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:description' and @content='this is a description']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:description' and @content='this is a description']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='keywords' and @content='keyword1,keyword2']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:type' and @content='website']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:locale' and @content='fr_FR']</td>
<td></td>
</tr>
......@@ -243,62 +243,62 @@
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:url' and @content='${base_url}/web_site_module/erp5_web_js_style_test_site']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:title' and @content='Demo Section 1']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:title' and @content='Demo Section 1']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:image' and @content='favicon.ico']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='twitter:image' and @content='favicon.ico']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@name='application-name' and @content='Meta Tag']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:site_name' and @content='Meta Tag']</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//meta[@property='og:type' and @content='website']</td>
<td></td>
</tr>
......
......@@ -183,6 +183,12 @@ configuration_dict = {
'custom_render_method_id': 'WebSite_viewJSStyleTestDialog',
'site_map_section_parent': True
},
'nostyleform_and_default_page': {
'title': "No Style Form",
'custom_render_method_id': 'WebSite_viewJSStyleTestDialog',
'site_map_section_parent': True,
'aggregate_value': module.restrictedTraverse(web_page_frontend_en_id)
},
'section': {
'configuration_style_gadget_url': "jsstyle_demo.html",
'title': "Demo Style",
......@@ -254,6 +260,13 @@ configuration_dict = {
'custom_render_method_id': 'WebSite_viewJSStyleTestDialog',
'site_map_section_parent': True
},
'form_and_default_page': {
'configuration_style_gadget_url': "jsstyle_demo.html",
'title': "Demo Form",
'custom_render_method_id': 'WebSite_viewJSStyleTestDialog',
'site_map_section_parent': True,
'aggregate_value': module.restrictedTraverse(web_page_frontend_en_id)
},
'empty_sitemap': {
'title': 'Empty Sitemap',
'configuration_style_gadget_url': "jsstyle_demo.html"
......@@ -298,12 +311,13 @@ web_site.newContent(
visible=True
)
if configuration == 'form':
if configuration in ('form', 'form_and_default_page'):
web_site.newContent(
portal_type=web_section_portal_type,
id='%sform' % web_section_id_prefix,
title="Demo Section Form",
custom_render_method_id='WebSite_viewJSStyleTestDialog'
custom_render_method_id='WebSite_viewJSStyleTestDialog',
aggregate_value=web_site.getAggregateValue()
)
return "Web Site created."
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment