diff --git a/src/js/client.js b/src/js/client.js
index d71f02d4b..281555819 100644
--- a/src/js/client.js
+++ b/src/js/client.js
@@ -1386,7 +1386,7 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout
});
};
- Client.prototype.getUsers = function (search, page, perPage, callback) {
+ Client.prototype.getUsers = function (search, active, page, perPage, callback) {
if (typeof search === 'function') {
callback = search;
search = '';
@@ -1402,6 +1402,7 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout
};
if (search) config.params.search = search;
+ if (active !== null) config.params.active = active ? 'true' : 'false';
get('/api/v1/users', config, function (error, data, status) {
if (error) return callback(error);
diff --git a/src/views/users.html b/src/views/users.html
index bc209e068..792ab0195 100644
--- a/src/views/users.html
+++ b/src/views/users.html
@@ -608,6 +608,7 @@
+
diff --git a/src/views/users.js b/src/views/users.js
index 2da4d5130..615ec1ae3 100644
--- a/src/views/users.js
+++ b/src/views/users.js
@@ -42,6 +42,17 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
$scope.pageItems = 15;
$scope.userRefreshBusy = true;
+ $scope.userStates = [
+ { state: 'ALL', value: null, label: 'All users' },
+ { state: 'ACTIVE', value: true, label: 'Active users' },
+ { state: 'INACTIVE', value: false, label: 'Inactive users' }
+ ];
+ $scope.userStateFilter = $scope.userStates[0];
+ $scope.$watch('userStateFilter', function (newVal, oldVal) {
+ if (newVal === oldVal) return;
+ $scope.updateFilter();
+ });
+
$scope.groupMembers = function (group) {
return group.userIds.filter(function (uid) { return !!$scope.allUsersById[uid]; }).map(function (uid) { return $scope.allUsersById[uid].username || $scope.allUsersById[uid].email; }).join(' ');
};
@@ -1018,7 +1029,7 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
function getUsers(callback) {
var users = [];
- Client.getUsers($scope.userSearchString, $scope.currentPage, $scope.pageItems, function (error, results) {
+ Client.getUsers($scope.userSearchString, $scope.userStateFilter.value, $scope.currentPage, $scope.pageItems, function (error, results) {
if (error) return console.error(error);
async.eachOf(results, function (result, index, iteratorDone) {