GUAC-586: List readable users if applicable to management.

This commit is contained in:
Michael Jumper
2015-09-01 01:18:59 -07:00
parent a72cc118f4
commit 3c46dda5bc
2 changed files with 30 additions and 22 deletions

View File

@@ -169,7 +169,7 @@ public class UserRESTService {
// Filter users, if requested
Collection<String> userIdentifiers = userDirectory.getIdentifiers();
if (!isAdmin && permissions != null) {
if (!isAdmin && permissions != null && !permissions.isEmpty()) {
ObjectPermissionSet userPermissions = self.getUserPermissions();
userIdentifiers = userPermissions.getAccessibleObjects(permissions, userIdentifiers);
}

View File

@@ -204,14 +204,20 @@ angular.module('settings').directive('guacSettingsUsers', [function guacSettings
if (!canManageUsers())
$location.path('/');
});
var userPromise;
// Retrieve all users for whom we have UPDATE or DELETE permission
dataSourceService.apply(userService.getUsers, dataSources, [
// If users can be created, list all readable users
if ($scope.canCreateUsers())
userPromise = dataSourceService.apply(userService.getUsers, dataSources);
// Otherwise, list only updateable/deletable users
else
userPromise = dataSourceService.apply(userService.getUsers, dataSources, [
PermissionSet.ObjectPermissionType.UPDATE,
PermissionSet.ObjectPermissionType.DELETE
])
.then(function usersReceived(userArrays) {
]);
userPromise.then(function usersReceived(userArrays) {
var addedUsers = {};
$scope.manageableUsers = [];
@@ -236,6 +242,8 @@ angular.module('settings').directive('guacSettingsUsers', [function guacSettings
});
});
/**
* Navigates to an interface for creating a new user having the
* username specified.