diff --git a/scripts/api/user.ts b/scripts/api/user.ts index 1f2eff49ed..d512eda2a9 100644 --- a/scripts/api/user.ts +++ b/scripts/api/user.ts @@ -1,4 +1,6 @@ import ng from 'core/services/ng'; +import {IUser} from 'superdesk-api'; +import {OrderedMap} from 'immutable'; function hasPrivilege(privilege: string): boolean { const privileges = ng.get('privileges'); @@ -18,8 +20,13 @@ function isLoggedIn() { return session?.identity?._id != null; } +function getAll(): OrderedMap { + return OrderedMap(ng.get('desks').users._items.map((user) => [user._id, user])); +} + export const user = { hasPrivilege, isLoggedIn, getCurrentUserId, + getAll, }; diff --git a/scripts/core/ui/components/SelectUser.tsx b/scripts/core/ui/components/SelectUser.tsx index 31011ba37d..d76527ad07 100644 --- a/scripts/core/ui/components/SelectUser.tsx +++ b/scripts/core/ui/components/SelectUser.tsx @@ -117,9 +117,11 @@ export class SelectUser extends SuperdeskReactComponent { - const deskMembers = sdApi.desks.getDeskMembers(this.props.deskId); + const users = this.props.deskId + ? sdApi.desks.getDeskMembers(this.props.deskId) + : sdApi.user.getAll().toArray(); - return Promise.resolve(searchUsers(deskMembers, searchString)); + return Promise.resolve(searchUsers(users, searchString)); }} value={this.state.selectedUser} onChange={(user) => {