From bf8d4c5406699c86f0f78db1752cf8d24fb25ab0 Mon Sep 17 00:00:00 2001
From: Xiaowu Zhang <xiaowu.zhang@tiolive.com>
Date: Fri, 29 Apr 2016 11:18:00 +0000
Subject: [PATCH] erp5_web_renderjs_ui: add editable mode & view mode concept
 for view

each view has both editable and view mode, they can be accessed and switched
Editable button bring to editable mode
View button select view instead of Tabs which is meaningless

/reviewed-on https://lab.nexedi.com/nexedi/erp5/merge_requests/108
---
 .../rjs_gadget_erp5_header_js.js              |   5 +-
 .../rjs_gadget_erp5_pt_actionpage_js.js       |   2 +-
 .../rjs_gadget_erp5_pt_tabpage_js.js          |  42 ++---
 .../testEditNotIndexedDocument.zpt            |  15 +-
 .../testFilterWithPreviousNext.zpt            |   2 +-
 .../testListboxInNoEditableMode.zpt           |  27 ++-
 .../testSortWithPreviousNext.zpt              |   2 +-
 .../testFormViewEditLink.zpt                  |   4 +-
 .../testFormViewEditableTabsLink.zpt          |   9 +-
 .../testFormViewTabsLink.zpt                  |   9 +-
 ...estReportViewDisplayReportSectionForms.zpt |   2 +-
 .../testReportViewDisplayUsualFields.zpt      |   9 +-
 ...stReportViewGetHeaderFromEditableValue.zpt |   8 +-
 ...geActionBackLinkRedirectToPreviousView.zpt |   2 +-
 .../testPageActionDontChangeMode.xml          |  58 ++++++
 .../testPageActionDontChangeMode.zpt          | 129 +++++++++++++
 ...tPageTabBackLinkRedirectToPreviousView.zpt |   6 +-
 .../testPageTabEditablesLinkList.zpt          |  15 +-
 .../testPageTabSwitchMode.xml                 |  58 ++++++
 .../testPageTabSwitchMode.zpt                 | 174 ++++++++++++++++++
 .../testPageTabViewsLinkList.zpt              |  10 +-
 ...ndHistoryPreviousJumpToPreviousContext.zpt |  22 ++-
 .../testSimpleCheckBoxField.zpt               |   2 +-
 .../testDateTimeDefaultToNow.zpt              |   4 +-
 .../testInvalidDateTime.zpt                   |   6 +-
 .../datetimefield_zuite/testLeapYear.zpt      |   6 +-
 .../testSetDateTimeZone.zpt                   |   6 +-
 .../testSetDateTimeZone2DigitsYear.zpt        |   6 +-
 .../testSetTimeZoneWithoutDateTime.zpt        |   6 +-
 .../testMultiRelationFieldCreate.zpt          |   4 +-
 .../relationfield_zuite/testRelationField.zpt |   6 +-
 .../testRelationFieldCreate.zpt               |   6 +-
 .../testSimpleMultiRelationField.zpt          |   6 +-
 .../testSimpleRelationFieldWithAccent.zpt     |   6 +-
 .../renderjs_ui_zuite/testCloneDocument.zpt   |  22 +--
 .../renderjs_ui_zuite/testDeleteDocument.zpt  |  16 +-
 36 files changed, 580 insertions(+), 132 deletions(-)
 create mode 100644 bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageActionDontChangeMode.xml
 create mode 100644 bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageActionDontChangeMode.zpt
 create mode 100644 bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabSwitchMode.xml
 create mode 100644 bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabSwitchMode.zpt

diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_header_js.js b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_header_js.js
index 6ba018272a..6e5c151c02 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_header_js.js
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_header_js.js
@@ -141,7 +141,8 @@
           ['back_url', 'Back', 'times']
         ],
         possible_right_link_list = [
-          ['edit_url', 'Edit', 'pencil']
+          ['edit_url', 'Editable', 'pencil'],
+          ['view_url', 'Viewable', 'eye']
         ],
         possible_right_button_list = [
           ['save_action', 'Save', 'check', 'submit'],
@@ -149,7 +150,7 @@
           ['filter_action', 'Filter', 'filter', 'submit']
         ],
         possible_sub_header_list = [
-          ['tab_url', 'Tabs', 'eye'],
+          ['tab_url', 'Views', 'eye'],
           ['jump_url', 'Jump', 'plane'],
           ['delete_url', 'Delete', 'times'],
           ['export_url', 'Export', 'share-square-o'],
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_actionpage_js.js b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_actionpage_js.js
index 16a42aca98..98b04eb0e2 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_actionpage_js.js
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_actionpage_js.js
@@ -62,7 +62,7 @@
           }
 
           for (i = 0; i < view_list.length; i += 1) {
-            promise_list.push(gadget.getUrlFor({command: 'change', options: {view: view_list[i].href, page: undefined, editable: undefined}}));
+            promise_list.push(gadget.getUrlFor({command: 'change', options: {view: view_list[i].href, page: undefined, editable: options.editable}}));
           }
           if (erp5_document._links.action_object_clone_action) {
             view_list.push(erp5_document._links.action_object_clone_action);
diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_tabpage_js.js b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_tabpage_js.js
index cea3a06b23..0801abac04 100644
--- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_tabpage_js.js
+++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_tabpage_js.js
@@ -49,6 +49,8 @@
         parent_queue,
         gadget = this,
         erp5_document,
+        tab_title = "Views",
+        tab_icon = options.editable ? "pencil" : "eye",
         jump_list;
 
       function handleParent(parent_link) {
@@ -100,16 +102,10 @@
           if (jump_list.constructor !== Array) {
             jump_list = [jump_list];
           }
-
-          promise_list.push(gadget.getUrlFor({command: 'change', options: {
-            view: "view",
-            page: undefined,
-            editable: undefined
-          }}));
           for (i = 0; i < view_list.length; i += 1) {
             promise_list.push(gadget.getUrlFor({command: 'change', options: {
               view: view_list[i].href,
-              editable: true,
+              editable: options.editable,
               page: undefined
             }}));
           }
@@ -126,7 +122,7 @@
         })
         .push(function (all_result) {
           var i, j;
-          j = 1;
+          j = 0;
           for (i = 0; i < view_list.length; i += 1) {
             tab_list.push({
               title: view_list[i].title,
@@ -143,18 +139,11 @@
             });
             j += 1;
           }
+
           return gadget.translateHtml(table_template({
-            definition_title: "Views",
-            definition_i18n: "Views",
-            definition_icon: "eye",
-            documentlist: [{
-              title: view_list[0].title,
-              link: all_result[0]
-            }]
-          }) + table_template({
-            definition_title: "Editables",
-            definition_i18n: "Editables",
-            definition_icon: "edit",
+            definition_title: tab_title,
+            definition_i18n: tab_title,
+            definition_icon: tab_icon,
             documentlist: tab_list
           }) + table_template({
             definition_title: "Jumps",
@@ -175,14 +164,23 @@
             gadget.getUrlFor({command: 'change', options: {
               page: undefined
             }}),
-            calculatePageTitle(gadget, erp5_document)
+            calculatePageTitle(gadget, erp5_document),
+            gadget.getUrlFor({command: 'change', options: {
+              editable: options.editable ? undefined : true
+            }})
           ]);
         })
         .push(function (url_list) {
-          return gadget.updateHeader({
+          var dict = {
             back_url: url_list[0],
             page_title: url_list[1]
-          });
+          };
+          if (options.editable) {
+            dict.view_url = url_list[2];
+          } else {
+            dict.edit_url = url_list[2];
+          }
+          return gadget.updateHeader(dict);
         });
     });
 
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testEditNotIndexedDocument.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testEditNotIndexedDocument.zpt
index c886c2c9c9..a5af73f64a 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testEditNotIndexedDocument.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testEditNotIndexedDocument.zpt
@@ -125,32 +125,33 @@
 
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n="Tabs"]</td>
+  <td>//a[@data-i18n="Views"]</td>
   <td></td>
 </tr>
 
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n="View"]</td>
+  <td>//div[@role="main"]//a[@data-i18n="View"]</td>
   <td></td>
 </tr>
 
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n="View"]</td>
+  <td>//div[@role="main"]//a[@data-i18n="View"]</td>
   <td></td>
 </tr>
 
 <tr>
-  <td>waitForTextPresent</td>
-  <td>2022-12-21</td>
+  <td>waitForElementPresent</td>
+  <td>//input[@title="listbox_start_date"]</td>
   <td></td>
 </tr>
 
+
 <tr>
-  <td>waitForTextPresent</td>
+  <td>verifyElementPresent</td>
+  <td>//input[@title="listbox_start_date"]</td>
   <td>2022-12-21</td>
