From 38e6956f75e723cf5c442188c0e570e282d04395 Mon Sep 17 00:00:00 2001 From: Stephen Smith Date: Thu, 12 May 2022 16:13:37 -0400 Subject: [PATCH] 19049: Clean up 404 error handling on add vm login Arvados-DCO-1.1-Signed-off-by: Stephen Smith --- .../virtual-machines/virtual-machines-actions.ts | 11 ++++++++--- .../virtual-machines-dialog/add-login-dialog.tsx | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/store/virtual-machines/virtual-machines-actions.ts b/src/store/virtual-machines/virtual-machines-actions.ts index a7abf096..e4b17ea0 100644 --- a/src/store/virtual-machines/virtual-machines-actions.ts +++ b/src/store/virtual-machines/virtual-machines-actions.ts @@ -18,7 +18,7 @@ import { PermissionLevel } from "models/permission"; import { deleteResources, updateResources } from 'store/resources/resources-actions'; import { Participant } from "views-components/sharing-dialog/participant-select"; import { initialize, reset } from "redux-form"; -import { getUserDisplayName } from "models/user"; +import { getUserDisplayName, UserResource } from "models/user"; export const virtualMachinesActions = unionize({ SET_REQUESTED_DATE: ofType(), @@ -156,10 +156,15 @@ export interface AddLoginFormData { export const addUpdateVirtualMachineLogin = ({uuid, vmUuid, user, groups}: AddLoginFormData) => async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => { + let userResource: UserResource | undefined = undefined; try { // Get user - const userResource = await services.userService.get(user.uuid); - + userResource = await services.userService.get(user.uuid, false); + } catch (e) { + dispatch(snackbarActions.OPEN_SNACKBAR({ message: "Failed to get user details.", hideDuration: 2000, kind: SnackbarKind.ERROR })); + return; + } + try { if (uuid) { const permission = await services.permissionService.update(uuid, { tailUuid: userResource.uuid, diff --git a/src/views-components/virtual-machines-dialog/add-login-dialog.tsx b/src/views-components/virtual-machines-dialog/add-login-dialog.tsx index 51773418..93fe8485 100644 --- a/src/views-components/virtual-machines-dialog/add-login-dialog.tsx +++ b/src/views-components/virtual-machines-dialog/add-login-dialog.tsx @@ -4,7 +4,7 @@ import React from 'react'; import { compose } from "redux"; -import { reduxForm, InjectedFormProps, WrappedFieldProps, Field, GenericField } from 'redux-form'; +import { reduxForm, InjectedFormProps, Field, GenericField } from 'redux-form'; import { withDialog, WithDialogProps } from "store/dialog/with-dialog"; import { FormDialog } from 'components/form-dialog/form-dialog'; import { VIRTUAL_MACHINE_ADD_LOGIN_DIALOG, VIRTUAL_MACHINE_ADD_LOGIN_FORM, addUpdateVirtualMachineLogin, AddLoginFormData, VIRTUAL_MACHINE_ADD_LOGIN_USER_FIELD, VIRTUAL_MACHINE_ADD_LOGIN_GROUPS_FIELD } from 'store/virtual-machines/virtual-machines-actions'; -- 2.30.2