import React from 'react'; import PropTypes from 'prop-types'; import { withTranslation } from 'react-i18next'; import { Modal, ModalHeader, ModalBody, ModalFooter, } from 'reactstrap'; import { toastError } from '../../../util/apiNotification'; import { withUnstatedContainers } from '../../UnstatedUtils'; import AppContainer from '../../../services/AppContainer'; class PasswordResetModal extends React.Component { constructor(props) { super(props); this.state = { temporaryPassword: [], isPasswordResetDone: false, }; this.resetPassword = this.resetPassword.bind(this); } async resetPassword() { const { appContainer, userForPasswordResetModal } = this.props; const res = await appContainer.apiPost('/admin/users.resetPassword', { user_id: userForPasswordResetModal._id }); if (res.ok) { this.setState({ temporaryPassword: res.newPassword, isPasswordResetDone: true }); } else { toastError('Failed to reset password'); } } renderModalBodyBeforeReset() { const { t, userForPasswordResetModal } = this.props; return (
{t('admin:user_management.reset_password_modal.password_reset_message')}
{t('admin:user_management.reset_password_modal.target_user')}: {userForPasswordResetModal.email}
{t('admin:user_management.reset_password_modal.new_password')}: {this.state.temporaryPassword}
{t('admin:user_management.reset_password_modal.password_never_seen')}
{t('admin:user_management.reset_password_modal.send_new_password')}
{t('admin:user_management.reset_password_modal.target_user')}: {userForPasswordResetModal.email}