-  <td></td>
 </tr>
 
 </tbody></table>
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testFilterWithPreviousNext.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testFilterWithPreviousNext.zpt
index c24a341838..c670e5a192 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testFilterWithPreviousNext.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testFilterWithPreviousNext.zpt
@@ -149,7 +149,7 @@
 
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Edit']</td>
+  <td>//a[@data-i18n='Editable']</td>
   <td></td>
 </tr>
 
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testListboxInNoEditableMode.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testListboxInNoEditableMode.zpt
index 3b2cf54e82..3a7d1b782c 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testListboxInNoEditableMode.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testListboxInNoEditableMode.zpt
@@ -118,19 +118,40 @@
 
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n="Tabs"]</td>
+  <td>//a[@data-i18n="Views"]</td>
   <td></td>
 </tr>
 
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//div[@data-gadget-scope="header"]//a[@data-i18n="Viewable"]</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>click</td>
+  <td>//div[@data-gadget-scope="header"]//a[@data-i18n="Viewable"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//div[@data-gadget-scope="header"]//a[@data-i18n="Editable"]</td>
+  <td></td>
+</tr>
+
+
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n="View"]</td>
+  <td>//div[@role="main"]//a[@data-i18n="View"]</td>
   <td></td>
 </tr>
 
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n="View"]</td>
+  <td>//div[@role="main"]//a[@data-i18n="View"]</td>
   <td></td>
 </tr>
 
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testSortWithPreviousNext.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testSortWithPreviousNext.zpt
index a77c6b61c6..493686684e 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testSortWithPreviousNext.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testSortWithPreviousNext.zpt
@@ -120,7 +120,7 @@
 
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Edit']</td>
+  <td>//a[@data-i18n='Editable']</td>
   <td></td>
 </tr>
 
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditLink.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditLink.zpt
index 66b430c2f6..055993ae5d 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditLink.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditLink.zpt
@@ -32,12 +32,12 @@
 <!-- Header has a link to the edit page -->
 <tr>
   <td>assertElementPresent</td>
-  <td>//div[@data-gadget-scope='header']//a[text()='Edit' and contains(@href, '#!change') and contains(@href, 'n.editable=true')]</td>
+  <td>//div[@data-gadget-scope='header']//a[text()='Editable' and contains(@href, '#!change') and contains(@href, 'n.editable=true')]</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//div[@data-gadget-scope='header']//a[text()='Edit' and contains(@href, '#!change') and contains(@href, 'n.editable=true')]</td>
+  <td>//div[@data-gadget-scope='header']//a[text()='Editable' and contains(@href, '#!change') and contains(@href, 'n.editable=true')]</td>
   <td></td>
 </tr>
 <tr>
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableTabsLink.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableTabsLink.zpt
index d4d15663ad..d79af4bb26 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableTabsLink.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewEditableTabsLink.zpt
@@ -32,12 +32,12 @@
 <!-- Header has a link to the action page -->
 <tr>
   <td>assertElementPresent</td>
-  <td>//div[@data-gadget-scope='header']//a[text()='Tabs' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
+  <td>//div[@data-gadget-scope='header']//a[text()='Views' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//div[@data-gadget-scope='header']//a[text()='Tabs' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
+  <td>//div[@data-gadget-scope='header']//a[text()='Views' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
   <td></td>
 </tr>
 <tr>
@@ -55,11 +55,6 @@
   <td>Views</td>
   <td></td>
 </tr>
-<tr>
-  <td>assertTextPresent</td>
-  <td>Editables</td>
-  <td></td>
-</tr>
 <tr>
   <td>assertTextPresent</td>
   <td>Jumps</td>
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewTabsLink.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewTabsLink.zpt
index c954e96606..3e9f932c1b 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewTabsLink.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormViewTabsLink.zpt
@@ -32,12 +32,12 @@
 <!-- Header has a link to the action page -->
 <tr>
   <td>assertElementPresent</td>
-  <td>//div[@data-gadget-scope='header']//a[text()='Tabs' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
+  <td>//div[@data-gadget-scope='header']//a[text()='Views' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//div[@data-gadget-scope='header']//a[text()='Tabs' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
+  <td>//div[@data-gadget-scope='header']//a[text()='Views' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
   <td></td>
 </tr>
 <tr>
@@ -55,11 +55,6 @@
   <td>Views</td>
   <td></td>
 </tr>
