Commit b8336706 by Torkel Ödegaard

Small improvement to dashboard loading error handling

parent aa724fc1
...@@ -42,6 +42,7 @@ func authDenied(c *Context) { ...@@ -42,6 +42,7 @@ func authDenied(c *Context) {
return return
} }
c.SetCookie("redirect_to", url.QueryEscape(setting.AppSubUrl+c.Req.RequestURI), 0, setting.AppSubUrl+"/")
c.Redirect(setting.AppSubUrl + "/login") c.Redirect(setting.AppSubUrl + "/login")
} }
...@@ -63,13 +64,11 @@ func RoleAuth(roles ...m.RoleType) macaron.Handler { ...@@ -63,13 +64,11 @@ func RoleAuth(roles ...m.RoleType) macaron.Handler {
func Auth(options *AuthOptions) macaron.Handler { func Auth(options *AuthOptions) macaron.Handler {
return func(c *Context) { return func(c *Context) {
if !c.IsGrafanaAdmin && options.ReqGrafanaAdmin { if !c.IsGrafanaAdmin && options.ReqGrafanaAdmin {
c.SetCookie("redirect_to", url.QueryEscape(setting.AppSubUrl+c.Req.RequestURI), 0, setting.AppSubUrl+"/")
authDenied(c) authDenied(c)
return return
} }
if !c.IsSignedIn && options.ReqSignedIn && !c.AllowAnonymous { if !c.IsSignedIn && options.ReqSignedIn && !c.AllowAnonymous {
c.SetCookie("redirect_to", url.QueryEscape(setting.AppSubUrl+c.Req.RequestURI), 0, setting.AppSubUrl+"/")
authDenied(c) authDenied(c)
return return
} }
......
...@@ -12,12 +12,15 @@ function (angular, _, kbn, moment, $) { ...@@ -12,12 +12,15 @@ function (angular, _, kbn, moment, $) {
module.controller('DashFromDBCtrl', function($scope, $routeParams, backendSrv) { module.controller('DashFromDBCtrl', function($scope, $routeParams, backendSrv) {
function dashboardLoadFailed(title) {
$scope.initDashboard({meta: {}, model: {title: title}}, $scope);
}
if (!$routeParams.slug) { if (!$routeParams.slug) {
backendSrv.get('/api/dashboards/home').then(function(result) { backendSrv.get('/api/dashboards/home').then(function(result) {
$scope.initDashboard(result, $scope); $scope.initDashboard(result, $scope);
},function() { },function() {
$scope.initDashboard({}, $scope); dashboardLoadFailed('Not found');
$scope.appEvent('alert-error', ['Load dashboard failed', '']);
}); });
return; return;
...@@ -26,17 +29,15 @@ function (angular, _, kbn, moment, $) { ...@@ -26,17 +29,15 @@ function (angular, _, kbn, moment, $) {
return backendSrv.getDashboard($routeParams.slug).then(function(result) { return backendSrv.getDashboard($routeParams.slug).then(function(result) {
$scope.initDashboard(result, $scope); $scope.initDashboard(result, $scope);
}, function() { }, function() {
$scope.initDashboard({ dashboardLoadFailed('Not found');
meta: {},
model: { title: 'Not found' }
}, $scope);
}); });
}); });
module.controller('DashFromSnapshotCtrl', function($scope, $routeParams, backendSrv) { module.controller('DashFromSnapshotCtrl', function($scope, $routeParams, backendSrv) {
backendSrv.get('/api/snapshots/' + $routeParams.key).then(function(result) { backendSrv.get('/api/snapshots/' + $routeParams.key).then(function(result) {
$scope.initDashboard(result, $scope); $scope.initDashboard(result, $scope);
},function() { }, function() {
$scope.initDashboard({meta: {isSnapshot: true}, model: {title: 'Snapshot not found'}}, $scope); $scope.initDashboard({meta: {isSnapshot: true}, model: {title: 'Snapshot not found'}}, $scope);
}); });
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment