diff --git a/webadmin/src/js/client.js b/webadmin/src/js/client.js index a08fb6f99..f5b499fd0 100644 --- a/webadmin/src/js/client.js +++ b/webadmin/src/js/client.js @@ -417,6 +417,17 @@ angular.module('Application').service('Client', ['$http', 'md5', 'Notification', }).error(defaultErrorHandler(callback)); }; + Client.prototype.removeGroup = function (groupId, password, callback) { + var data = { + password: password + }; + + $http({ method: 'DELETE', url: client.apiOrigin + '/api/v1/groups/' + groupId, data: data, headers: { 'Content-Type': 'application/json' }}).success(function(data, status) { + if (status !== 204) return callback(new ClientError(status, data)); + callback(null, data); + }).error(defaultErrorHandler(callback)); + }; + Client.prototype.getNonApprovedApps = function (callback) { if (!this._config.developerMode) return callback(null, []); diff --git a/webadmin/src/views/users.html b/webadmin/src/views/users.html index 245f69c84..b0177c719 100644 --- a/webadmin/src/views/users.html +++ b/webadmin/src/views/users.html @@ -194,7 +194,7 @@ A password is required {{ groupRemove.error.password }} - + diff --git a/webadmin/src/views/users.js b/webadmin/src/views/users.js index 9a06af59a..abd0052a0 100644 --- a/webadmin/src/views/users.js +++ b/webadmin/src/views/users.js @@ -100,6 +100,13 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio Client.removeGroup($scope.groupRemove.group.id, $scope.groupRemove.password, function (error) { $scope.groupRemove.busy = false; + if (error && error.statusCode === 403) { + $scope.groupRemove.error.password = 'Wrong password'; + $scope.groupRemove.password = ''; + $scope.groupRemoveForm.password.$setPristine(); + $('#groupRemovePasswordInput').focus(); + return; + } if (error) return console.error('Unable to remove group.', error.statusCode, error.message); refresh();