import React from 'react'; import { useTranslation } from 'next-i18next'; import PropTypes from 'prop-types'; import { Modal, ModalHeader, ModalBody, ModalFooter, } from 'reactstrap'; import AdminUsersContainer from '~/client/services/AdminUsersContainer'; import { apiv3Put } from '~/client/util/apiv3-client'; import { toastSuccess, toastError } from '~/client/util/toastr'; import { useIsMailerSetup } from '~/stores/context'; class PasswordResetModal extends React.Component { constructor(props) { super(props); this.state = { temporaryPassword: [], isPasswordResetDone: false, sendEmail: false, }; this.resetPassword = this.resetPassword.bind(this); this.onClickSendNewPasswordButton = this.onClickSendNewPasswordButton.bind(this); } // Reset Password async resetPassword() { const { t, userForPasswordResetModal } = this.props; try { const res = await apiv3Put('/users/reset-password', { id: userForPasswordResetModal._id }); const { newPassword } = res.data; this.setState({ temporaryPassword: newPassword, isPasswordResetDone: true }); } catch (err) { toastError(err); } } renderButtons() { const { t, isMailerSetup } = this.props; return ( <> > ); } renderModalBodyBeforeReset() { const { t, userForPasswordResetModal } = this.props; return ( <>
{t('user_management.reset_password_modal.password_never_seen')}
{t('user_management.reset_password_modal.send_new_password')}
{t('user_management.reset_password_modal.target_user')}: {userForPasswordResetModal.email}
{t('user_management.reset_password_modal.password_reset_message')}
{t('user_management.reset_password_modal.target_user')}: {userForPasswordResetModal.email}
{t('user_management.reset_password_modal.new_password')}:
{maskedPassword}
To:
{userForPasswordResetModal.username}
{userForPasswordResetModal.email}