From 9a5e66739caa19528ce0f0ccd26977f3e6ef3aca Mon Sep 17 00:00:00 2001 From: Johannes Zellner Date: Thu, 23 Jun 2016 11:25:51 +0200 Subject: [PATCH] Show error if client actions don't succeed due to API disabled --- webadmin/src/views/tokens.js | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/webadmin/src/views/tokens.js b/webadmin/src/views/tokens.js index a24822b73..549c1f714 100644 --- a/webadmin/src/views/tokens.js +++ b/webadmin/src/views/tokens.js @@ -55,8 +55,14 @@ angular.module('Application').controller('TokensController', ['$scope', 'Client' console.error(error); } return; - } - if (error) return console.error('Unable to create API client.', error.statusCode, error.message); + } else if (error && error.statusCode === 412) { + var actionScope = $scope.$new(true); + actionScope.action = '/#/settings'; + + Client.notify('Not allowed', 'You have to enable the external API in the settings.', false, 'error', actionScope); + + return; + } else if (error) return console.error('Unable to create API client.', error.statusCode, error.message); refresh(); @@ -79,9 +85,19 @@ angular.module('Application').controller('TokensController', ['$scope', 'Client' $scope.clientRemove.busy = true; Client.delOAuthClient($scope.clientRemove.client.id, function (error) { - if (error) console.error(error); - $scope.clientRemove.busy = false; + + if (error && error.statusCode === 412) { + var actionScope = $scope.$new(true); + actionScope.action = '/#/settings'; + + Client.notify('Not allowed', 'You have to enable the external API in the settings.', false, 'error', actionScope); + + return; + } else if (error) { + return console.error(error); + } + $scope.clientRemove.client = {}; refresh(); @@ -102,7 +118,16 @@ angular.module('Application').controller('TokensController', ['$scope', 'Client' var expiresAt = Date.now() + 100 * 365 * 24 * 60 * 60 * 1000; // ~100 years from now Client.createTokenByClientId(client.id, expiresAt, function (error, result) { - if (error) console.error(error); + if (error && error.statusCode === 412) { + var actionScope = $scope.$new(true); + actionScope.action = '/#/settings'; + + Client.notify('Not allowed', 'You have to enable the external API in the settings.', false, 'error', actionScope); + + return; + } else if (error) { + return console.error(error); + } $scope.tokenAdd.busy = false; $scope.tokenAdd.token = result;