-<tr>
-  <td>assertTextPresent</td>
-  <td>Editables</td>
-  <td></td>
-</tr>
 <tr>
   <td>assertTextPresent</td>
   <td>Jumps</td>
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testReportViewDisplayReportSectionForms.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testReportViewDisplayReportSectionForms.zpt
index 7703260448..c37b56ef15 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testReportViewDisplayReportSectionForms.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testReportViewDisplayReportSectionForms.zpt
@@ -32,7 +32,7 @@
 <!-- Follow one link -->
 <tr>
   <td>click</td>
-  <td>//div[@data-gadget-scope='m']//a[text()='History' and contains(@href, '#!change') and contains(@href, 'history') and contains(@href, 'u.page=') and contains(@href, 'n.editable=true')]</td>
+  <td>//div[@data-gadget-scope='m']//a[text()='History' and contains(@href, '#!change') and contains(@href, 'history') and contains(@href, 'u.page=')]</td>
   <td></td>
 </tr>
 <tr>
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testReportViewDisplayUsualFields.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testReportViewDisplayUsualFields.zpt
index 2f1e43a3a0..47b6abdd1b 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testReportViewDisplayUsualFields.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testReportViewDisplayUsualFields.zpt
@@ -32,7 +32,7 @@
 <!-- Follow one link -->
 <tr>
   <td>click</td>
-  <td>//div[@data-gadget-scope='m']//a[text()='History' and contains(@href, '#!change') and contains(@href, 'history') and contains(@href, 'u.page=') and contains(@href, 'n.editable=true')]</td>
+  <td>//div[@data-gadget-scope='m']//a[text()='History' and contains(@href, '#!change') and contains(@href, 'history') and contains(@href, 'u.page=')]</td>
   <td></td>
 </tr>
 <tr>
@@ -40,6 +40,13 @@
   <td>//div[@data-gadget-url='${base_url}/web_site_module/renderjs_runner/gadget_erp5_pt_report_view.html']</td>
   <td></td>
 </tr>
+
+<tr>
+  <td>click</td>
+  <td>//a[@data-i18n="Editable"]</td>
+  <td></td>
+</tr>
+
 <tr>
   <td>waitForTextPresent</td>
   <td>View ZODB History</td>
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testReportViewGetHeaderFromEditableValue.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testReportViewGetHeaderFromEditableValue.zpt
index af40f62c97..b3ecd67901 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testReportViewGetHeaderFromEditableValue.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testReportViewGetHeaderFromEditableValue.zpt
@@ -32,7 +32,7 @@
 <!-- Follow one link -->
 <tr>
   <td>click</td>
-  <td>//div[@data-gadget-scope='m']//a[text()='History' and contains(@href, '#!change') and contains(@href, 'history') and contains(@href, 'u.page=') and contains(@href, 'n.editable=true')]</td>
+  <td>//div[@data-gadget-scope='m']//a[text()='History' and contains(@href, '#!change') and contains(@href, 'history') and contains(@href, 'u.page=')]</td>
   <td></td>
 </tr>
 <tr>
@@ -40,6 +40,12 @@
   <td>//div[@data-gadget-url='${base_url}/web_site_module/renderjs_runner/gadget_erp5_pt_report_view.html']</td>
   <td></td>
 </tr>
+<tr>
+  <td>click</td>
+  <td>//a[@data-i18n="Editable"]</td>
+  <td></td>
+</tr>
+
 <tr>
   <td>waitForTextPresent</td>
   <td>View ZODB History</td>
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageActionBackLinkRedirectToPreviousView.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageActionBackLinkRedirectToPreviousView.zpt
index ab91cbc755..efb71bd7b5 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageActionBackLinkRedirectToPreviousView.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageActionBackLinkRedirectToPreviousView.zpt
@@ -32,7 +32,7 @@
 <!-- Get the list of tabs -->
 <tr>
   <td>click</td>
