diff --git a/packages/component-faraday-selectors/src/index.js b/packages/component-faraday-selectors/src/index.js index 04186a157a684bdc40d6727efd9756728bed8d9a..d3390a5eda5cc91eafcb5a526d67409622e67813 100644 --- a/packages/component-faraday-selectors/src/index.js +++ b/packages/component-faraday-selectors/src/index.js @@ -339,9 +339,6 @@ export const canSubmitRevision = (state, collection, fragment) => { .map(a => a.id) .value() - return ( - get(collection, 'status', 'draft') === 'revisionRequested' && - fragmentAuthors.includes(userId) - ) + return get(fragment, 'revision', null) && fragmentAuthors.includes(userId) } // #endregion diff --git a/packages/component-faraday-ui/src/helpers/withCountries.js b/packages/component-faraday-ui/src/helpers/withCountries.js index 5d43f3a18f8d9ffc2b20d940d018d7d6e5613c71..fb72d5997d1270d94f7a11dd8325510a24034e1e 100644 --- a/packages/component-faraday-ui/src/helpers/withCountries.js +++ b/packages/component-faraday-ui/src/helpers/withCountries.js @@ -1,7 +1,7 @@ import { withProps } from 'recompose' import countrylist from 'country-list' -const countryMapper = (c = 'RO') => { +const countryMapper = (c = 'GB') => { switch (c) { case 'GB': return 'UK' @@ -14,7 +14,7 @@ const countryMapper = (c = 'RO') => { } } -const codeMapper = (c = 'RO') => { +const codeMapper = (c = 'UK') => { switch (c) { case 'UK': return 'GB' diff --git a/packages/component-faraday-ui/src/submissionRevision/ResponseToReviewer.js b/packages/component-faraday-ui/src/submissionRevision/ResponseToReviewer.js index 22cfcaf4495a023172a584e4f603f02e6943796f..ae8d081db29f25e6d7ebc0c77f055feb6459cbd4 100644 --- a/packages/component-faraday-ui/src/submissionRevision/ResponseToReviewer.js +++ b/packages/component-faraday-ui/src/submissionRevision/ResponseToReviewer.js @@ -69,8 +69,8 @@ const ResponseToReviewer = ({ <FileItem item={file} onDelete={onDelete} - onDownload={f => downloadFile(f)} - onPreview={f => previewFile(f)} + onDownload={downloadFile} + onPreview={previewFile} /> </Row> )} diff --git a/packages/component-manuscript/src/components/ManuscriptPage.js b/packages/component-manuscript/src/components/ManuscriptPage.js index bca758a1f9ab7924361799210946027862749a96..752339f211cac42f959a3567da0297d59e9a17df 100644 --- a/packages/component-manuscript/src/components/ManuscriptPage.js +++ b/packages/component-manuscript/src/components/ManuscriptPage.js @@ -496,7 +496,6 @@ export default compose( heRecommendationExpanded: expanded, })), withProps(({ currentUser, collection, submittedOwnRecommendation }) => ({ - submitRevisionModalKey: 'submitRevision', getSignedUrl, shouldReview: get(currentUser, 'isReviewer', false) && diff --git a/packages/component-manuscript/src/submitRevision/utils.js b/packages/component-manuscript/src/submitRevision/utils.js index 09cc446020ceaecf85fb9636ab5b2862304c8876..5438c077e89c38ec67fe18a5a0da6fe63971f120 100644 --- a/packages/component-manuscript/src/submitRevision/utils.js +++ b/packages/component-manuscript/src/submitRevision/utils.js @@ -42,13 +42,20 @@ export const onSubmit = ( fragmentId: fragment.id, collectionId: collection.id, }) - .then(r => { - setFetching(false) - dispatch(actions.getFragments({ id: collection.id })).then(() => { - history.push(`/projects/${r.collectionId}/versions/${r.id}/details`) - hideModal() - }) - }) + .then( + r => { + dispatch(actions.getFragments({ id: collection.id })).then(() => { + setFetching(false) + hideModal() + history.push( + `/projects/${r.collectionId}/versions/${r.id}/details`, + ) + }) + }, + err => { + throw err + }, + ) .catch(err => { setFetching(false) handleError(setModalError)(err) @@ -78,7 +85,7 @@ export const validate = ({ responseToReviewers }) => { set( errors, 'responseToReviewers.content', - 'A response of a report file is need.', + 'A reply or a report file is needed.', ) } diff --git a/packages/component-manuscript/src/submitRevision/withSubmitRevision.js b/packages/component-manuscript/src/submitRevision/withSubmitRevision.js index 512029f89d89330fec483f45cc07d2c79f199358..bee0fa857803e91bf8987c4fabbf9ffd24fb4275 100644 --- a/packages/component-manuscript/src/submitRevision/withSubmitRevision.js +++ b/packages/component-manuscript/src/submitRevision/withSubmitRevision.js @@ -1,5 +1,6 @@ import { get, pick } from 'lodash' import { connect } from 'react-redux' +import { withRouter } from 'react-router-dom' import { MultiAction, handleError, @@ -32,6 +33,7 @@ import { import { onChange, onSubmit, getInitialValues, validate } from './utils' export default compose( + withRouter, withFetching, withFilePreview, withFileDownload, @@ -45,7 +47,7 @@ export default compose( withProps(() => ({ modalKey: 'submitRevision', })), - withModal(({ isFetching, ...props }) => ({ + withModal(({ isFetching }) => ({ isFetching, modalComponent: MultiAction, })), @@ -98,6 +100,7 @@ export default compose( ...pick(props, [ 'addFile', 'journal', + 'history', 'fragment', 'addAuthor', 'showModal', @@ -128,5 +131,4 @@ export default compose( })), setDisplayName('SubmitRevisionHOC'), - // reduxForm({ form: 'revision', onSubmit }), ) diff --git a/packages/xpub-faraday/config/validations.js b/packages/xpub-faraday/config/validations.js index 978904daf61d9ad44ee03ad187d33d30dc64ac83..cc116eecca70a91cb64c085c77fc0c6b6da39cfd 100644 --- a/packages/xpub-faraday/config/validations.js +++ b/packages/xpub-faraday/config/validations.js @@ -42,7 +42,18 @@ module.exports = { hasFunding: Joi.any().valid(['yes', 'no', '']), fundingMessage: Joi.string().allow(''), }), - commentsToReviewers: Joi.string(), + responseToReviewers: Joi.object({ + file: Joi.object({ + id: Joi.string(), + name: Joi.string().required(), + originalName: Joi.string(), + type: Joi.string(), + size: Joi.number(), + url: Joi.string(), + signedUrl: Joi.string(), + }).allow(null), + content: Joi.string().allow(''), + }), files: Joi.object({ manuscript: Joi.any(), manuscripts: Joi.array().items(