From 1626a6de6f16ba0878160b0a7eae9f49b8d34d4f Mon Sep 17 00:00:00 2001 From: =Corey Hulen Date: Wed, 23 Sep 2015 12:49:28 -0700 Subject: PLT-349 adding team mgt to admin console --- .../admin_console/reset_password_modal.jsx | 136 +++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 web/react/components/admin_console/reset_password_modal.jsx (limited to 'web/react/components/admin_console/reset_password_modal.jsx') diff --git a/web/react/components/admin_console/reset_password_modal.jsx b/web/react/components/admin_console/reset_password_modal.jsx new file mode 100644 index 000000000..4aa86dfcb --- /dev/null +++ b/web/react/components/admin_console/reset_password_modal.jsx @@ -0,0 +1,136 @@ +// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved. +// See License.txt for license information. + +var Client = require('../../utils/client.jsx'); +var Modal = ReactBootstrap.Modal; + +export default class ResetPasswordModal extends React.Component { + constructor(props) { + super(props); + + this.doSubmit = this.doSubmit.bind(this); + this.doCancel = this.doCancel.bind(this); + + this.state = { + serverError: null + }; + } + + doSubmit(e) { + e.preventDefault(); + var password = React.findDOMNode(this.refs.password).value; + + if (!password || password.length < 5) { + this.state.serverError = 'Please enter at least 5 characters.'; + this.setState(this.state); + return; + } + + this.state.serverError = null; + this.setState(this.state); + + var data = {}; + data.new_password = password; + data.name = this.props.team.name; + data.user_id = this.props.user.id; + + Client.resetPassword(data, + () => { + this.props.onModalSubmit(React.findDOMNode(this.refs.password).value); + }, + (err) => { + this.state.serverError = err.message; + this.setState(this.state); + } + ); + } + + doCancel() { + this.state.serverError = null; + this.setState(this.state); + this.props.onModalDismissed(); + } + + render() { + if (this.props.user == null) { + return
; + } + + let urlClass = 'input-group input-group--limit'; + let serverError = null; + + if (this.state.serverError) { + urlClass += ' has-error'; + serverError =

{this.state.serverError}

; + } + + return ( + + + {'Reset Password'} + +
+ +
+
+
+ + {'New Password'} + + +
+ {serverError} +
+
+
+ + + + +
+
+ ); + } +} + +ResetPasswordModal.defaultProps = { + show: false +}; + +ResetPasswordModal.propTypes = { + user: React.PropTypes.object, + team: React.PropTypes.object, + show: React.PropTypes.bool.isRequired, + onModalSubmit: React.PropTypes.func, + onModalDismissed: React.PropTypes.func +}; -- cgit v1.2.3-1-g7c22 From 985aebf86120188c2a14adfab39af7c4da3c1c9d Mon Sep 17 00:00:00 2001 From: =Corey Hulen Date: Wed, 23 Sep 2015 15:16:48 -0700 Subject: Fixing state setting --- web/react/components/admin_console/reset_password_modal.jsx | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'web/react/components/admin_console/reset_password_modal.jsx') diff --git a/web/react/components/admin_console/reset_password_modal.jsx b/web/react/components/admin_console/reset_password_modal.jsx index 4aa86dfcb..0b83edb17 100644 --- a/web/react/components/admin_console/reset_password_modal.jsx +++ b/web/react/components/admin_console/reset_password_modal.jsx @@ -21,13 +21,11 @@ export default class ResetPasswordModal extends React.Component { var password = React.findDOMNode(this.refs.password).value; if (!password || password.length < 5) { - this.state.serverError = 'Please enter at least 5 characters.'; - this.setState(this.state); + this.setState({serverError: 'Please enter at least 5 characters.'}); return; } - this.state.serverError = null; - this.setState(this.state); + this.setState({serverError: null}); var data = {}; data.new_password = password; @@ -39,15 +37,13 @@ export default class ResetPasswordModal extends React.Component { this.props.onModalSubmit(React.findDOMNode(this.refs.password).value); }, (err) => { - this.state.serverError = err.message; - this.setState(this.state); + this.setState({serverError: err.message}); } ); } doCancel() { - this.state.serverError = null; - this.setState(this.state); + this.setState({serverError: null}); this.props.onModalDismissed(); } -- cgit v1.2.3-1-g7c22