details:   https://code.openbravo.com/erp/devel/pi/rev/67bff0d741de
changeset: 28033:67bff0d741de
user:      Carlos Aristu <carlos.aristu <at> openbravo.com>
date:      Tue Nov 24 09:37:08 2015 +0100
summary:   fixes issue 29259: Request with targetRecordId but without 
directNavigation

After pressing F5, it was not existing any mechanism to set the 
directNavigation parameter when refreshing the window. Besides, when closing 
the form view, the information of the record opened in form view (targetTabId 
and targetRecordId) was not being deleted from the URL.

Now, after closing the form view, that information is deleted from the URL. 
This way, if we refresh the window and that information is present in the URL, 
it means that the request must be done as direct navigation.

diffstat:

 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
         |  1 +
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
     |  6 ++++++
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-window.js
   |  6 ++++++
 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-view-manager.js
 |  5 +++--
 4 files changed, 16 insertions(+), 2 deletions(-)

diffs (65 lines):

diff -r c0da94ad2e83 -r 67bff0d741de 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
     Mon Nov 23 20:14:25 2015 +0000
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
     Tue Nov 24 09:37:08 2015 +0100
@@ -1592,6 +1592,7 @@
     }
 
     this.view.standardWindow.setDirtyEditForm(null);
+    this.view.clearTargetRecordInWindow();
   },
 
   autoSave: function (parameters) {
diff -r c0da94ad2e83 -r 67bff0d741de 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
 Mon Nov 23 20:14:25 2015 +0000
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js
 Tue Nov 24 09:37:08 2015 +0100
@@ -1112,6 +1112,12 @@
     }
   },
 
+  clearTargetRecordInWindow: function () {
+    if (this.isActiveView()) {
+      this.standardWindow.clearTargetInformation();
+    }
+  },
+
   setRecentDocument: function (record) {
     var params = this.standardWindow.getBookMarkParams();
     params.targetTabId = this.tabId;
diff -r c0da94ad2e83 -r 67bff0d741de 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-window.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-window.js
       Mon Nov 23 20:14:25 2015 +0000
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-window.js
       Tue Nov 24 09:37:08 2015 +0100
@@ -1237,6 +1237,12 @@
     OB.Layout.HistoryManager.updateHistory();
   },
 
+  clearTargetInformation: function () {
+    this.targetTabId = null;
+    this.targetRecordId = null;
+    OB.Layout.HistoryManager.updateHistory();
+  },
+
   getView: function (tabId) {
     // find is a SC extension on arrays
     return this.views.find('tabId', tabId);
diff -r c0da94ad2e83 -r 67bff0d741de 
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-view-manager.js
--- 
a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-view-manager.js
     Mon Nov 23 20:14:25 2015 +0000
+++ 
b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/utilities/ob-view-manager.js
     Tue Nov 24 09:37:08 2015 +0100
@@ -351,8 +351,8 @@
 
           if (direct) {
             // set directly opened tab and all its ancestors as 
directNavigation
-            if (params && params.id) {
-              var tabId = params.id;
+            if (params && (params.id || params.targetTabId)) {
+              var tabId = params.id || params.targetTabId;
 
               if (viewInstance.view && viewInstance.view.tabId === tabId) {
                 viewInstance.view.directNavigation = true;
@@ -455,6 +455,7 @@
               message: 'The view ' + viewName + ' not defined'
             };
           }
+          direct = direct || (params.targetRecordId !== undefined && 
params.targetRecordId !== null);
           showTab(viewName, params, null, direct);
         }
         if (isc[viewName]) {

------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741551&iu=/4140
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to