-  <td>//div[@data-gadget-scope='header']//a[text()='Tabs' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
+  <td>//div[@data-gadget-scope='header']//a[text()='Views' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
   <td></td>
 </tr>
 <tr>
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageActionDontChangeMode.xml b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageActionDontChangeMode.xml
new file mode 100644
index 0000000000..b8d8295f70
--- /dev/null
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageActionDontChangeMode.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>testPageActionDontChangeMode</string> </value>
+        </item>
+        <item>
+            <key> <string>output_encoding</string> </key>
+            <value> <string>utf-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <unicode></unicode> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageActionDontChangeMode.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageActionDontChangeMode.zpt
new file mode 100644
index 0000000000..00686bffa7
--- /dev/null
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageActionDontChangeMode.zpt
@@ -0,0 +1,129 @@
+<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 Page Front</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Test Page Tab Breadcrumb List</td></tr>
+</thead><tbody>
+<tal:block metal:use-macro="here/PTZuite_CommonTemplate/macros/init" />
+
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/renderjs_runner/#/foo_module/1?page=tab</td>
+  <td></td>
+</tr>
+
+<!-- Wait for gadget to be loaded -->
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//div[@data-gadget-url='${base_url}/web_site_module/renderjs_runner/gadget_erp5_page_tab.html']</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForTextPresent</td>
+  <td>Title 1</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//div[@data-gadget-scope="header"]//a[@data-i18n="Editable"]</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//a[@data-i18n="Relation Fields"]</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>click</td>
+  <td>//a[@data-i18n="Relation Fields"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//a[@data-i18n="Views"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>verifyElementPresent</td>
+  <td>//a[@data-i18n="Editable"]</td>
+  <td></td>
+</tr>
+
+
+
+
+<tr>
+  <td>click</td>
+  <td>//a[@data-i18n="Actions"]</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//a[@data-i18n="Validate Action"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>click</td>
+  <td>//a[@data-i18n="Validate Action"]</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//button[@data-i18n="Proceed"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>click</td>
+  <td>//a[@data-i18n="Foo: Title 1"]</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//a[@data-i18n="Editable"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>verifyElementPresent</td>
+  <td>//a[@data-i18n="Editable"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>click</td>
+  <td>//a[@data-i18n="Editable"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//button[@data-i18n="Save"]</td>
+  <td></td>
+</tr>
+
+
+</tbody></table>
+</body>
+</html>
\ No newline at end of file
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabBackLinkRedirectToPreviousView.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabBackLinkRedirectToPreviousView.zpt
index dc606812f4..1525aca1f1 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabBackLinkRedirectToPreviousView.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabBackLinkRedirectToPreviousView.zpt
@@ -32,7 +32,7 @@
 <!-- Get the list of tabs -->
 <tr>
   <td>click</td>
-  <td>//div[@data-gadget-scope='header']//a[text()='Tabs' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
+  <td>//div[@data-gadget-scope='header']//a[text()='Views' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
   <td></td>
 </tr>
 <tr>
@@ -64,14 +64,14 @@
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//div[@data-gadget-scope='header']//a[text()='Tabs' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
+  <td>//div[@data-gadget-scope='header']//a[text()='Views' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
   <td></td>
 </tr>
 
 <!-- Follow breadcrumb link -->
 <tr>
   <td>click</td>
-  <td>//div[@data-gadget-scope='header']//a[text()='Tabs' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
+  <td>//div[@data-gadget-scope='header']//a[text()='Views' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
   <td></td>
 </tr>
 <tr>
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabEditablesLinkList.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabEditablesLinkList.zpt
index 26e0979eb3..6f30165c84 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabEditablesLinkList.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabEditablesLinkList.zpt
@@ -30,12 +30,22 @@
 </tr>
 
 <!-- Generate links to parents -->
+
 <tr>
-  <td>assertTextPresent</td>
-  <td>Editables</td>
+  <td>click</td>
+  <td>//div[@data-gadget-scope="header"]//a[@data-i18n="Editable"]</td>
   <td></td>
 </tr>
 
+
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//div[@data-gadget-scope='m']//a[text()='View' and contains(@href, '#!change') and contains(@href, 'n.view=') and contains(@href, 'u.page=') and contains(@href, 'n.editable=true')]</td>
+  <td></td>
+</tr>
+
+
 <tr>
   <td>assertElementPresent</td>
   <td>//div[@data-gadget-scope='m']//a[text()='View' and contains(@href, '#!change') and contains(@href, 'n.view=') and contains(@href, 'u.page=') and contains(@href, 'n.editable=true')]</td>
@@ -47,6 +57,7 @@
   <td></td>
 </tr>
 
