X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/1534cfafa7025c358548d9910b603b94b5984912..5eb7330194c44b696fd0a96e68eee9f153faa607:/src/store/users/users-actions.ts diff --git a/src/store/users/users-actions.ts b/src/store/users/users-actions.ts index 4780aa72..da9fe3c1 100644 --- a/src/store/users/users-actions.ts +++ b/src/store/users/users-actions.ts @@ -12,7 +12,7 @@ import { snackbarActions, SnackbarKind } from '~/store/snackbar/snackbar-actions import { UserResource } from "~/models/user"; import { getResource } from '~/store/resources/resources'; import { navigateToProject, navigateToUsers, navigateToRootProject } from "~/store/navigation/navigation-action"; -import { saveApiToken } from '~/store/auth/auth-action'; +import { saveApiToken, getUserDetails } from '~/store/auth/auth-action'; export const USERS_PANEL_ID = 'usersPanel'; export const USER_ATTRIBUTES_DIALOG = 'userAttributesDialog'; @@ -51,10 +51,14 @@ export const openSetupShellAccount = (uuid: string) => export const loginAs = (uuid: string) => async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => { - const client = await services.apiClientAuthorizationService.get(uuid); - dispatch(saveApiToken(client.apiToken)); - location.reload(); - dispatch(navigateToRootProject); + const userUuid = getState().auth.user!.uuid; + const clients = await services.apiClientAuthorizationService.list(); + const client = clients.items.find(it => it.uuid === userUuid); + dispatch(saveApiToken(client!.apiToken)); + dispatch(getUserDetails()).then(() => { + location.reload(); + dispatch(navigateToRootProject); + }); }; export const openUserCreateDialog = () =>