diff --git a/packages/component-faraday-selectors/src/index.js b/packages/component-faraday-selectors/src/index.js index 0ab630ff6cb341f42ab8850b631ba4d270f26f10..efeb000e0dedeafcf3483df439aa5db903974977 100644 --- a/packages/component-faraday-selectors/src/index.js +++ b/packages/component-faraday-selectors/src/index.js @@ -42,10 +42,10 @@ export const canInviteReviewers = (state, collection = {}) => { return false const { id: userId } = selectCurrentUser(state) - const isAdmin = currentUserIs(state, 'isAdmin') + const isAdminEiC = currentUserIs(state, 'adminEiC') const { isAccepted, id: heId } = get(collection, 'handlingEditor', {}) - return isAccepted && (userId === heId || isAdmin) + return isAccepted && (userId === heId || isAdminEiC) } const cannotViewReviewersDetails = [ @@ -71,6 +71,7 @@ const authorCanViewReportsDetailsStatuses = [ 'pendingApproval', 'rejected', 'accepted', + 'reviewCompleted', 'inQa', ] @@ -198,7 +199,12 @@ export const getHERecommendation = (state, collectionId, fragmentId) => { ) } -const canMakeDecisionStatuses = ['submitted', 'pendingApproval'] +const canMakeDecisionStatuses = [ + 'submitted', + 'pendingApproval', + 'underReview', + 'reviewCompleted', +] export const canMakeDecision = (state, collection = {}) => { const status = get(collection, 'status', 'draft') diff --git a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js index f0e5d8a3fd2392f511108c906a7861d73a73cec8..dc5314f613c215bb949c5735f25c395f83e8b5f6 100644 --- a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js +++ b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js @@ -63,7 +63,7 @@ const ManuscriptEicDecision = ({ <Menu {...input} options={ - get(collection, 'status', 'submitted') === 'submitted' + get(collection, 'status', 'submitted') !== 'pendingApproval' ? [last(eicDecisions)] : eicDecisions } diff --git a/packages/component-manuscript/src/components/ManuscriptLayout.js b/packages/component-manuscript/src/components/ManuscriptLayout.js index fd01d44a1b4009c558fb8900d8991e9bc47f7b04..6d08c78bb1b32a5c536ab1b63b3a1807ab241799 100644 --- a/packages/component-manuscript/src/components/ManuscriptLayout.js +++ b/packages/component-manuscript/src/components/ManuscriptLayout.js @@ -146,19 +146,20 @@ const ManuscriptLayout = ({ /> )} - {get(currentUser, 'permissions.canReview', false) && ( - <ReviewerReportForm - changeForm={changeForm} - expanded={reviewerRecommendationExpanded} - formValues={get(formValues, 'reviewerReport', {})} - modalKey="reviewer-report" - project={collection} - review={pendingOwnRecommendation} - toggle={toggleReviewerRecommendations} - token={get(currentUser, 'token')} - version={fragment} - /> - )} + {isLatestVersion && + get(currentUser, 'permissions.canReview', false) && ( + <ReviewerReportForm + changeForm={changeForm} + expanded={reviewerRecommendationExpanded} + formValues={get(formValues, 'reviewerReport', {})} + modalKey="reviewer-report" + project={collection} + review={pendingOwnRecommendation} + toggle={toggleReviewerRecommendations} + token={get(currentUser, 'token')} + version={fragment} + /> + )} {get(currentUser, 'isInvitedHE', false) && ( <ResponseToInvitation @@ -200,6 +201,7 @@ const ManuscriptLayout = ({ getSignedUrl={getSignedUrl} highlight={ reviewerReports.length === 0 && + currentUser.handlingEditor && !cannotViewReviewersDetails.includes( get(collection, 'status', 'draft'), ) diff --git a/packages/component-manuscript/src/components/ManuscriptPage.js b/packages/component-manuscript/src/components/ManuscriptPage.js index 84d6059a9c3187ed2c5c5c648a1f4fe33af233a4..685daeab9d5d245ca9caa4f966bebe64aab6adf7 100644 --- a/packages/component-manuscript/src/components/ManuscriptPage.js +++ b/packages/component-manuscript/src/components/ManuscriptPage.js @@ -377,7 +377,10 @@ export default compose( this.props.toggleEditorialComments() } - if (get(fragment, 'responseToReviewers.content', false)) { + if ( + get(fragment, 'responseToReviewers.content', false) && + !editorialRecommendations.length + ) { this.props.toggleResponseToRevisionRequest() } },