+
 <!-- Follow one link -->
 <tr>
   <td>click</td>
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabSwitchMode.xml b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabSwitchMode.xml
new file mode 100644
index 0000000000..72a3656578
--- /dev/null
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabSwitchMode.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>testPageTabSwitchMode</string> </value>
+        </item>
+        <item>
+            <key> <string>output_encoding</string> </key>
+            <value> <string>utf-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <unicode></unicode> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabSwitchMode.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabSwitchMode.zpt
new file mode 100644
index 0000000000..4da7822bfa
--- /dev/null
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabSwitchMode.zpt
@@ -0,0 +1,174 @@
+<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 Page Front</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Test Page Tab Breadcrumb List</td></tr>
+</thead><tbody>
+<tal:block metal:use-macro="here/PTZuite_CommonTemplate/macros/init" />
+
+<tr>
+  <td>open</td>
+  <td>${base_url}/web_site_module/renderjs_runner/#/foo_module/1?page=tab</td>
+  <td></td>
+</tr>
+
+<!-- Wait for gadget to be loaded -->
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//div[@data-gadget-url='${base_url}/web_site_module/renderjs_runner/gadget_erp5_page_tab.html']</td>
+  <td></td>
+</tr>
+<tr>
+  <td>waitForTextPresent</td>
+  <td>Title 1</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//div[@data-gadget-scope="header"]//a[@data-i18n="Editable"]</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//a[@data-i18n="Relation Fields"]</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>click</td>
+  <td>//a[@data-i18n="Relation Fields"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//a[@data-i18n="Views"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>verifyElementPresent</td>
+  <td>//a[@data-i18n="Editable"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>click</td>
+  <td>//a[@data-i18n="Views"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//a[@data-i18n="Relation Fields"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>verifyElementPresent</td>
+  <td>//div[@data-gadget-scope="header"]//a[@data-i18n="Editable"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>click</td>
+  <td>//div[@data-gadget-scope="header"]//a[@data-i18n="Editable"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//div[@data-gadget-scope="header"]//a[@data-i18n="Viewable"]</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//a[@data-i18n="Relation Fields"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>click</td>
+  <td>//a[@data-i18n="Relation Fields"]</td>
+  <td></td>
+</tr>
+
+
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//button[@data-i18n="Save"]</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>click</td>
+  <td>//a[@data-i18n="Views"]</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//div[@data-gadget-scope="header"]//a[@data-i18n="Viewable"]</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>click</td>
+  <td>//div[@data-gadget-scope="header"]//a[@data-i18n="Viewable"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//div[@data-gadget-scope="header"]//a[@data-i18n="Editable"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//a[@data-i18n="Relation Fields"]</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>click</td>
+  <td>//a[@data-i18n="Relation Fields"]</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//a[@data-i18n="Views"]</td>
+  <td></td>
+</tr>
+
+
+<tr>
+  <td>verifyElementPresent</td>
+  <td>//a[@data-i18n="Editable"]</td>
+  <td></td>
+</tr>
+
+
+</tbody></table>
+</body>
+</html>
\ No newline at end of file
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabViewsLinkList.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabViewsLinkList.zpt
index f6a2bb1577..3c9015aae8 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabViewsLinkList.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageTabViewsLinkList.zpt
@@ -30,22 +30,18 @@
 </tr>
 
 <!-- Generate links to parents -->
-<tr>
-  <td>assertTextPresent</td>
-  <td>Views</td>
-  <td></td>
-</tr>
+
 
 <tr>
   <td>assertElementPresent</td>
-  <td>//div[@data-gadget-scope='m']//a[text()='View' and contains(@href, '#!change') and contains(@href, 'n.view=view') and contains(@href, 'u.page=') and contains(@href, 'u.editable=')]</td>
+  <td>//div[@data-gadget-scope='m']//a[text()='View' and contains(@href, '#!change') and contains(@href, 'u.page=') and contains(@href, 'u.editable=')]</td>
   <td></td>
 </tr>
 
 <!-- Follow one link -->
 <tr>
   <td>click</td>
-  <td>//div[@data-gadget-scope='m']//a[text()='View' and contains(@href, '#!change') and contains(@href, 'n.view=view') and contains(@href, 'u.page=') and contains(@href, 'u.editable=')]</td>
+  <td>//div[@data-gadget-scope='m']//a[text()='View' and contains(@href, '#!change') and contains(@href, 'u.page=') and contains(@href, 'u.editable=')]</td>
   <td></td>
 </tr>
 <tr>
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_router_zuite/testCommandHistoryPreviousJumpToPreviousContext.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_router_zuite/testCommandHistoryPreviousJumpToPreviousContext.zpt
index 88df56fc84..fa070a3936 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_router_zuite/testCommandHistoryPreviousJumpToPreviousContext.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_router_zuite/testCommandHistoryPreviousJumpToPreviousContext.zpt
@@ -70,7 +70,7 @@
 <!-- create a second history context by creating a subdocument -->
 <tr>
   <td>click</td>
-  <td>//div[@data-gadget-scope='header']//a[text()='Edit' and contains(@href, '#!change') and contains(@href, 'n.editable=true')]</td>
+  <td>//div[@data-gadget-scope='header']//a[text()='Editable' and contains(@href, '#!change') and contains(@href, 'n.editable=true')]</td>
   <td></td>
 </tr>
 <tr>
