diff --git a/src/views/users.html b/src/views/users.html index 69fc8edca..78244fa06 100644 --- a/src/views/users.html +++ b/src/views/users.html @@ -176,6 +176,12 @@ +
+ +
+ +
+
diff --git a/src/views/users.js b/src/views/users.js index 23205cab4..56aaf8ae7 100644 --- a/src/views/users.js +++ b/src/views/users.js @@ -16,7 +16,7 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio $scope.userInfo = Client.getUserInfo(); $scope.groupMembers = function (group) { - return group.userIds.filter(function (uid) { return !!$scope.usersById[uid]; }).map(function (uid) { return $scope.usersById[uid].username || $scope.usersById[uid].email; }).join(', '); + return group.userIds.filter(function (uid) { return !!$scope.usersById[uid]; }).map(function (uid) { return $scope.usersById[uid].username || $scope.usersById[uid].email; }).join(' '); }; $scope.userremove = { @@ -238,6 +238,7 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio busy: false, error: {}, name: '', + selectedUsers: [], show: function () { $scope.groupAdd.busy = false; @@ -255,25 +256,36 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio $scope.groupAdd.busy = true; $scope.groupAdd.error = {}; - Client.createGroup($scope.groupAdd.name, function (error) { - $scope.groupAdd.busy = false; + Client.createGroup($scope.groupAdd.name, function (error, result) { + if (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.statusCode === 409) { + $scope.groupAdd.error.name = 'Name already taken'; + $scope.groupAddForm.name.$setPristine(); + $('#groupAddName').focus(); + return; + } else if (error.statusCode === 400) { + $scope.groupAdd.error.name = error.message; + $scope.groupAddForm.name.$setPristine(); + $('#groupAddName').focus(); + return; + } else { + return console.error('Unable to create group.', error.statusCode, error.message); + } } - 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'); + var userIds = $scope.groupAdd.selectedUsers.map(function (u) { return u.id; }); + + Client.setGroupMembers(result.id, userIds, function (error) { + $scope.groupAdd.busy = false; + + if (error) return console.error('Unable to add memebers.', error.statusCode, error.message); + + refresh(); + + $('#groupAddModal').modal('hide'); + }); }); } };