diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c99d6efef3..fdd384626dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # 2.0.0-RC1 (unreleased) **FIxes** +- [Issue #1703](https://github.com/grafana/grafana/issues/1703). Unsaved changes: Do not show for users with role `Viewer` - [Issue #1675](https://github.com/grafana/grafana/issues/1675). Data source proxy: Fixed issue with Gzip enabled and data source proxy - [Issue #1681](https://github.com/grafana/grafana/issues/1681). MySQL session: fixed problem using mysql as session store - [Issue #1671](https://github.com/grafana/grafana/issues/1671). Data sources: Fixed issue with changing default data source (should not require full page load to take effect, now fixed) diff --git a/public/app/features/dashboard/unsavedChangesSrv.js b/public/app/features/dashboard/unsavedChangesSrv.js index 0e8f6b34e0d..ab933094799 100644 --- a/public/app/features/dashboard/unsavedChangesSrv.js +++ b/public/app/features/dashboard/unsavedChangesSrv.js @@ -12,7 +12,7 @@ function(angular, _, config) { var module = angular.module('grafana.services'); - module.service('unsavedChangesSrv', function($rootScope, $modal, $q, $location, $timeout) { + module.service('unsavedChangesSrv', function($rootScope, $modal, $q, $location, $timeout, contextSrv) { var self = this; var modalScope = $rootScope.$new(); @@ -36,7 +36,11 @@ function(angular, _, config) { self.originalPath = $location.path(); }); + this.ignoreChangeCheck = function() { + }; + window.onbeforeunload = function() { + if (contextSrv.hasRole('Viewer')) { return true; } if (self.has_unsaved_changes()) { return "There are unsaved changes to this dashboard"; } @@ -44,9 +48,9 @@ function(angular, _, config) { this.init = function() { $rootScope.$on("$locationChangeStart", function(event, next) { - if (self.originalPath === $location.path()) { - return; - } + // check if we should look for changes + if (self.originalPath === $location.path()) { return true; } + if (contextSrv.hasRole('Viewer')) { return true; } if (self.has_unsaved_changes()) { event.preventDefault(); diff --git a/public/views/index.html b/public/views/index.html index 29a31d1eda3..d5dfab06a64 100644 --- a/public/views/index.html +++ b/public/views/index.html @@ -16,10 +16,6 @@ - -