Removes duplicated code in wrapper component, and redirects users after signup.
This commit is contained in:
parent
44cab04157
commit
ec88e02ad4
|
@ -13,7 +13,6 @@ import Button from 'core-components/button';
|
||||||
import Message from 'core-components/message';
|
import Message from 'core-components/message';
|
||||||
import Icon from 'core-components/icon';
|
import Icon from 'core-components/icon';
|
||||||
import ModalContainer from 'app-components/modal-container';
|
import ModalContainer from 'app-components/modal-container';
|
||||||
import MainSignUpWidget from 'app/main/main-signup/main-signup-widget';
|
|
||||||
import InviteUserWidget from 'app/admin/panel/users/invite-user-widget';
|
import InviteUserWidget from 'app/admin/panel/users/invite-user-widget';
|
||||||
|
|
||||||
class AdminPanelListUsers extends React.Component {
|
class AdminPanelListUsers extends React.Component {
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import ReactDOM from 'react-dom';
|
|
||||||
|
|
||||||
import Widget from 'core-components/widget';
|
|
||||||
import MainSignUpWidget from 'app/main/main-signup/main-signup-widget';
|
import MainSignUpWidget from 'app/main/main-signup/main-signup-widget';
|
||||||
|
|
||||||
class MainSignUpPage extends React.Component {
|
class MainSignUpPage extends React.Component {
|
||||||
|
@ -9,70 +7,10 @@ class MainSignUpPage extends React.Component {
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<div className="main-signup-page">
|
<div className="main-signup-page">
|
||||||
<MainSignUpWidget {...this.props} className="col-md-6 col-md-offset-3" />
|
<MainSignUpWidget className="col-md-6 col-md-offset-3" />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
renderMessage() {
|
|
||||||
switch (this.state.message) {
|
|
||||||
case 'success':
|
|
||||||
return <Message type="success">{i18n('SIGNUP_SUCCESS')}</Message>;
|
|
||||||
case 'fail':
|
|
||||||
return <Message type="error">{i18n('EMAIL_EXISTS')}</Message>;
|
|
||||||
default:
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
getFormProps() {
|
|
||||||
return {
|
|
||||||
loading: this.state.loading,
|
|
||||||
className: 'signup-widget__form',
|
|
||||||
onSubmit: this.onSignupFormSubmit.bind(this)
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
getInputProps(password) {
|
|
||||||
return {
|
|
||||||
className: 'signup-widget__input',
|
|
||||||
fieldProps: {
|
|
||||||
size: 'medium',
|
|
||||||
password: password
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
onSignupFormSubmit(formState) {
|
|
||||||
const captcha = this.refs.captcha.getWrappedInstance();
|
|
||||||
|
|
||||||
if (!captcha.getValue()) {
|
|
||||||
captcha.focus();
|
|
||||||
} else {
|
|
||||||
this.setState({
|
|
||||||
loading: true
|
|
||||||
});
|
|
||||||
|
|
||||||
API.call({
|
|
||||||
path: '/user/signup',
|
|
||||||
data: _.extend({captcha: captcha.getValue()}, formState)
|
|
||||||
}).then(this.onSignupSuccess.bind(this)).catch(this.onSignupFail.bind(this));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
onSignupSuccess() {
|
|
||||||
this.setState({
|
|
||||||
loading: false,
|
|
||||||
message: 'success'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
onSignupFail() {
|
|
||||||
this.setState({
|
|
||||||
loading: false,
|
|
||||||
message: 'fail'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default MainSignUpPage;
|
export default MainSignUpPage;
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import ReactDOM from 'react-dom';
|
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
import i18n from 'lib-app/i18n';
|
import i18n from 'lib-app/i18n';
|
||||||
import API from 'lib-app/api-call';
|
import API from 'lib-app/api-call';
|
||||||
|
import history from 'lib-app/history';
|
||||||
|
|
||||||
import Captcha from 'app/main/captcha';
|
import Captcha from 'app/main/captcha';
|
||||||
import SubmitButton from 'core-components/submit-button';
|
import SubmitButton from 'core-components/submit-button';
|
||||||
|
@ -17,7 +17,6 @@ import Header from 'core-components/header';
|
||||||
class MainSignUpWidget extends React.Component {
|
class MainSignUpWidget extends React.Component {
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
onSuccess: React.PropTypes.func,
|
|
||||||
className: React.PropTypes.string
|
className: React.PropTypes.string
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -153,6 +152,8 @@ class MainSignUpWidget extends React.Component {
|
||||||
this.setState({
|
this.setState({
|
||||||
loading: false,
|
loading: false,
|
||||||
message: 'success'
|
message: 'success'
|
||||||
|
}, () => {
|
||||||
|
setTimeout(() => {history.push('/check-ticket')}, 2000);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue