Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
erp5
Commits
0585e3e0
Commit
0585e3e0
authored
Jan 26, 2018
by
Xiaowu Zhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
DateTimeValidator: pass value through request in order to be restored in case if validation fail
parent
e2c177a3
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
263 additions
and
1 deletion
+263
-1
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testRestoreDateTimeValueIfValidationError.xml
...field_zuite/testRestoreDateTimeValueIfValidationError.xml
+58
-0
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testRestoreDateTimeValueIfValidationError.zpt
...field_zuite/testRestoreDateTimeValueIfValidationError.zpt
+202
-0
product/Formulator/Validator.py
product/Formulator/Validator.py
+3
-1
No files found.
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testRestoreDateTimeValueIfValidationError.xml
0 → 100644
View file @
0585e3e0
<?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>
testRestoreDateTimeValueIfValidationError
</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>
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testRestoreDateTimeValueIfValidationError.zpt
0 → 100644
View file @
0585e3e0
<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 RenderJS UI
</title>
</head>
<body>
<table
cellpadding=
"1"
cellspacing=
"1"
border=
"1"
>
<thead>
<tr><td
rowspan=
"1"
colspan=
"3"
>
Test RenderJS UI
</td></tr>
</thead><tbody>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/macros/init"
/>
<!-- Clean Up -->
<tr>
<td>
open
</td>
<td>
${base_url}/bar_module/ListBoxZuite_reset
</td>
<td></td>
</tr>
<tr>
<td>
assertTextPresent
</td>
<td>
Reset Successfully.
</td>
<td></td>
</tr>
<!-- Initialize -->
<tr>
<td>
open
</td>
<td>
${base_url}/Foo_viewDateTimeField/my_start_date/manage_main
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name='subfield_field_start_datetime_year']
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='subfield_field_start_datetime_year']
</td>
<td>
2018
</td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='subfield_field_start_datetime_month']
</td>
<td>
11
</td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='subfield_field_start_datetime_day']
</td>
<td>
11
</td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='subfield_field_start_datetime_hour']
</td>
<td>
11
</td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='subfield_field_start_datetime_minute']
</td>
<td>
11
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//input[@value='Save Changes']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[@class='system-msg']
</td>
<td></td>
</tr>
<tr>
<td>
open
</td>
<td>
${base_url}/web_site_module/renderjs_runner/#/bar_module
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Add']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
link=Add
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/submit_dialog"
/>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_bar_datetime_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_start_date']
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//div[@data-gadget-scope='field_my_start_date']//input
</td>
<td>
2017-02-22T22:22
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@data-i18n='Save']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//button[@data-i18n='Save']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@class='error']
</td>
<td></td>
</tr>
<!--XXXXXX wait render -->
<tr>
<td>
pause
</td>
<td>
3000
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@value='2017-02-22T22:22:00']
</td>
<td></td>
</tr>
<tr>
<td>
open
</td>
<td>
${base_url}/Foo_viewDateTimeField/my_start_date/manage_main
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name='subfield_field_start_datetime_year']
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='subfield_field_start_datetime_year']
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='subfield_field_start_datetime_month']
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='subfield_field_start_datetime_day']
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='subfield_field_start_datetime_hour']
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='subfield_field_start_datetime_minute']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//input[@value='Save Changes']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[@class='system-msg']
</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
product/Formulator/Validator.py
View file @
0585e3e0
...
...
@@ -839,7 +839,9 @@ class DateTimeValidator(Validator):
except
(
'DateTimeError'
,
'Invalid Date Components'
,
'TimeError'
,
DateError
,
TimeError
)
:
self
.
raise_error
(
'not_datetime'
,
field
)
# pass value through request in order to be restored in case if validation fail
if
getattr
(
REQUEST
,
'form'
,
None
):
REQUEST
.
form
[
key
]
=
result
# check if things are within range
start_datetime
=
field
.
get_value
(
'start_datetime'
)
if
(
start_datetime
not
in
(
None
,
''
)
and
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment