diff --git a/packages/component-faraday-selectors/src/index.js b/packages/component-faraday-selectors/src/index.js index 8a6ef140784a77427e9da1f5095a39a3148efaea..c877ca56f007c32f707e5d6818708d417d8ce27b 100644 --- a/packages/component-faraday-selectors/src/index.js +++ b/packages/component-faraday-selectors/src/index.js @@ -199,9 +199,7 @@ export const getHERecommendation = (state, collectionId, fragmentId) => { } const canMakeDecisionStatuses = ['submitted', 'pendingApproval'] -export const canMakeDecision = (state, collection = {}, fragment = {}) => { - if (get(fragment, 'id', '') !== last(get(collection, 'fragments', []))) - return false +export const canMakeDecision = (state, collection = {}) => { const status = get(collection, 'status', 'draft') const isEIC = currentUserIs(state, 'adminEiC') @@ -409,18 +407,6 @@ export const getOwnSubmittedRecommendation = (state, fragmentId) => ) .value() -const canMakeRecommendationStatuses = [ - 'heAssigned', - 'underReview', - 'reviewCompleted', -] -export const canMakeRecommendation = (state, collection, fragment = {}) => { - if (fragment.id !== last(get(collection, 'fragments', []))) return false - const isHE = isHEToManuscript(state, get(collection, 'id', '')) - const status = get(collection, 'status', 'draft') - return isHE && canMakeRecommendationStatuses.includes(status) -} - export const canSubmitRevision = (state, fragment = {}) => { const userId = get(state, 'currentUser.user.id') const fragmentAuthors = chain(fragment) diff --git a/packages/component-manuscript/src/components/ManuscriptLayout.js b/packages/component-manuscript/src/components/ManuscriptLayout.js index c7134d6b57434d1a2fef457ef520c6e667c0331b..bf88f0978ba1a48ab8363ace469879602c620c74 100644 --- a/packages/component-manuscript/src/components/ManuscriptLayout.js +++ b/packages/component-manuscript/src/components/ManuscriptLayout.js @@ -202,13 +202,14 @@ const ManuscriptLayout = ({ /> )} - {get(currentUser, 'permissions.canSubmitRevision', false) && ( - <SubmitRevision {...submitRevision} /> - )} + {isLatestVersion && + get(currentUser, 'permissions.canSubmitRevision', false) && ( + <SubmitRevision {...submitRevision} /> + )} - {get(currentUser, 'permissions.canMakeHERecommendation', false) && - (!invitationsWithReviewers.length || - reviewerRecommendations.length > 0) && ( + {isLatestVersion && + get(currentUser, 'permissions.canMakeHERecommendation', false) && + reviewerRecommendations.length > 0 && ( <HERecommendation formValues={get(formValues, 'editorialRecommendation', {})} hasReviewerReports={reviewerRecommendations.length > 0} @@ -220,16 +221,17 @@ const ManuscriptLayout = ({ /> )} - {get(currentUser, 'permissions.canMakeDecision', false) && ( - <ManuscriptEicDecision - collection={collection} - formValues={get(formValues, 'eicDecision')} - highlight={editorialRecommendations.length > 0} - messagesLabel={messagesLabel} - mt={2} - submitDecision={recommendationHandler.createRecommendation} - /> - )} + {isLatestVersion && + get(currentUser, 'permissions.canMakeDecision', false) && ( + <ManuscriptEicDecision + collection={collection} + formValues={get(formValues, 'eicDecision')} + highlight={editorialRecommendations.length > 0} + messagesLabel={messagesLabel} + mt={2} + submitDecision={recommendationHandler.createRecommendation} + /> + )} </Fragment> ) : ( <Text>Loading...</Text> diff --git a/packages/component-manuscript/src/components/ManuscriptPage.js b/packages/component-manuscript/src/components/ManuscriptPage.js index 5b902498b9605887e88436f3968b1faa2e3492bc..9a19872bb16b91f156b4c08ca2af32a2754fd85b 100644 --- a/packages/component-manuscript/src/components/ManuscriptPage.js +++ b/packages/component-manuscript/src/components/ManuscriptPage.js @@ -176,7 +176,7 @@ export default compose( canInviteReviewers: canInviteReviewers(state, collection), canMakeRecommendation: !isUndefined(pendingOwnRecommendation), canMakeRevision: canMakeRevision(state, collection, fragment), - canMakeDecision: canMakeDecision(state, collection, fragment), + canMakeDecision: canMakeDecision(state, collection), canEditManuscript: canEditManuscript(state, collection, fragment), canViewReviewersDetails: canViewReviewersDetails(state, collection), authorCanViewReportsDetails: authorCanViewReportsDetails(