diff --git a/webadmin/src/views/users.html b/webadmin/src/views/users.html index 54ae59ef9..245f69c84 100644 --- a/webadmin/src/views/users.html +++ b/webadmin/src/views/users.html @@ -167,7 +167,7 @@ - + + + +

@@ -258,8 +287,8 @@ {{ group.name }} - - + + diff --git a/webadmin/src/views/users.js b/webadmin/src/views/users.js index 4ca8d424d..9a06af59a 100644 --- a/webadmin/src/views/users.js +++ b/webadmin/src/views/users.js @@ -54,7 +54,7 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio submit: function () { $scope.groupAdd.busy = true; - $scope.groupAdd.error.name = null; + $scope.groupAdd.error = {}; Client.createGroup($scope.groupAdd.name, function (error) { $scope.groupAdd.busy = false; @@ -73,6 +73,41 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio } }; + $scope.groupRemove = { + busy: false, + error: {}, + group: null, + password: '', + + show: function (group) { + $scope.groupRemove.busy = false; + + $scope.groupRemove.error = {}; + $scope.groupRemove.password = ''; + + $scope.groupRemove.group = angular.copy(group); + + $scope.groupRemoveForm.$setUntouched(); + $scope.groupRemoveForm.$setPristine(); + + $('#groupRemoveModal').modal('show'); + }, + + submit: function () { + $scope.groupRemove.busy = true; + $scope.groupRemove.error = {}; + + Client.removeGroup($scope.groupRemove.group.id, $scope.groupRemove.password, function (error) { + $scope.groupRemove.busy = false; + + if (error) return console.error('Unable to remove group.', error.statusCode, error.message); + + refresh(); + $('groupRemoveModal').modal('hide'); + }); + } + }; + $scope.isMe = function (user) { return user.username === Client.getUserInfo().username; }; @@ -303,7 +338,7 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio refresh(); // setup all the dialog focus handling - ['userAddModal', 'userRemoveModal', 'userEditModal', 'groupAddModal'].forEach(function (id) { + ['userAddModal', 'userRemoveModal', 'userEditModal', 'groupAddModal', 'groupRemoveModal'].forEach(function (id) { $('#' + id).on('shown.bs.modal', function () { $(this).find("[autofocus]:first").focus(); });