fix autocomplete for user without admin permission + integration tests

This commit is contained in:
Mohamed Karray
2018-10-12 11:06:53 +02:00
parent 4e3e0637a4
commit c7b8a3fedd
10 changed files with 199 additions and 36 deletions

View File

@@ -229,6 +229,13 @@ public class DefaultUserManager extends AbstractUserManager
fresh.copyProperties(user);
}
@Override
public Collection<User> autocomplete(String filter) {
UserPermissions.autocomplete().check();
SearchRequest searchRequest = new SearchRequest(filter, true, DEFAULT_LIMIT);
return SearchUtil.search(searchRequest, userDAO.getAll(), user -> matches(searchRequest,user)?user:null);
}
/**
* Method description
*
@@ -258,7 +265,7 @@ public class DefaultUserManager extends AbstractUserManager
}
});
}
private boolean matches(SearchRequest searchRequest, User user) {
return SearchUtil.matchesOne(searchRequest, user.getName(), user.getDisplayName(), user.getMail());
}
@@ -277,7 +284,7 @@ public class DefaultUserManager extends AbstractUserManager
public User get(String id)
{
UserPermissions.read().check(id);
User user = userDAO.get(id);
if (user != null)
@@ -300,12 +307,6 @@ public class DefaultUserManager extends AbstractUserManager
return getAll(null);
}
@Override
public Collection<User> autocomplete(String filter) {
UserPermissions.autocomplete().check();
return search(new SearchRequest(filter,true, DEFAULT_LIMIT));
}
/**
* Method description
*