Do not request password till newPassword and newRePassword are valid

This commit is contained in:
SleepWalker 2016-05-02 13:11:10 +03:00
parent e1f16d7346
commit 9df4819905

View File

@ -37,11 +37,26 @@ function goToProfile() {
export default connect(null, { export default connect(null, {
changePassword: (form) => { changePassword: (form) => {
return (dispatch) => { return (dispatch) => {
// TODO: судя по всему registerPopup было явно лишним. Надо еще раз accounts.changePassword(form.serialize())
// обдумать API и переписать .catch((resp) => {
dispatch(registerPopup('requestPassword', PasswordRequestForm)); // prevalidate user input, because requestPassword popup will block the
dispatch(createPopup('requestPassword', (props) => { // entire form from input, so it must be valid
return { if (resp.errors) {
Reflect.deleteProperty(resp.errors, 'password');
if (Object.keys(resp.errors).length) {
form.setErrors(resp.errors);
return Promise.reject(resp);
}
}
return Promise.resolve();
})
.then(() => {
// TODO: судя по всему registerPopup было явно лишним. Надо еще раз
// обдумать API и переписать
dispatch(registerPopup('requestPassword', PasswordRequestForm));
dispatch(createPopup('requestPassword', (props) => ({
form, form,
onSubmit: () => { onSubmit: () => {
// TODO: hide this logic in action // TODO: hide this logic in action
@ -62,8 +77,8 @@ export default connect(null, {
.then(props.onClose) .then(props.onClose)
.then(() => dispatch(goToProfile())); .then(() => dispatch(goToProfile()));
} }
}; })));
})); });
}; };
} }
})(ChangePasswordPage); })(ChangePasswordPage);