@@ -95,12 +95,12 @@
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//div[@data-gadget-scope='header']//a[text()='Tabs' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
+  <td>//div[@data-gadget-scope='header']//a[text()='Views' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//div[@data-gadget-scope='header']//a[text()='Tabs' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
+  <td>//div[@data-gadget-scope='header']//a[text()='Views' and contains(@href, '#!change') and contains(@href, 'n.page=tab')]</td>
   <td></td>
 </tr>
 <tr>
@@ -108,9 +108,23 @@
   <td>//div[@data-gadget-url='${base_url}/web_site_module/renderjs_runner/gadget_erp5_page_tab.html']</td>
   <td></td>
 </tr>
+
+<tr>
+  <td>click</td>
+  <td>//a[@data-i18n="Viewable"]</td>
+  <td></td>
+</tr>
+
+<tr>
+  <td>waitForElementPresent</td>
+  <td>//a[@data-i18n="Editable"]</td>
+  <td></td>
+</tr>
+
+
 <tr>
   <td>click</td>
-  <td>//div[@data-gadget-scope='m']//a[text()='View' and contains(@href, '#!change') and contains(@href, 'n.view=view') and contains(@href, 'u.page=') and contains(@href, 'u.editable=')]</td>
+  <td>//div[@data-gadget-scope='m']//a[text()='View' and contains(@href, '#!change') and contains(@href, 'u.page=') and contains(@href, 'u.editable=')]</td>
   <td></td>
 </tr>
 <tr>
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/checkboxfield_zuite/testSimpleCheckBoxField.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/checkboxfield_zuite/testSimpleCheckBoxField.zpt
index 1d5da32432..fcf194709a 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/checkboxfield_zuite/testSimpleCheckBoxField.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/checkboxfield_zuite/testSimpleCheckBoxField.zpt
@@ -81,7 +81,7 @@
 
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testDateTimeDefaultToNow.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testDateTimeDefaultToNow.zpt
index 8b3deabb66..c1fc7e7728 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testDateTimeDefaultToNow.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testDateTimeDefaultToNow.zpt
@@ -56,12 +56,12 @@
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testInvalidDateTime.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testInvalidDateTime.zpt
index ae6dbbd83e..b37d58f1ef 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testInvalidDateTime.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testInvalidDateTime.zpt
@@ -56,12 +56,12 @@
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
@@ -103,7 +103,7 @@
 
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testLeapYear.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testLeapYear.zpt
index 749267f419..4366a37610 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testLeapYear.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testLeapYear.zpt
@@ -56,12 +56,12 @@
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
@@ -100,7 +100,7 @@
 
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testSetDateTimeZone.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testSetDateTimeZone.zpt
index 1bd7849ce9..4b21a7421b 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testSetDateTimeZone.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testSetDateTimeZone.zpt
@@ -56,12 +56,12 @@
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
@@ -106,7 +106,7 @@
 
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testSetDateTimeZone2DigitsYear.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testSetDateTimeZone2DigitsYear.zpt
index 7f92acd31b..8b462c4956 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testSetDateTimeZone2DigitsYear.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testSetDateTimeZone2DigitsYear.zpt
@@ -56,12 +56,12 @@
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
@@ -117,7 +117,7 @@
 
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testSetTimeZoneWithoutDateTime.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testSetTimeZoneWithoutDateTime.zpt
index 1affa040c7..fe16c5e39e 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testSetTimeZoneWithoutDateTime.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/datetimefield_zuite/testSetTimeZoneWithoutDateTime.zpt
@@ -56,12 +56,12 @@
 </tr>
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
@@ -93,7 +93,7 @@
 
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldCreate.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldCreate.zpt
index 60ca6721ee..adb58e18fd 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldCreate.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldCreate.zpt
@@ -67,12 +67,12 @@
 
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testRelationField.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testRelationField.zpt
index 5f1cfb631b..c86cc3aedf 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testRelationField.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testRelationField.zpt
@@ -112,12 +112,12 @@
 
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
@@ -167,7 +167,7 @@
 
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testRelationFieldCreate.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testRelationFieldCreate.zpt
index ad5958e614..ebaf232a5b 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testRelationFieldCreate.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testRelationFieldCreate.zpt
@@ -67,12 +67,12 @@
 
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
@@ -146,7 +146,7 @@
 
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n="Tabs"]</td>
+  <td>//a[@data-i18n="Views"]</td>
   <td></td>
 </tr>
 
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testSimpleMultiRelationField.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testSimpleMultiRelationField.zpt
index c04611edc1..97006d3f62 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testSimpleMultiRelationField.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testSimpleMultiRelationField.zpt
@@ -67,12 +67,12 @@
 
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
@@ -167,7 +167,7 @@
 
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testSimpleRelationFieldWithAccent.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testSimpleRelationFieldWithAccent.zpt
index 44da5c6cae..e2da2eedee 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testSimpleRelationFieldWithAccent.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testSimpleRelationFieldWithAccent.zpt
@@ -67,12 +67,12 @@
 
 <tr>
   <td>waitForElementPresent</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n='Tabs']</td>
