diff --git a/bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Base_edit.py b/bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Base_edit.py index 3d52f8d39dec329ec49cc7578487b6b51b1ae381..f5631b1f14f3ea5b93ffa717dc3f81c02479ec81 100644 --- a/bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Base_edit.py +++ b/bt5/erp5_hal_json_style/SkinTemplateItem/portal_skins/erp5_hal_json_style/Base_edit.py @@ -256,4 +256,4 @@ if context.REQUEST.get('is_web_mode', False) and \ not editable_mode: form_id = 'view' -return context.Base_redirect(keep_items={'portal_status_message': message}) +return context.Base_renderForm(form_id, message=message) diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_form_js.js b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_form_js.js index 32f666254942d8b3cdf31c308f8d99124ef2bf1a..d19d6f05cd7a7644ea618642092704b7b4a754af 100644 --- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_form_js.js +++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_form_js.js @@ -178,7 +178,8 @@ and handling data send&receive. erp5_document: undefined, erp5_form: undefined, url: undefined, - embedded: asBoolean(options.embedded) + embedded: asBoolean(options.embedded), + is_refresh: options.is_refresh || false }; // options.editable differs when it comes from the erp5_launcher of FormBox - try to unify it here @@ -277,7 +278,7 @@ and handling data send&receive. erp5_document = JSON.parse(gadget.state.erp5_document), erp5_form = JSON.parse(gadget.state.erp5_form); - if (modification_dict.hasOwnProperty('url')) { + if ((!gadget.state.is_refresh) || modification_dict.hasOwnProperty('url')) { queue = gadget.declareGadget(gadget.state.url, {scope: "fg"}); } else { queue = gadget.getDeclaredGadget("fg"); @@ -300,7 +301,7 @@ and handling data send&receive. return page_template_gadget.render(sub_options); }) .push(function () { - if (modification_dict.hasOwnProperty('url')) { + if ((!gadget.state.is_refresh) || modification_dict.hasOwnProperty('url')) { return page_template_gadget.getElement() .push(function (fragment) { var element = gadget.element; @@ -409,6 +410,7 @@ and handling data send&receive. // We modify inplace state.options because render method uses and removes // erp5_document hidden in its options. options.erp5_document = erp5_document; + options.is_refresh = true; return new RSVP.Queue() .push(function () { if (response_view._notification === undefined) { diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testDateTimeFieldUpdate.xml b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testDateTimeFieldUpdate.xml new file mode 100644 index 0000000000000000000000000000000000000000..758a2a208a9e2ea73cc935be24ff42613eabde20 --- /dev/null +++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testDateTimeFieldUpdate.xml @@ -0,0 +1,58 @@ + + + + + + + + + + _bind_names + + + + + + + + + + _asgns + + + + name_subpath + traverse_subpath + + + + + + + + + + + content_type + text/html + + + expand + 0 + + + id + testDateTimeFieldUpdate + + + output_encoding + utf-8 + + + title + + + + + + diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testDateTimeFieldUpdate.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testDateTimeFieldUpdate.zpt new file mode 100644 index 0000000000000000000000000000000000000000..5fee877bfdcfcc9834ab6b20ab45aa8c0b503c98 --- /dev/null +++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testDateTimeFieldUpdate.zpt @@ -0,0 +1,86 @@ + + + +Test RenderJS UI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test RenderJS UI
open${base_url}/bar_module/ListBoxZuite_reset
assertTextPresentReset Successfully.
open${base_url}/bar_module/BarModule_createObjects?num:int=1
assertTextPresentCreated Successfully.
open${base_url}/web_site_module/renderjs_runner/#/bar_module/0?editable=true
waitForElementPresent//input[@name='field_my_start_date']
storeValue//input[@name='field_my_start_date']start_date_value
type//input[@name='field_my_start_date']2019-04-23T01:01:00
chooseOkOnNextConfirmation
click //a[@class="active" and text()='DateTimeField']
pause 1000
verifyValue//input[@name='field_my_start_date']${start_date_value}
+ + \ No newline at end of file diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableNextWithEditedField.xml b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableNextWithEditedField.xml new file mode 100644 index 0000000000000000000000000000000000000000..eb097c20ba66031234d41066894655f76c4a0fac --- /dev/null +++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableNextWithEditedField.xml @@ -0,0 +1,58 @@ + + + + + + + + + + _bind_names + + + + + + + + + + _asgns + + + + name_subpath + traverse_subpath + + + + + + + + + + + content_type + text/html + + + expand + 0 + + + id + testFormViewEditableNextWithEditedField + + + output_encoding + utf-8 + + + title + + + + + + diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableNextWithEditedField.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableNextWithEditedField.zpt new file mode 100644 index 0000000000000000000000000000000000000000..86989859fba22fb2103c260935d20ff3097d37fe --- /dev/null +++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableNextWithEditedField.zpt @@ -0,0 +1,90 @@ + + + +Test Form View Next With Edited Field + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test Form View Next With Edited Field, two Foos have empty short title, one is edited but not saved, next short title field should be reset.
open${base_url}/foo_module/ListBoxZuite_reset
assertTextPresentReset Successfully.
open${base_url}/foo_module/FooModule_createObjects?num:int=2
waitForTextPresentCreated Successfully.
open${base_url}/web_site_module/renderjs_runner/#/foo_module?editable=true
click//a[text()='Title 0']
typefield_my_short_titleHello
chooseOkOnNextConfirmation
click//div[@data-gadget-scope='header']//a[text()='Next' and contains(@href, '#!selection_next')]
pause 1000
verifyValuefield_my_short_title
+ + \ No newline at end of file diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableSaveActionContinuingEditingInputField.xml b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableSaveActionContinuingEditingInputField.xml new file mode 100644 index 0000000000000000000000000000000000000000..bc1af0017cc05491e7b0c528578316ab79f5c14e --- /dev/null +++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableSaveActionContinuingEditingInputField.xml @@ -0,0 +1,58 @@ + + + + + + + + + + _bind_names + + + + + + + + + + _asgns + + + + name_subpath + traverse_subpath + + + + + + + + + + + content_type + text/html + + + expand + 0 + + + id + testFormViewEditableSaveActionContinuingEditingInputField + + + output_encoding + utf-8 + + + title + + + + + + diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableSaveActionContinuingEditingInputField.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableSaveActionContinuingEditingInputField.zpt new file mode 100644 index 0000000000000000000000000000000000000000..0c16c85a54dac655cf256c9b3f2ac6e5cefbdd3c --- /dev/null +++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableSaveActionContinuingEditingInputField.zpt @@ -0,0 +1,62 @@ + + + +Test Form View Editable Save Action Continuing Editing Input Field + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test Form View Editable Save Action Continuing Editing Input Field, one Foo have empty short title which is edited, saved and edited during the saving process. New typed values should be kept.
open${base_url}/web_site_module/renderjs_runner/#/foo_module/1?editable=true
typefield_my_short_titleHello
click//div[@data-gadget-scope='header']//button[text()='Save' and @type='submit']
typefield_my_short_titleWorld
pause 1000
verifyValuefield_my_short_titleWorld
open${base_url}/foo_module/1/getShortTitle
assertTextPresentHello
+ + \ No newline at end of file diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableSaveActionContinuingEditingLinesField.xml b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableSaveActionContinuingEditingLinesField.xml new file mode 100644 index 0000000000000000000000000000000000000000..f3a9bd60bc7d781813261f4c76e7cb3dea0600e0 --- /dev/null +++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableSaveActionContinuingEditingLinesField.xml @@ -0,0 +1,58 @@ + + + + + + + + + + _bind_names + + + + + + + + + + _asgns + + + + name_subpath + traverse_subpath + + + + + + + + + + + content_type + text/html + + + expand + 0 + + + id + testFormViewEditableSaveActionContinuingEditingLinesField + + + output_encoding + utf-8 + + + title + + + + + + diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableSaveActionContinuingEditingLinesField.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableSaveActionContinuingEditingLinesField.zpt new file mode 100644 index 0000000000000000000000000000000000000000..836659bcf0e335e65af053372c3584acac58f84c --- /dev/null +++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableSaveActionContinuingEditingLinesField.zpt @@ -0,0 +1,62 @@ + + + +Test Form View Editable Save Action Continuing Editing Lines Field + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test Form View Editable Save Action Continuing Editing Lines Field, one Foo have empty line list which is edited, saved and edited during the saving process. New typed values should be kept.
open${base_url}/web_site_module/renderjs_runner/#/foo_module/1?editable=true
typefield_my_lines_listHello
click//div[@data-gadget-scope='header']//button[text()='Save' and @type='submit']
typefield_my_lines_listWorld
pause 1000
verifyValuefield_my_lines_listWorld
open${base_url}/foo_module/1/getProperty?key=lines_list
assertTextPresent('Hello',)
+ + \ No newline at end of file diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableTitle.xml b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableTitle.xml new file mode 100644 index 0000000000000000000000000000000000000000..068436cb1a4f52140b2ee4381998ccea4ab71724 --- /dev/null +++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableTitle.xml @@ -0,0 +1,58 @@ + + + + + + + + + + _bind_names + + + + + + + + + + _asgns + + + + name_subpath + traverse_subpath + + + + + + + + + + + content_type + text/html + + + expand + 0 + + + id + testFormViewEditableTitle + + + output_encoding + utf-8 + + + title + + + + + + diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableTitle.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableTitle.zpt new file mode 100644 index 0000000000000000000000000000000000000000..5352fef1620b35370bed249fd63961b4822fcad7 --- /dev/null +++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableTitle.zpt @@ -0,0 +1,52 @@ + + + +Test Form View Editable Save Action Continuing Editing Lines Field + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test Form View Editable Save Action Continuing Editing Lines Field, one Foo have empty line list which is edited, saved and edited during the saving process. New typed values should be kept.
open${base_url}/web_site_module/renderjs_runner/#/foo_module/1?editable=true
verifyValuefield_my_titleTitle 1
assertElementPresent//div[@data-gadget-scope="header"]//*[text()="Foo: Title 1"]
typefield_my_titleNew Title for Test 1
verifyValuefield_my_titleNew Title for Test 1
assertElementPresent//div[@data-gadget-scope="header"]//*[text()="Foo: New Title for Test 1"]
+ + \ No newline at end of file diff --git a/bt5/erp5_web_renderjs_ui_test/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui_test/Zuite_CommonTemplateForRenderjsUi.zpt b/bt5/erp5_web_renderjs_ui_test/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui_test/Zuite_CommonTemplateForRenderjsUi.zpt index 005d42c4cadce680c87bb9b1ad4cddfb00f99937..247c22302880ff5c30a6400591fcb1cc61e6ed38 100644 --- a/bt5/erp5_web_renderjs_ui_test/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui_test/Zuite_CommonTemplateForRenderjsUi.zpt +++ b/bt5/erp5_web_renderjs_ui_test/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui_test/Zuite_CommonTemplateForRenderjsUi.zpt @@ -40,28 +40,18 @@ Save - - - waitForElementPresent - //div[contains(@data-gadget-url, 'gadget_erp5_header.html')]//h1//*[contains(@class, "ui-icon-spinner")] - - - - assertElementPresent - //div[contains(@data-gadget-url, 'gadget_erp5_header.html')]//h1//*[contains(@class, "ui-icon-spinner")] - - verifyElementPresent //button[@data-i18n="Save"][contains(@class, "ui-disabled")] + + - verifyElementPresent //button[@data-i18n="Save"][contains(@class, "ui-icon-check")]