fleet/frontend/pages/admin/UserManagementPage/components/CreateUserModal/CreateUserModal.tsx

69 lines
1.9 KiB
TypeScript
Raw Normal View History

import React from "react";
2021-10-26 14:24:16 +00:00
import { ITeam } from "interfaces/team";
import { IUserFormErrors } from "interfaces/user";
import Modal from "components/Modal";
2021-10-26 14:24:16 +00:00
import UserForm from "../UserForm";
import { IFormData } from "../UserForm/UserForm";
interface ICreateUserModalProps {
onCancel: () => void;
onSubmit: (formData: IFormData) => void;
defaultGlobalRole?: string | null;
defaultTeamRole?: string;
defaultTeams?: ITeam[];
availableTeams?: ITeam[];
2021-10-26 14:24:16 +00:00
isPremiumTier: boolean;
smtpConfigured: boolean;
currentTeam?: ITeam;
canUseSso: boolean; // corresponds to whether SSO is enabled for the organization
isModifiedByGlobalAdmin?: boolean | false;
isUpdatingUsers?: boolean | false;
serverErrors?: { base: string; email: string };
createUserErrors?: IUserFormErrors;
2021-10-26 14:24:16 +00:00
}
const baseClass = "create-user-modal";
const CreateUserModal = ({
onCancel,
onSubmit,
currentTeam,
defaultGlobalRole,
defaultTeamRole,
defaultTeams,
availableTeams,
isPremiumTier,
smtpConfigured,
canUseSso,
isModifiedByGlobalAdmin,
isUpdatingUsers,
2021-10-26 14:24:16 +00:00
serverErrors,
createUserErrors,
2021-10-26 14:24:16 +00:00
}: ICreateUserModalProps): JSX.Element => {
return (
<Modal title="Create user" onExit={onCancel} className={baseClass}>
<UserForm
serverErrors={serverErrors}
createOrEditUserErrors={createUserErrors}
defaultGlobalRole={defaultGlobalRole}
defaultTeamRole={defaultTeamRole}
defaultTeams={defaultTeams}
onCancel={onCancel}
onSubmit={onSubmit}
availableTeams={availableTeams || []}
submitText={"Create"}
isPremiumTier={isPremiumTier}
smtpConfigured={smtpConfigured}
canUseSso={canUseSso}
isModifiedByGlobalAdmin={isModifiedByGlobalAdmin}
currentTeam={currentTeam}
isNewUser
isUpdatingUsers={isUpdatingUsers}
/>
2021-10-26 14:24:16 +00:00
</Modal>
);
};
export default CreateUserModal;