|
|
@@ -3,38 +3,18 @@ import PropTypes from 'prop-types';
|
|
|
import { withTranslation } from 'react-i18next';
|
|
|
|
|
|
import Modal from 'react-bootstrap/es/Modal';
|
|
|
-import PasswordResetDoneModal from './PasswordResetDoneModal';
|
|
|
|
|
|
import { createSubscribedElement } from '../../UnstatedUtils';
|
|
|
import AppContainer from '../../../services/AppContainer';
|
|
|
|
|
|
class PasswordResetModal extends React.Component {
|
|
|
|
|
|
- constructor() {
|
|
|
- super();
|
|
|
-
|
|
|
- this.state = {
|
|
|
- isOpenModal: false,
|
|
|
- };
|
|
|
-
|
|
|
- this.isShow = this.isShow.bind(this);
|
|
|
- this.onHide = this.onHide.bind(this);
|
|
|
- }
|
|
|
-
|
|
|
- isShow() {
|
|
|
- this.setState({ isOpenModal: true });
|
|
|
- }
|
|
|
-
|
|
|
- onHide() {
|
|
|
- this.setState({ isOpenModal: false });
|
|
|
- }
|
|
|
-
|
|
|
render() {
|
|
|
const { t, user } = this.props;
|
|
|
|
|
|
return (
|
|
|
<div>
|
|
|
- <Modal show={this.state.isOpenModal} onHide={this.onHide}>
|
|
|
+ <Modal show={this.props.isOpenPasswordResetModal} onHide={this.props.onHideModal}>
|
|
|
<Modal.Header className="modal-header" closeButton>
|
|
|
<Modal.Title>
|
|
|
{t('user_management.reset_password')}
|
|
|
@@ -49,10 +29,34 @@ class PasswordResetModal extends React.Component {
|
|
|
<p>
|
|
|
{ t('user_management.target_user') }: <code>{ user.email }</code>
|
|
|
</p>
|
|
|
- <PasswordResetDoneModal
|
|
|
- user={user}
|
|
|
- onHideModal={this.onHide}
|
|
|
- />
|
|
|
+ <div>
|
|
|
+ <button type="submit" className="btn btn-primary" onClick={this.props.isShowDoneModal && this.props.resetPassword}>
|
|
|
+ { t('user_management.reset_password')}
|
|
|
+ </button>
|
|
|
+ <Modal show={this.props.isOpenPasswordResetDoneModal} onHide={this.props.onHideDoneModal && this.props.onHideModal}>
|
|
|
+ <Modal.Header className="modal-header" closeButton>
|
|
|
+ <Modal.Title>
|
|
|
+ { t('user_management.reset_password') }
|
|
|
+ </Modal.Title>
|
|
|
+ </Modal.Header>
|
|
|
+ <Modal.Body>
|
|
|
+ <div>
|
|
|
+ <p className="alert alert-danger">{ t('user_management.password_reset_message') }</p>
|
|
|
+ <p>
|
|
|
+ { t('user_management.target_user') }: <code>{ user.email }</code>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ { t('user_management.new_password') }: <code>{ this.props.temporaryPassword }</code>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ </Modal.Body>
|
|
|
+ <Modal.Footer>
|
|
|
+ <div>
|
|
|
+ <button type="submit" className="btn btn-primary" onClick={this.props.onHideDoneModal && this.props.onHideModal}>OK</button>
|
|
|
+ </div>
|
|
|
+ </Modal.Footer>
|
|
|
+ </Modal>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</Modal.Body>
|
|
|
</Modal>
|
|
|
@@ -75,6 +79,14 @@ PasswordResetModal.propTypes = {
|
|
|
appContainer: PropTypes.instanceOf(AppContainer).isRequired,
|
|
|
|
|
|
user: PropTypes.object.isRequired,
|
|
|
+ isOpenPasswordResetModal: PropTypes.bool,
|
|
|
+ isOpenPasswordResetDoneModal: PropTypes.bool,
|
|
|
+ temporaryPassword: PropTypes.array,
|
|
|
+ isShow: PropTypes.func,
|
|
|
+ onHideModal: PropTypes.func.isRequired,
|
|
|
+ isShowDoneModal: PropTypes.func.isRequired,
|
|
|
+ onHideDoneModal: PropTypes.func.isRequired,
|
|
|
+ resetPassword: PropTypes.func.isRequired,
|
|
|
};
|
|
|
|
|
|
export default withTranslation()(PasswordResetModalWrapper);
|