diff --git a/webadmin/src/views/account.html b/webadmin/src/views/account.html index 3fb4b1953..33659c1b0 100644 --- a/webadmin/src/views/account.html +++ b/webadmin/src/views/account.html @@ -99,6 +99,49 @@ + + +
@@ -140,12 +183,16 @@
+
+
-

Application Access

+

Application and API Access

+
+
diff --git a/webadmin/src/views/account.js b/webadmin/src/views/account.js index d82e5e7c0..fc1062a32 100644 --- a/webadmin/src/views/account.js +++ b/webadmin/src/views/account.js @@ -156,6 +156,54 @@ angular.module('Application').controller('AccountController', ['$scope', '$locat } }; + $scope.clientAdd = { + busy: false, + error: {}, + name: '', + scope: '', + redirectURI: '', + + show: function () { + $scope.clientAdd.busy = false; + + $scope.clientAdd.error = {}; + $scope.clientAdd.name = ''; + $scope.clientAdd.scope = '*'; + $scope.clientAdd.redirectURI = ''; + + $scope.clientAddForm.$setUntouched(); + $scope.clientAddForm.$setPristine(); + + $('#clientAddModal').modal('show'); + }, + + submit: function () { + $scope.groupAdd.busy = true; + $scope.groupAdd.error = {}; + + Client.createGroup($scope.groupAdd.name, function (error) { + $scope.groupAdd.busy = false; + + if (error && error.statusCode === 409) { + $scope.groupAdd.error.name = 'Name already taken'; + $scope.groupAddForm.name.$setPristine(); + $('#groupAddName').focus(); + return; + } + if (error && error.statusCode === 400) { + $scope.groupAdd.error.name = error.message; + $scope.groupAddForm.name.$setPristine(); + $('#groupAddName').focus(); + return; + } + if (error) return console.error('Unable to create group.', error.statusCode, error.message); + + refresh(); + $('#groupAddModal').modal('hide'); + }); + } + }; + $scope.removeAccessTokens = function (client) { client.busy = true;