From 0d0ee688dd8a505da630c2dd2dbc780fd4a6c95f Mon Sep 17 00:00:00 2001 From: Anca Ursachi <anca.ursachi@thinslices.com> Date: Tue, 23 Oct 2018 11:39:25 +0300 Subject: [PATCH] fix(manuscriptHeader): Admin and Eic can see the name of handliing editor on status HE INVITED --- .../src/manuscriptDetails/ManuscriptHeader.js | 17 +++++++++++++++-- .../src/components/ManuscriptLayout.js | 1 - .../src/components/ManuscriptPage.js | 3 +-- .../component-manuscript/src/redux/editors.js | 17 +++-------------- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptHeader.js b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptHeader.js index 70c2afdd4..64fe6e647 100644 --- a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptHeader.js +++ b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptHeader.js @@ -22,7 +22,7 @@ const ManuscriptHeader = ({ fragment = {}, manuscriptType = {}, editorInChief = 'Unassigned', - collection: { visibleStatus = 'Draft', customId }, + collection: { visibleStatus = 'Draft', customId, handlingEditor }, }) => { const { authors = [], metadata = {}, submitted = null } = fragment const { title = 'No title', journal = '', type = '' } = metadata @@ -116,18 +116,30 @@ export default compose( revokeInvitation, pendingInvitation = {}, handlingEditors = [], - currentUser: { permissions: { canAssignHE }, id: currentUserId }, + currentUser: { + permissions: { canAssignHE }, + id: currentUserId, + admin, + editorInChief, + }, collection: { handlingEditor }, + currentUser, }) => () => { if (pendingInvitation.userId === currentUserId) { return <Text ml={1}>Invited</Text> } + + if (pendingInvitation.userId && (admin || editorInChief)) { + return <Text ml={1}>{handlingEditor.name}</Text> + } + if (pendingInvitation.userId) { const person = chain(handlingEditors) .filter(he => he.id === pendingInvitation.userId) .map(he => ({ ...he, name: `${he.firstName} ${he.lastName}` })) .first() .value() + return ( <PersonInvitation isFetching={isFetching} @@ -140,6 +152,7 @@ export default compose( /> ) } + if (heInvitation) { return <Text ml={1}>{handlingEditor.name}</Text> } diff --git a/packages/component-manuscript/src/components/ManuscriptLayout.js b/packages/component-manuscript/src/components/ManuscriptLayout.js index e9d46aa19..9bd884c9c 100644 --- a/packages/component-manuscript/src/components/ManuscriptLayout.js +++ b/packages/component-manuscript/src/components/ManuscriptLayout.js @@ -82,7 +82,6 @@ const ManuscriptLayout = ({ getSignedUrl={getSignedUrl} history={history} /> - <ManuscriptHeader collection={collection} currentUser={currentUser} diff --git a/packages/component-manuscript/src/components/ManuscriptPage.js b/packages/component-manuscript/src/components/ManuscriptPage.js index 3c642ff36..636aea6e5 100644 --- a/packages/component-manuscript/src/components/ManuscriptPage.js +++ b/packages/component-manuscript/src/components/ManuscriptPage.js @@ -132,7 +132,6 @@ export default compose( { changeForm, clearCustomError, - assignHandlingEditor, revokeHandlingEditor, getUsers: actions.getUsers, getFragment: actions.getFragment, @@ -261,7 +260,7 @@ export default compose( } }, assignHE: ({ - assignHandlingEditor, + setFetching, fetchUpdatedCollection, collection: { id: collectionId }, }) => (email, modalProps) => diff --git a/packages/component-manuscript/src/redux/editors.js b/packages/component-manuscript/src/redux/editors.js index ffe5ac1f4..e28c0dd29 100644 --- a/packages/component-manuscript/src/redux/editors.js +++ b/packages/component-manuscript/src/redux/editors.js @@ -43,22 +43,11 @@ export const getHandlingEditors = () => dispatch => dispatch(setHandlingEditors(res.users)), ) -export const assignHandlingEditor = ({ email, collectionId }) => dispatch => { - dispatch(editorsRequest()) - return create(`/collections/${collectionId}/invitations`, { +export const assignHandlingEditor = ({ email, collectionId }) => + create(`/collections/${collectionId}/invitations`, { email, role: 'handlingEditor', - }).then( - res => { - dispatch(editorsDone()) - return res - }, - err => { - dispatch(editorsDone()) - throw err - }, - ) -} + }) export const revokeHandlingEditor = ({ invitationId, -- GitLab