Commit 984ece64 by Torkel Ödegaard

Get access denied when trying to save from collaboration role viewer

parent 9637efd5
......@@ -9,7 +9,6 @@ function (angular) {
module.controller('AccountCtrl', function($scope, $http, backendSrv) {
$scope.collaborator = {};
$scope.showTokens = false;
$scope.init = function() {
$scope.getAccount();
......
......@@ -52,6 +52,10 @@ function (angular, _, kbn) {
return backendSrv.post('/api/dashboard/', { dashboard: dashboard })
.then(function(data) {
return { title: dashboard.title, url: '/dashboard/db/' + data.slug };
}, function(err) {
err.isHandled = true;
err.data = err.data || {};
throw err.data.message || "Unknown error";
});
};
......
......@@ -8,7 +8,8 @@ function (angular, _, config) {
var module = angular.module('grafana.services');
module.service('backendSrv', function($http, alertSrv) {
module.service('backendSrv', function($http, alertSrv, $timeout) {
var self = this;
this.get = function(url, params) {
return this.request({ method: 'GET', url: url, params: params });
......@@ -26,6 +27,31 @@ function (angular, _, config) {
return this.request({ method: 'PUT', url: url, data: data });
};
this._handleError = function(err) {
if (err.status === 422) {
alertSrv.set("Validation failed", "", "warning", 4000);
throw err.data;
}
var data = err.data || { message: 'Unexpected error' };
if (_.isString(data)) {
data = { message: data };
}
data.severity = 'error';
if (err.status < 500) {
data.severity = "warning";
}
if (data.message) {
alertSrv.set("Problem!", data.message, data.severity, 10000);
}
throw data;
};
this.request = function(options) {
var httpOptions = {
url: config.appSubUrl + options.url,
......@@ -42,28 +68,12 @@ function (angular, _, config) {
}
return results.data;
}, function(err) {
if (err.status === 422) {
alertSrv.set("Validation failed", "", "warning", 4000);
throw err.data;
}
var data = err.data || { message: 'Unexpected error' };
if (_.isString(data)) {
data = { message: data };
}
data.severity = 'error';
if (err.status < 500) {
data.severity = "warning";
}
if (data.message) {
alertSrv.set("Problem!", data.message, data.severity, 10000);
}
$timeout(function() {
if (err.isHandled) { return; }
self._handleError(err);
}, 50);
throw data;
throw err;
});
};
......
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