// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See License.txt for license information. import * as Utils from 'utils/utils.jsx'; import {Modal} from 'react-bootstrap'; import {FormattedMessage} from 'react-intl'; import {adminResetPassword} from 'actions/admin_actions.jsx'; import PropTypes from 'prop-types'; import React from 'react'; export default class ResetPasswordModal extends React.Component { static propTypes = { user: PropTypes.object, show: PropTypes.bool.isRequired, onModalSubmit: PropTypes.func, onModalDismissed: PropTypes.func }; static defaultProps = { show: false }; constructor(props) { super(props); this.doSubmit = this.doSubmit.bind(this); this.doCancel = this.doCancel.bind(this); this.state = { serverError: null }; } doSubmit(e) { e.preventDefault(); const password = this.refs.password.value; const passwordErr = Utils.isValidPassword(password); if (passwordErr) { this.setState({serverError: passwordErr}); return; } this.setState({serverError: null}); adminResetPassword( this.props.user.id, password, () => { this.props.onModalSubmit(this.props.user); }, (err) => { this.setState({serverError: err.message}); } ); } doCancel() { this.setState({serverError: null}); this.props.onModalDismissed(); } render() { const user = this.props.user; if (user == null) { return
; } let urlClass = 'input-group input-group--limit'; let serverError = null; if (this.state.serverError) { urlClass += ' has-error'; serverError ={this.state.serverError}