From 94bd0c606b51bcb0dfa72805bc06fee5ddc94fc2 Mon Sep 17 00:00:00 2001 From: Johannes Zellner Date: Wed, 10 Feb 2016 16:59:24 +0100 Subject: [PATCH] Add group removal ui --- webadmin/src/views/users.html | 35 ++++++++++++++++++++++++++++--- webadmin/src/views/users.js | 39 +++++++++++++++++++++++++++++++++-- 2 files changed, 69 insertions(+), 5 deletions(-) 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(); });