|
@@ -8,7 +8,6 @@ import {
|
|
|
import { toastError } from '../../../util/apiNotification';
|
|
import { toastError } from '../../../util/apiNotification';
|
|
|
import { createSubscribedElement } from '../../UnstatedUtils';
|
|
import { createSubscribedElement } from '../../UnstatedUtils';
|
|
|
import AppContainer from '../../../services/AppContainer';
|
|
import AppContainer from '../../../services/AppContainer';
|
|
|
-import AdminUsersContainer from '../../../services/AdminUsersContainer';
|
|
|
|
|
|
|
|
|
|
class PasswordResetModal extends React.Component {
|
|
class PasswordResetModal extends React.Component {
|
|
|
|
|
|
|
@@ -24,10 +23,9 @@ class PasswordResetModal extends React.Component {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
async resetPassword() {
|
|
async resetPassword() {
|
|
|
- const { appContainer, adminUsersContainer } = this.props;
|
|
|
|
|
- const user = adminUsersContainer.state.userForPasswordResetModal;
|
|
|
|
|
|
|
+ const { appContainer, userForPasswordResetModal } = this.props;
|
|
|
|
|
|
|
|
- const res = await appContainer.apiPost('/admin/users.resetPassword', { user_id: user._id });
|
|
|
|
|
|
|
+ const res = await appContainer.apiPost('/admin/users.resetPassword', { user_id: userForPasswordResetModal._id });
|
|
|
if (res.ok) {
|
|
if (res.ok) {
|
|
|
this.setState({ temporaryPassword: res.newPassword, isPasswordResetDone: true });
|
|
this.setState({ temporaryPassword: res.newPassword, isPasswordResetDone: true });
|
|
|
}
|
|
}
|
|
@@ -37,14 +35,13 @@ class PasswordResetModal extends React.Component {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
renderModalBodyBeforeReset() {
|
|
renderModalBodyBeforeReset() {
|
|
|
- const { t, adminUsersContainer } = this.props;
|
|
|
|
|
- const user = adminUsersContainer.state.userForPasswordResetModal;
|
|
|
|
|
|
|
+ const { t, userForPasswordResetModal } = this.props;
|
|
|
|
|
|
|
|
return (
|
|
return (
|
|
|
<div>
|
|
<div>
|
|
|
<p className="alert alert-danger">{t('admin:user_management.reset_password_modal.password_reset_message')}</p>
|
|
<p className="alert alert-danger">{t('admin:user_management.reset_password_modal.password_reset_message')}</p>
|
|
|
<p>
|
|
<p>
|
|
|
- {t('admin:user_management.reset_password_modal.target_user')}: <code>{user.email}</code>
|
|
|
|
|
|
|
+ {t('admin:user_management.reset_password_modal.target_user')}: <code>{userForPasswordResetModal.email}</code>
|
|
|
</p>
|
|
</p>
|
|
|
<p>
|
|
<p>
|
|
|
{t('admin:user_management.reset_password_modal.new_password')}: <code>{this.state.temporaryPassword}</code>
|
|
{t('admin:user_management.reset_password_modal.new_password')}: <code>{this.state.temporaryPassword}</code>
|
|
@@ -54,8 +51,7 @@ class PasswordResetModal extends React.Component {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
returnModalBodyAfterReset() {
|
|
returnModalBodyAfterReset() {
|
|
|
- const { t, adminUsersContainer } = this.props;
|
|
|
|
|
- const user = adminUsersContainer.state.userForPasswordResetModal;
|
|
|
|
|
|
|
+ const { t, userForPasswordResetModal } = this.props;
|
|
|
|
|
|
|
|
return (
|
|
return (
|
|
|
<div>
|
|
<div>
|
|
@@ -64,7 +60,7 @@ class PasswordResetModal extends React.Component {
|
|
|
<span className="text-danger">{t('admin:user_management.reset_password_modal.send_new_password')}</span>
|
|
<span className="text-danger">{t('admin:user_management.reset_password_modal.send_new_password')}</span>
|
|
|
</p>
|
|
</p>
|
|
|
<p>
|
|
<p>
|
|
|
- {t('admin:user_management.reset_password_modal.target_user')}: <code>{user.email}</code>
|
|
|
|
|
|
|
+ {t('admin:user_management.reset_password_modal.target_user')}: <code>{userForPasswordResetModal.email}</code>
|
|
|
</p>
|
|
</p>
|
|
|
<button type="submit" className="btn btn-primary" onClick={this.resetPassword}>
|
|
<button type="submit" className="btn btn-primary" onClick={this.resetPassword}>
|
|
|
{t('admin:user_management.reset_password')}
|
|
{t('admin:user_management.reset_password')}
|
|
@@ -76,18 +72,18 @@ class PasswordResetModal extends React.Component {
|
|
|
returnModalFooter() {
|
|
returnModalFooter() {
|
|
|
return (
|
|
return (
|
|
|
<div>
|
|
<div>
|
|
|
- <button type="submit" className="btn btn-primary" onClick={this.props.adminUsersContainer.hidePasswordResetModal}>OK</button>
|
|
|
|
|
|
|
+ <button type="submit" className="btn btn-primary" onClick={this.props.onClose}>OK</button>
|
|
|
</div>
|
|
</div>
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
render() {
|
|
render() {
|
|
|
- const { t, adminUsersContainer } = this.props;
|
|
|
|
|
|
|
+ const { t } = this.props;
|
|
|
|
|
|
|
|
return (
|
|
return (
|
|
|
- <Modal isOpen={adminUsersContainer.state.isPasswordResetModalShown} toggle={adminUsersContainer.hidePasswordResetModal}>
|
|
|
|
|
- <ModalHeader tag="h4" toggle={adminUsersContainer.hidePasswordResetModal} className="modal-header">
|
|
|
|
|
|
|
+ <Modal isOpen={this.props.isOpen} toggle={this.props.onClose}>
|
|
|
|
|
+ <ModalHeader tag="h4" toggle={this.props.onClose} className="modal-header">
|
|
|
{t('admin:user_management.reset_password') }
|
|
{t('admin:user_management.reset_password') }
|
|
|
</ModalHeader>
|
|
</ModalHeader>
|
|
|
<ModalBody>
|
|
<ModalBody>
|
|
@@ -106,13 +102,17 @@ class PasswordResetModal extends React.Component {
|
|
|
* Wrapper component for using unstated
|
|
* Wrapper component for using unstated
|
|
|
*/
|
|
*/
|
|
|
const PasswordResetModalWrapper = (props) => {
|
|
const PasswordResetModalWrapper = (props) => {
|
|
|
- return createSubscribedElement(PasswordResetModal, props, [AppContainer, AdminUsersContainer]);
|
|
|
|
|
|
|
+ return createSubscribedElement(PasswordResetModal, props, [AppContainer]);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
PasswordResetModal.propTypes = {
|
|
PasswordResetModal.propTypes = {
|
|
|
t: PropTypes.func.isRequired, // i18next
|
|
t: PropTypes.func.isRequired, // i18next
|
|
|
appContainer: PropTypes.instanceOf(AppContainer).isRequired,
|
|
appContainer: PropTypes.instanceOf(AppContainer).isRequired,
|
|
|
- adminUsersContainer: PropTypes.instanceOf(AdminUsersContainer).isRequired,
|
|
|
|
|
|
|
+
|
|
|
|
|
+ isOpen: PropTypes.bool.isRequired,
|
|
|
|
|
+ onClose: PropTypes.func.isRequired,
|
|
|
|
|
+ userForPasswordResetModal: PropTypes.object,
|
|
|
|
|
+
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
export default withTranslation()(PasswordResetModalWrapper);
|
|
export default withTranslation()(PasswordResetModalWrapper);
|