+  <td>//a[@data-i18n='Views']</td>
   <td></td>
 </tr>
 
@@ -147,7 +147,7 @@
 
 <tr>
   <td>click</td>
-  <td>//a[@data-i18n="Tabs"]</td>
+  <td>//a[@data-i18n="Views"]</td>
   <td></td>
 </tr>
 
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/testCloneDocument.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/testCloneDocument.zpt
index fd44e98457..8e1ccce3d4 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/testCloneDocument.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/testCloneDocument.zpt
@@ -174,34 +174,18 @@
 
 <tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/save" />
 
-<tr>
-  <td>click</td>
-  <td>//a[@data-i18n="Tabs"]</td>
-  <td></td>
-</tr>
-
-<tr>
-  <td>waitForElementPresent</td>
-  <td>//a[@data-i18n="View"]</td>
-  <td></td>
-</tr>
 
-<tr>
-  <td>click</td>
-  <td>//a[@data-i18n="View"]</td>
-  <td></td>
-</tr>
 
 <tr>
   <td>waitForElementPresent</td>
-  <td>//div[@data-gadget-scope="field_my_short_title"]</td>
+  <td>//input[@name="field_my_short_title"]</td>
   <td></td>
 </tr>
 
 
 <tr>
-  <td>verifyText</td>
-  <td>//div[@data-gadget-scope="field_my_short_title"]</td>
+  <td>verifyValue</td>
+  <td>//input[@name="field_my_short_title"]</td>
   <td>test_clone</td>
 </tr>
 
diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/testDeleteDocument.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/testDeleteDocument.zpt
index 89887cf9f6..d25febb50d 100644
--- a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/testDeleteDocument.zpt
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/testDeleteDocument.zpt
@@ -256,7 +256,7 @@
 
 <tr>
  	<td>waitForElementPresent</td>
- 	<td>//a[@data-i18n="Edit"]</td>
+ 	<td>//a[@data-i18n="Editable"]</td>
  	<td></td>
 </tr>
 
@@ -280,13 +280,13 @@
 
 <tr>
  	<td>waitForElementPresent</td>
- 	<td>//a[@data-i18n="Edit"]</td>
+ 	<td>//a[@data-i18n="Editable"]</td>
  	<td></td>
 </tr>
 
 <tr>
  	<td>click</td>
- 	<td>//a[@data-i18n="Edit"]</td>
+ 	<td>//a[@data-i18n="Editable"]</td>
   <td></td>
 </tr>
 
@@ -316,7 +316,7 @@
  
 <tr>
  	<td>waitForElementPresent</td>
-  <td>//a[@data-i18n="Edit"]</td>
+  <td>//a[@data-i18n="Editable"]</td>
  	<td></td>
 </tr>
 
@@ -347,13 +347,13 @@
 
 <tr>
  	<td>waitForElementPresent</td>
- 	<td>//a[@data-i18n="Edit"]</td>
+ 	<td>//a[@data-i18n="Editable"]</td>
  	<td></td>
 </tr>
 
 <tr>
  	<td>click</td>
- 	<td>//a[@data-i18n="Edit"]</td>
+ 	<td>//a[@data-i18n="Editable"]</td>
   <td></td>
 </tr>
 
@@ -383,7 +383,7 @@
  
 <tr>
  	<td>waitForElementPresent</td>
-  <td>//a[@data-i18n="Edit"]</td>
+  <td>//a[@data-i18n="Editable"]</td>
  	<td></td>
 </tr>
 
@@ -409,7 +409,7 @@
 
 <tr>
   <td>click</td>
- 	<td>//a[@data-i18n="Edit"]</td>
+ 	<td>//a[@data-i18n="Editable"]</td>
  	<td></td>
 </tr>
 
-- 
2.30.9