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();