diff --git a/packages/component-faraday-ui/src/helpers/index.js b/packages/component-faraday-ui/src/helpers/index.js index 8c28ee43e059e0d33311e9dad7f1c7ac0b180a47..f43ebc451a6f32c9046e861345cc7347d00e3747 100644 --- a/packages/component-faraday-ui/src/helpers/index.js +++ b/packages/component-faraday-ui/src/helpers/index.js @@ -1,5 +1,7 @@ import * as validators from './formValidators' +export * from './utils' + export { default as withFilePreview } from './withFilePreview' export * from './withFileDownload' export { default as withNativeFileDrop } from './withNativeFileDrop' diff --git a/packages/component-faraday-ui/src/helpers/utils.js b/packages/component-faraday-ui/src/helpers/utils.js new file mode 100644 index 0000000000000000000000000000000000000000..f99bf88b7a695cb0e7891211f0471bcf93a52f8c --- /dev/null +++ b/packages/component-faraday-ui/src/helpers/utils.js @@ -0,0 +1,5 @@ +import { get } from 'lodash' + +export const handleError = fn => e => { + fn(get(JSON.parse(e.response), 'error', 'Oops! Something went wrong!')) +} diff --git a/packages/component-invite/src/routes/collectionsInvitations/post.js b/packages/component-invite/src/routes/collectionsInvitations/post.js index 620e45bd870e09ecd7a5cf210f5a683d185075ea..6f28624ea068201d27a33274b2d4dac016d7a57f 100644 --- a/packages/component-invite/src/routes/collectionsInvitations/post.js +++ b/packages/component-invite/src/routes/collectionsInvitations/post.js @@ -69,7 +69,6 @@ module.exports = models => async (req, res) => { try { const user = await UserModel.findByEmail(email) - await teamHelper.setupTeam({ user, role, objectType: 'collection' }) invitationHelper.userId = user.id let invitation = invitationHelper.getInvitation({ invitations: collection.invitations, @@ -89,6 +88,7 @@ module.exports = models => async (req, res) => { } invitation.invitedOn = Date.now() + await teamHelper.setupTeam({ user, role, objectType: 'collection' }) await collection.save() await collectionHelper.addHandlingEditor({ user, invitation }) diff --git a/packages/component-manuscript/src/components/ManuscriptPage.js b/packages/component-manuscript/src/components/ManuscriptPage.js index b928e99ebce45ed1993264ed16394029992f3f6b..d75af1720b9a8248c4fef8058861e03da2594c5b 100644 --- a/packages/component-manuscript/src/components/ManuscriptPage.js +++ b/packages/component-manuscript/src/components/ManuscriptPage.js @@ -46,7 +46,7 @@ import { canOverrideTechnicalChecks, getInvitationsWithReviewersForFragment, } from 'pubsweet-component-faraday-selectors' -import { RemoteOpener } from 'pubsweet-component-faraday-ui' +import { RemoteOpener, handleError } from 'pubsweet-component-faraday-ui' import ManuscriptLayout from './ManuscriptLayout' import { parseEicDecision, parseSearchParams, redirectToError } from './utils' @@ -188,7 +188,7 @@ export default compose( fetchUpdatedCollection() modalProps.hideModal() }) - .catch(() => modalProps.setModalError('Oops! Something went wrong.')), + .catch(handleError(modalProps.setModalError)), revokeHE: ({ getCollection, revokeHandlingEditor, @@ -202,7 +202,7 @@ export default compose( getCollection({ id: collectionId }) modalProps.hideModal() }) - .catch(() => modalProps.setModalError('Oops! Something went wrong.')), + .catch(handleError(modalProps.setModalError)), createRecommendation: ({ fragment, collection, @@ -219,9 +219,7 @@ export default compose( fetchUpdatedCollection() modalProps.hideModal() }) - .catch(() => { - modalProps.setModalError('Oops! Something went wrong.') - }) + .catch(handleError(modalProps.setModalError)) }, onHEResponse: ({ history,