From 01bd9c7784b6ad3988e8eae3329a011e2854eae3 Mon Sep 17 00:00:00 2001 From: Bogdan Cochior <bogdan.cochior@thinslices.com> Date: Fri, 20 Apr 2018 16:53:09 +0300 Subject: [PATCH] feat(invite-reviewer): add set password error --- .../src/components/SignUp/ReviewerSignUp.js | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/packages/components-faraday/src/components/SignUp/ReviewerSignUp.js b/packages/components-faraday/src/components/SignUp/ReviewerSignUp.js index 479c71a35..514f3fb3a 100644 --- a/packages/components-faraday/src/components/SignUp/ReviewerSignUp.js +++ b/packages/components-faraday/src/components/SignUp/ReviewerSignUp.js @@ -1,6 +1,7 @@ import React from 'react' +import { get } from 'lodash' import { connect } from 'react-redux' -import { reduxForm } from 'redux-form' +import { reduxForm, SubmissionError } from 'redux-form' import { push } from 'react-router-redux' import { required, minChars } from 'xpub-validators' import { compose, withState, lifecycle } from 'recompose' @@ -50,7 +51,7 @@ const ReviewerSignUp = ({ {error && ( <Row> <RowItem> - <Err>{error}</Err> + <Err>Token expired or Something went wrong.</Err> </RowItem> </Row> )} @@ -107,15 +108,25 @@ export default compose( }, ) => { const { collectionId, fragmentId, agree, invitationId } = searchParams - setReviewerPassword({ + return setReviewerPassword({ ...reviewer, password, - }).then(() => { - loginUser( - { username: reviewer.email, password }, - `/projects/${collectionId}/versions/${fragmentId}/details?agree=${agree}&invitationId=${invitationId}`, - ) }) + .then(() => { + loginUser( + { username: reviewer.email, password }, + `/projects/${collectionId}/versions/${fragmentId}/details?agree=${agree}&invitationId=${invitationId}`, + ) + }) + .catch(error => { + const err = get(error, 'response') + if (err) { + const errorMessage = get(JSON.parse(err), 'error') + throw new SubmissionError({ + _error: errorMessage || 'Something went wrong', + }) + } + }) }, }), )(ReviewerSignUp) -- GitLab