diff --git a/packages/component-faraday-selectors/src/index.js b/packages/component-faraday-selectors/src/index.js index 0ab630ff6cb341f42ab8850b631ba4d270f26f10..97e85dbf4cffbe3e030454c7744a377f79c69357 100644 --- a/packages/component-faraday-selectors/src/index.js +++ b/packages/component-faraday-selectors/src/index.js @@ -361,13 +361,32 @@ export const getInvitationsWithReviewersForFragment = (state, fragmentId) => export const canMakeHERecommendation = (state, { collection, statuses }) => { const validHE = isHEToManuscript(state, get(collection, 'id', '')) + if (!validHE) return false + const statusImportance = get( statuses, `${get(collection, 'status', 'draft')}.importance`, 1, ) - return statusImportance > 1 && statusImportance < 9 && validHE + if (!(statusImportance > 1 && statusImportance < 9)) return false + + if (collection.fragments.length !== 1) { + const previousFragmentId = + collection.fragments[collection.fragments.length - 2] + + const previousRecommendationType = chain(state) + .get(`fragments.${previousFragmentId}.recommendations`, []) + .find( + recommendation => + recommendation.recommendationType === 'editorRecommendation', + ) + .get('recommendation', '') + .value() + if (previousRecommendationType === 'minor') { + return true + } + } } export const getFragmentAuthorResponse = (state, fragmentId) => diff --git a/packages/component-manuscript/src/components/ManuscriptLayout.js b/packages/component-manuscript/src/components/ManuscriptLayout.js index 12bb8a9fb7bbf0732abd72597c7e36e4497097bb..161ca3fb1f0049712b15026a6c3bd34e67c7451f 100644 --- a/packages/component-manuscript/src/components/ManuscriptLayout.js +++ b/packages/component-manuscript/src/components/ManuscriptLayout.js @@ -220,8 +220,7 @@ const ManuscriptLayout = ({ )} {isLatestVersion && - get(currentUser, 'permissions.canMakeHERecommendation', false) && - reviewerRecommendations.length > 0 && ( + get(currentUser, 'permissions.canMakeHERecommendation', false) && ( <HERecommendation formValues={get(formValues, 'editorialRecommendation', {})} hasReviewerReports={reviewerRecommendations.length > 0}