Repository: zeppelin Updated Branches: refs/heads/master eca39e2f3 -> 118ad7de5
[MINOR] [ZEPPELIN-1043] Blocked in inaccessible notebook with blank page ### What is this PR for? Currently, when a user who doesn't have a permission for a notebook is trying to access to the notebook, a dialog is shown up. The user can login in this dialog or close it. But if the user is trying to just close this dialog, the location is not changed and still stay `/notebook/NOTE_ID` with blank page. So the user have to click somewhere manually. So I just added `$window.history.back()` so that it can go back to previous page. See the attached gif image :) ### What type of PR is it? Bug Fix ### Todos - [x] - Disable backdrop, ESC drop and close icon ### What is the Jira issue? [ZEPPELIN-1043](https://issues.apache.org/jira/browse/ZEPPELIN-1043) ### How should this be tested? 1. Apply this patch and activate shiro -> login with `admin` 2. Create a notebook and set a note permission (just fill all 3 fields with `admin`) 3. Logout with `admin` and login with `user1` 4. Try to access to the notebook -> a popup will be shown 5. Click `Cancel` -> Page will redirect to your previous location (home or the previous notebook page) ### Screenshots (if appropriate) - Before  - After When you were in home  When you were in the other notebook  ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: AhyoungRyu <[email protected]> Closes #1060 from AhyoungRyu/ZEPPELIN-1043 and squashes the following commits: f116391 [AhyoungRyu] Replace history.back() -> location.replace('/') 929cb0b [AhyoungRyu] Disable ESC drop, backdrop and close icon a1c92c0 [AhyoungRyu] Add history.back() when just closing dialog Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/118ad7de Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/118ad7de Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/118ad7de Branch: refs/heads/master Commit: 118ad7de5fdade4f77265ceaf7d3c4d15feb7013 Parents: eca39e2 Author: AhyoungRyu <[email protected]> Authored: Sat Jun 25 10:31:02 2016 -0700 Committer: Prabhjyot Singh <[email protected]> Committed: Sun Jun 26 15:05:14 2016 +0530 ---------------------------------------------------------------------- zeppelin-web/src/app/notebook/notebook.controller.js | 7 +++++-- .../websocketEvents/websocketEvents.factory.js | 11 +++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/zeppelin/blob/118ad7de/zeppelin-web/src/app/notebook/notebook.controller.js ---------------------------------------------------------------------- diff --git a/zeppelin-web/src/app/notebook/notebook.controller.js b/zeppelin-web/src/app/notebook/notebook.controller.js index bd75711..3a13057 100644 --- a/zeppelin-web/src/app/notebook/notebook.controller.js +++ b/zeppelin-web/src/app/notebook/notebook.controller.js @@ -16,7 +16,7 @@ 'use strict'; angular.module('zeppelinWebApp').controller('NotebookCtrl', - function($scope, $route, $routeParams, $location, $rootScope, $http, + function($scope, $route, $routeParams, $location, $rootScope, $http, $window, websocketMsgSrv, baseUrlSrv, $timeout, SaveAsService) { $scope.note = null; $scope.showEditor = false; @@ -724,7 +724,9 @@ angular.module('zeppelinWebApp').controller('NotebookCtrl', error(function (data, status, headers, config) { console.log('Error %o %o', status, data.message); BootstrapDialog.show({ - closable: true, + closable: false, + closeByBackdrop: false, + closeByKeyboard: false, title: 'Insufficient privileges', message: data.message, buttons: [ @@ -741,6 +743,7 @@ angular.module('zeppelinWebApp').controller('NotebookCtrl', label: 'Cancel', action: function (dialog) { dialog.close(); + $window.location.replace('/'); } } ] http://git-wip-us.apache.org/repos/asf/zeppelin/blob/118ad7de/zeppelin-web/src/components/websocketEvents/websocketEvents.factory.js ---------------------------------------------------------------------- diff --git a/zeppelin-web/src/components/websocketEvents/websocketEvents.factory.js b/zeppelin-web/src/components/websocketEvents/websocketEvents.factory.js index 3a261a7..e07fb16 100644 --- a/zeppelin-web/src/components/websocketEvents/websocketEvents.factory.js +++ b/zeppelin-web/src/components/websocketEvents/websocketEvents.factory.js @@ -13,7 +13,7 @@ */ 'use strict'; -angular.module('zeppelinWebApp').factory('websocketEvents', function($rootScope, $websocket, $location, baseUrlSrv) { +angular.module('zeppelinWebApp').factory('websocketEvents', function($rootScope, $websocket, $location, $window, baseUrlSrv) { var websocketCalls = {}; websocketCalls.ws = $websocket(baseUrlSrv.getWebsocketUrl()); @@ -61,7 +61,9 @@ angular.module('zeppelinWebApp').factory('websocketEvents', function($rootScope, $rootScope.$broadcast('setNoteMenu', data.notes); } else if (op === 'AUTH_INFO') { BootstrapDialog.show({ - closable: true, + closable: false, + closeByBackdrop: false, + closeByKeyboard: false, title: 'Insufficient privileges', message: data.info.toString(), buttons: [{ @@ -74,8 +76,9 @@ angular.module('zeppelinWebApp').factory('websocketEvents', function($rootScope, } }, { label: 'Cancel', - action: function(dialog){ - dialog.close(); + action: function(dialog) { + dialog.close(); + $window.location.replace('/'); } }] });
