diff --git a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js index 7fc2e98e5d3812c8237e7986d28377673d4260a5..07fcac0087453c6943265160174beb18b23f95f0 100644 --- a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js +++ b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptEicDecision.js @@ -1,5 +1,5 @@ import React from 'react' -import { get, last } from 'lodash' +import { get, initial } from 'lodash' import { compose, withProps } from 'recompose' import styled from 'styled-components' import { reduxForm } from 'redux-form' @@ -33,23 +33,23 @@ const eicDecisions = [ modalTitle: 'Publish Manuscript', modalSubtitle: 'A publish decision is final', }, - { - value: 'revision', - label: 'Request Revision', - modalTitle: 'Request Revision', - }, { value: 'reject', label: 'Reject', modalTitle: 'Reject Manuscript', modalSubtitle: 'A rejection decision is final', }, + { + value: 'revision', + label: 'Request Revision', + modalTitle: 'Request Revision', + }, ] const filterOptions = (eicDecisions, status) => { if (status === 'submitted') return eicDecisions.slice(2) - if (status === 'pendingApproval') return eicDecisions - return [last(eicDecisions)] + if (status === 'pendingApproval') return initial(eicDecisions) + return eicDecisions.slice(2, 3) } const ManuscriptEicDecision = ({ status, diff --git a/packages/component-helper-service/src/services/Collection.js b/packages/component-helper-service/src/services/Collection.js index ece6c1339e26542a0509c2f0606ded4b2f7e92e4..e95d5e8666a94464384fac61f693d199fe3c154b 100644 --- a/packages/component-helper-service/src/services/Collection.js +++ b/packages/component-helper-service/src/services/Collection.js @@ -93,7 +93,8 @@ class Collection { const allCollectionInvitations = flatMap( allCollectionFragments, fragment => fragment.invitations, - ) + ).filter(Boolean) + const allNumberedInvitationsForUser = allCollectionInvitations .filter(invite => invite.userId === userId) .filter(invite => invite.reviewerNumber) @@ -134,7 +135,9 @@ class Collection { if (lastEditorRecommendation.recommendation === 'minor') { return this.hasAtLeastOneReviewReport(fragments) - } else if (lastEditorRecommendation.recommendation === 'major') { + } else if ( + ['major', 'revision'].includes(lastEditorRecommendation.recommendation) + ) { return fragmentHelper.hasReviewReport() }