2021-04-29 13:47:33 +00:00
|
|
|
import React from "react";
|
|
|
|
|
|
|
|
|
|
import { ITeam } from "interfaces/team";
|
2023-04-07 15:36:47 +00:00
|
|
|
import { IUserFormErrors, UserRole } from "interfaces/user";
|
2021-11-07 06:41:09 +00:00
|
|
|
import Modal from "components/Modal";
|
2021-04-29 13:47:33 +00:00
|
|
|
import UserForm from "../UserForm";
|
|
|
|
|
import { IFormData } from "../UserForm/UserForm";
|
|
|
|
|
|
|
|
|
|
interface IEditUserModalProps {
|
|
|
|
|
onCancel: () => void;
|
|
|
|
|
onSubmit: (formData: IFormData) => void;
|
|
|
|
|
defaultName?: string;
|
|
|
|
|
defaultEmail?: string;
|
2023-04-07 15:36:47 +00:00
|
|
|
defaultGlobalRole?: UserRole | null;
|
|
|
|
|
defaultTeamRole?: UserRole;
|
2021-04-29 13:47:33 +00:00
|
|
|
defaultTeams?: ITeam[];
|
|
|
|
|
availableTeams: ITeam[];
|
2022-01-13 23:11:45 +00:00
|
|
|
currentTeam?: ITeam;
|
2021-09-03 16:05:23 +00:00
|
|
|
isPremiumTier: boolean;
|
2021-07-06 16:22:51 +00:00
|
|
|
smtpConfigured: boolean;
|
2023-04-07 20:32:08 +00:00
|
|
|
sesConfigured: boolean;
|
2021-07-12 21:39:43 +00:00
|
|
|
canUseSso: boolean; // corresponds to whether SSO is enabled for the organization
|
|
|
|
|
isSsoEnabled?: boolean; // corresponds to whether SSO is enabled for the individual user
|
2023-04-07 15:36:47 +00:00
|
|
|
isApiOnly?: boolean;
|
2022-01-13 23:11:45 +00:00
|
|
|
editUserErrors?: IUserFormErrors;
|
2021-10-26 14:24:16 +00:00
|
|
|
isModifiedByGlobalAdmin?: boolean | false;
|
2022-03-16 16:05:05 +00:00
|
|
|
isInvitePending?: boolean;
|
2022-08-29 15:21:37 +00:00
|
|
|
isUpdatingUsers: boolean;
|
2021-04-29 13:47:33 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const baseClass = "edit-user-modal";
|
|
|
|
|
|
2021-10-22 15:34:45 +00:00
|
|
|
const EditUserModal = ({
|
|
|
|
|
onCancel,
|
|
|
|
|
onSubmit,
|
|
|
|
|
defaultName,
|
|
|
|
|
defaultEmail,
|
|
|
|
|
defaultGlobalRole,
|
2021-10-26 14:24:16 +00:00
|
|
|
defaultTeamRole,
|
2021-10-22 15:34:45 +00:00
|
|
|
defaultTeams,
|
|
|
|
|
availableTeams,
|
|
|
|
|
isPremiumTier,
|
|
|
|
|
smtpConfigured,
|
2023-04-07 20:32:08 +00:00
|
|
|
sesConfigured,
|
2021-10-22 15:34:45 +00:00
|
|
|
canUseSso,
|
|
|
|
|
isSsoEnabled,
|
2023-04-07 15:36:47 +00:00
|
|
|
isApiOnly,
|
2021-10-26 14:24:16 +00:00
|
|
|
currentTeam,
|
2022-01-13 23:11:45 +00:00
|
|
|
editUserErrors,
|
|
|
|
|
isModifiedByGlobalAdmin,
|
2022-03-16 16:05:05 +00:00
|
|
|
isInvitePending,
|
2022-08-29 15:21:37 +00:00
|
|
|
isUpdatingUsers,
|
2021-10-22 15:34:45 +00:00
|
|
|
}: IEditUserModalProps): JSX.Element => {
|
2021-04-29 13:47:33 +00:00
|
|
|
return (
|
|
|
|
|
<Modal
|
|
|
|
|
title="Edit user"
|
|
|
|
|
onExit={onCancel}
|
|
|
|
|
className={`${baseClass}__edit-user-modal`}
|
|
|
|
|
>
|
2022-08-29 15:21:37 +00:00
|
|
|
<UserForm
|
|
|
|
|
createOrEditUserErrors={editUserErrors}
|
|
|
|
|
defaultName={defaultName}
|
|
|
|
|
defaultEmail={defaultEmail}
|
|
|
|
|
defaultGlobalRole={defaultGlobalRole}
|
|
|
|
|
defaultTeamRole={defaultTeamRole}
|
|
|
|
|
defaultTeams={defaultTeams}
|
|
|
|
|
onCancel={onCancel}
|
|
|
|
|
onSubmit={onSubmit}
|
|
|
|
|
availableTeams={availableTeams}
|
|
|
|
|
submitText={"Save"}
|
|
|
|
|
isPremiumTier={isPremiumTier}
|
|
|
|
|
smtpConfigured={smtpConfigured}
|
2023-04-07 20:32:08 +00:00
|
|
|
sesConfigured={sesConfigured}
|
2022-08-29 15:21:37 +00:00
|
|
|
canUseSso={canUseSso}
|
|
|
|
|
isSsoEnabled={isSsoEnabled}
|
2023-04-07 15:36:47 +00:00
|
|
|
isApiOnly={isApiOnly}
|
2022-08-29 15:21:37 +00:00
|
|
|
isModifiedByGlobalAdmin={isModifiedByGlobalAdmin}
|
|
|
|
|
isInvitePending={isInvitePending}
|
|
|
|
|
currentTeam={currentTeam}
|
|
|
|
|
isUpdatingUsers={isUpdatingUsers}
|
|
|
|
|
/>
|
2021-04-29 13:47:33 +00:00
|
|
|
</Modal>
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default EditUserModal;
|