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