Skip to content

Commit

Permalink
Fix auto-wildcard being applied to alpha-paging
Browse files Browse the repository at this point in the history
  • Loading branch information
cdujeu committed Feb 26, 2024
1 parent fbf2018 commit 6589441
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 12 deletions.

Large diffs are not rendered by default.

Binary file modified frontend/front-srv/assets/gui.ajax/res/dist/core/pydio.min.js.gz
Binary file not shown.

Large diffs are not rendered by default.

Binary file not shown.
10 changes: 6 additions & 4 deletions frontend/front-srv/assets/gui.ajax/res/js/core/http/IdmApi.js
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,10 @@ class IdmApi {
* @param offset integer
* @param limit integer
* @param profile string filter by profile
* @param disableAutoWildcard bool force ignoring autoWildcard on filter
* @return Promise<IdmUser[]>
*/
listUsers(baseGroup='/', filterString='', recursive = false, offset = 0, limit = -1, profile = ''){
listUsers(baseGroup='/', filterString='', recursive = false, offset = 0, limit = -1, profile = '', disableAutoWildcard=false){

return this.loadRootPath(baseGroup).then(bg => {
const api = new UserServiceApi(this.client);
Expand All @@ -109,7 +110,7 @@ class IdmApi {

if(filterString){
const queryString = new IdmUserSingleQuery();
if (this.autoWildCard){
if (this.autoWildCard && !disableAutoWildcard){
filterString = '*' + filterString;
}
queryString.Login = filterString + '*';
Expand Down Expand Up @@ -211,9 +212,10 @@ class IdmApi {
* @param offset integer
* @param limit integer
* @param filterString
* @param disableAutoWildcard bool force ignoring autoWildcard on filter
* @return Promise<RestUsersCollection>
*/
listUsersWithRole(roleId, offset = 0, limit = -1, filterString = ''){
listUsersWithRole(roleId, offset = 0, limit = -1, filterString = '', disableAutoWildcard=false){

const api = new UserServiceApi(this.client);
const request = new RestSearchUserRequest();
Expand All @@ -229,7 +231,7 @@ class IdmApi {
request.Queries.push(query2);
if(filterString){
const queryString = new IdmUserSingleQuery();
if (this.autoWildCard){
if (this.autoWildCard && !disableAutoWildcard){
filterString = '*' + filterString;
}
queryString.Login = filterString + '*';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -177,9 +177,10 @@ class Loaders{
}

static loadExternalUsers(entry, callback){
let filter = '', offset = 0, limit = StdLimit;
let filter = '', offset = 0, limit = StdLimit, disableAW = false;
if(entry.currentParams && entry.currentParams.alpha_pages){
filter = entry.currentParams.value;
disableAW = true
}
if(entry.range){
let [start, end] = entry.range.split('-');
Expand All @@ -188,7 +189,7 @@ class Loaders{
limit = end - offset;
}
const pydio = PydioApi.getClient().getPydioObject();
IdmApi.listUsers('/', filter, true, offset, limit, 'shared').then(users => {
IdmApi.listUsers('/', filter, true, offset, limit, 'shared', disableAW).then(users => {
entry.pagination = Loaders.computePagination(users);
const items = users.Users.filter(idmUser => idmUser.Login !== pydio.user.id).map((idmUser) => {
return {
Expand All @@ -202,12 +203,15 @@ class Loaders{
}

static loadGroupUsers(entry, callback){
let path = '/', filter = '', offset = 0, limit = StdLimit;
let path = '/', filter = '', offset = 0, limit = StdLimit, disableAW = false;
if(entry.IdmUser){
path = LangUtils.trimRight(entry.IdmUser.GroupPath, '/') + '/' + entry.IdmUser.GroupLabel;
}
if(entry.currentParams && (entry.currentParams.alpha_pages || entry.currentParams.has_search)){
filter = entry.currentParams.value;
if(entry.currentParams.alpha_pages) {
disableAW = true
}
}
if(entry.range){
let [start, end] = entry.range.split('-');
Expand All @@ -216,7 +220,7 @@ class Loaders{
limit = end - offset;
}
const pydio = PydioApi.getClient().getPydioObject();
IdmApi.listUsers(path, filter, false, offset, limit, '!shared').then(users => {
IdmApi.listUsers(path, filter, false, offset, limit, '!shared', disableAW).then(users => {
entry.pagination = Loaders.computePagination(users);
const items = users.Users.filter(idmUser => idmUser.Login !== pydio.user.id && idmUser.Login !== "pydio.anon.user").map((idmUser) => {
return {
Expand All @@ -229,7 +233,7 @@ class Loaders{
}

static loadTeamUsers(entry, callback){
let offset = 0, limit = StdLimit, filter = '';
let offset = 0, limit = StdLimit, filter = '', disableAW = false;
if(entry.range){
let [start, end] = entry.range.split('-');
offset = parseInt(start);
Expand All @@ -238,8 +242,11 @@ class Loaders{
}
if(entry.currentParams && (entry.currentParams.alpha_pages || entry.currentParams.has_search)){
filter = entry.currentParams.value;
if(entry.currentParams.alpha_pages){
disableAW = true
}
}
IdmApi.listUsersWithRole(entry.IdmRole.Uuid, offset, limit, filter).then(users => {
IdmApi.listUsersWithRole(entry.IdmRole.Uuid, offset, limit, filter, disableAW).then(users => {
entry.pagination = Loaders.computePagination(users);
const items = users.Users.map((idmUser) => {
return {
Expand Down

0 comments on commit 6589441

Please sign in to comment.