diff --git a/packages/nc-gui/components/project/AccessSettings.vue b/packages/nc-gui/components/project/AccessSettings.vue index 4ce3aea5c4..9070a744c2 100644 --- a/packages/nc-gui/components/project/AccessSettings.vue +++ b/packages/nc-gui/components/project/AccessSettings.vue @@ -42,9 +42,7 @@ const accessibleRoles = ref<(typeof ProjectRoles)[keyof typeof ProjectRoles][]>( const filteredCollaborators = computed(() => collaborators.value.filter((collab) => - collab.display_name - ? collab.display_name.toLowerCase().includes(userSearchText.value.toLowerCase()) - : collab.email.toLowerCase().includes(userSearchText.value.toLowerCase()), + (collab.display_name || collab.email).toLowerCase().includes(userSearchText.value.toLowerCase()), ), ) diff --git a/packages/nc-gui/components/workspace/CollaboratorsList.vue b/packages/nc-gui/components/workspace/CollaboratorsList.vue index fe11f9b634..2f5912ab6a 100644 --- a/packages/nc-gui/components/workspace/CollaboratorsList.vue +++ b/packages/nc-gui/components/workspace/CollaboratorsList.vue @@ -20,9 +20,7 @@ const filterCollaborators = computed(() => { if (!collaborators.value) return [] return collaborators.value.filter((collab) => - collab.display_name - ? collab.display_name.toLowerCase().includes(userSearchText.value.toLowerCase()) - : collab.email.toLowerCase().includes(userSearchText.value.toLowerCase()), + (collab.display_name || collab.email).toLowerCase().includes(userSearchText.value.toLowerCase()), ) }) diff --git a/packages/nocodb/src/models/User.ts b/packages/nocodb/src/models/User.ts index 3db162846a..b63fe4209d 100644 --- a/packages/nocodb/src/models/User.ts +++ b/packages/nocodb/src/models/User.ts @@ -194,7 +194,7 @@ export default class User implements UserType { { limit, offset, - query, + query = '', }: { limit?: number | undefined; offset?: number | undefined; @@ -229,25 +229,17 @@ export default class User implements UserType { .as('projectsCount'), ); if (query) { - queryBuilder - .where(function () { - this.where('email', 'like', `%${query.toLowerCase?.()}%`).orWhere( - 'display_name', - 'like', - `%${query.toLowerCase?.()}%`, - ); - }) - .where(function () { + queryBuilder.where(function () { + this.where(function () { + this.whereNotNull('display_name') + .andWhereNot('display_name', '') + .andWhere('display_name', 'like', `%${query.toLowerCase()}%`); + }).orWhere(function () { this.where(function () { - this.whereNotNull('display_name') - .andWhereNot('display_name', '') - .andWhere('display_name', 'like', `%${query.toLowerCase?.()}%`); - }).orWhere(function () { - this.whereNull('display_name') - .orWhere('display_name', '') - .andWhere('email', 'like', `%${query.toLowerCase?.()}%`); - }); + this.whereNull('display_name').orWhere('display_name', ''); + }).andWhere('email', 'like', `%${query.toLowerCase()}%`); }); + }); } return queryBuilder;