move reset password component to accounts package; fix bug with PASSWORD_CHANGE state

This commit is contained in:
SachaG 2017-06-16 09:00:33 +09:00
parent eafd294d49
commit 08277e1a99
7 changed files with 19 additions and 17 deletions

View file

@ -8,3 +8,4 @@ import './ui/components/FormMessages.jsx';
import './ui/components/LoginForm.jsx';
import './ui/components/PasswordOrService.jsx';
import './ui/components/SocialButtons.jsx';
import './ui/components/ResetPassword.jsx';

View file

@ -0,0 +1,3 @@
import { addRoute } from 'meteor/vulcan:core';
addRoute({name: 'resetPassword', path: '/reset-password/:token', componentName: 'AccountsResetPassword'});

View file

@ -3,8 +3,9 @@ import React, { PureComponent } from 'react';
import PropTypes from 'prop-types';
import { Link } from 'react-router';
import { intlShape } from 'meteor/vulcan:i18n';
import { STATES } from '../../helpers.js';
class UsersResetPassword extends PureComponent {
class AccountsResetPassword extends PureComponent {
componentDidMount() {
const token = this.props.params.token;
Accounts._loginButtonsSession.set('resetPasswordToken', token);
@ -14,31 +15,28 @@ class UsersResetPassword extends PureComponent {
if (!this.props.currentUser) {
return (
<Components.AccountsLoginForm
formState={ Symbol('PASSWORD_CHANGE') }
formState={ STATES.PASSWORD_CHANGE }
/>
);
} else {
return (
<div className='password-reset-form'>
<div>{this.context.intl.formatMessage({id: 'accounts.info_password_changed'})}!</div>
</div>
);
}
return (
<div className='password-reset-form'>
<div>{this.context.intl.formatMessage({id: 'accounts.info_password_changed'})}!</div>
<Link to="/">
Return Home
</Link>
</div>
);
}
}
UsersResetPassword.contextTypes = {
AccountsResetPassword.contextTypes = {
intl: intlShape
}
UsersResetPassword.propsTypes = {
AccountsResetPassword.propsTypes = {
currentUser: PropTypes.object,
params: PropTypes.object,
};
UsersResetPassword.displayName = 'UsersResetPassword';
AccountsResetPassword.displayName = 'AccountsResetPassword';
registerComponent('UsersResetPassword', UsersResetPassword, withCurrentUser);
registerComponent('AccountsResetPassword', AccountsResetPassword, withCurrentUser);

View file

@ -2,6 +2,7 @@ import { Accounts } from 'meteor/accounts-base';
import './imports/accounts_ui.js';
import './imports/components.js';
import './imports/login_session.js';
import './imports/routes.js';
import { STATES } from './imports/helpers.js';
import './imports/ui/components/LoginForm.jsx';

View file

@ -2,6 +2,7 @@ import { Accounts } from 'meteor/accounts-base';
import './imports/accounts_ui.js';
import './imports/components.js';
import './imports/login_session.js';
import './imports/routes.js';
import { redirect, STATES } from './imports/helpers.js';
import './imports/api/server/servicesListPublication.js';

View file

@ -66,4 +66,3 @@ import './users/UsersAvatar.jsx';
import './users/UsersName.jsx';
import './users/UsersMenu.jsx';
import './users/UsersAccountMenu.jsx';
import './users/UsersResetPassword.jsx';

View file

@ -6,6 +6,5 @@ addRoute([
{name:'posts.single', path:'posts/:_id(/:slug)', componentName: 'PostsSingle'},
{name:'users.single', path:'users/:slug', componentName: 'UsersSingle'},
{name:'users.account', path:'account', componentName: 'UsersAccount'},
{name:'resetPassword', path:'reset-password/:token', componentName: 'UsersResetPassword'},
{name:'users.edit', path:'users/:slug/edit', componentName: 'UsersAccount'},
]);