import React from 'react'; import PropTypes from 'prop-types'; import { withTranslation } from 'react-i18next'; import Button from 'react-bootstrap/es/Button'; import Modal from 'react-bootstrap/es/Modal'; import { toastSuccess, toastError } from '../../../util/apiNotification'; import { createSubscribedElement } from '../../UnstatedUtils'; import AppContainer from '../../../services/AppContainer'; class UserInviteModal extends React.Component { constructor(props) { super(props); this.state = { emailInputValue: '', sendEmail: false, }; this.handleSubmit = this.handleSubmit.bind(this); this.handleInput = this.handleInput.bind(this); this.handleCheckBox = this.handleCheckBox.bind(this); } validEmail() { return this.state.emailInputValue.match(/.+@.+\..+/) != null; } async handleSubmit() { const { appContainer } = this.props; try { await appContainer.apiPost('/admin/user/invite', { email: this.state.email, sendEmail: this.state.sendEmail }); this.props.onToggleModal(); toastSuccess('Inviting user success'); } catch (err) { toastError(err); } } handleInput(event) { this.setState({ emailInputValue: event.target.value }); } handleCheckBox() { this.setState({ sendEmail: !this.state.sendEmail }); } render() { const { t } = this.props; return ( { t('user_management.invite_users') }