//
// SPDX-License-Identifier: AGPL-3.0
-import * as React from "react";
-import { Dialog, DialogTitle, DialogContent, DialogActions, Button, Typography } from "@material-ui/core";
-import { WithDialogProps } from "~/store/dialog/with-dialog";
-import { withDialog } from '~/store/dialog/with-dialog';
-import { WithStyles, withStyles } from '@material-ui/core/styles';
-import { ArvadosTheme } from '~/common/custom-theme';
+import React from "react";
import { compose, Dispatch } from "redux";
-import { USER_MANAGEMENT_DIALOG, openSetupShellAccount, loginAs } from "~/store/users/users-actions";
-import { UserResource } from "~/models/user";
import { connect } from "react-redux";
+import { Dialog, DialogTitle, DialogContent, DialogActions, Button, Typography } from "@material-ui/core";
+import { WithDialogProps } from "store/dialog/with-dialog";
+import { withDialog } from 'store/dialog/with-dialog';
+import { WithStyles, withStyles } from '@material-ui/core/styles';
+import { ArvadosTheme } from 'common/custom-theme';
+import { USER_MANAGEMENT_DIALOG, openSetupShellAccount, loginAs } from "store/users/users-actions";
+import { getUserDisplayName } from "models/user";
type CssRules = 'spacing';
onClose={props.closeDialog}
fullWidth
maxWidth="md">
- {props.data.user &&
+ {props.data &&
<span>
- <DialogTitle>{`Manage - ${props.data.user.firstName} ${props.data.user.lastName}`}</DialogTitle>
+ <DialogTitle>{`Manage - ${getUserDisplayName(props.data)}`}</DialogTitle>
<DialogContent>
<Typography variant='body1' className={props.classes.spacing}>
As an admin, you can log in as this user. When you’ve finished, you will need to log out and log in again with your own account.
</Typography>
- <Button variant="contained" color="primary" onClick={() => props.loginAs(props.data.client.uuid)}>
- {`LOG IN AS ${props.data.user.firstName} ${props.data.user.lastName}`}
+ <Button variant="contained" color="primary" onClick={() => props.loginAs(props.data.uuid)}>
+ {`LOG IN AS ${getUserDisplayName(props.data)}`}
</Button>
<Typography variant='body1' className={props.classes.spacing}>
As an admin, you can setup a shell account for this user. The login name is automatically generated from the user's e-mail address.
</Typography>
<Button variant="contained" color="primary" onClick={() => props.openSetupShellAccount(props.data.uuid)}>
- {`SETUP SHELL ACCOUNT FOR ${props.data.user.firstName} ${props.data.user.lastName}`}
+ {`SETUP SHELL ACCOUNT FOR ${getUserDisplayName(props.data)}`}
</Button>
</DialogContent></span>}