From 4c061afef125f930900ae396b106632d49b8e098 Mon Sep 17 00:00:00 2001
From: Daniel Sandu <daniel.sandu11@gmail.com>
Date: Tue, 30 Oct 2018 16:29:22 +0200
Subject: [PATCH] fix: The download button does not work - functionality issues

---
 .../src/ReviewerReportAuthor.js               | 52 ++++++++++++-------
 .../src/contextualBoxes/AuthorReviews.js      | 11 +++-
 .../src/components/ManuscriptLayout.js        |  3 ++
 .../src/submitRevision/withSubmitRevision.js  |  2 +-
 4 files changed, 46 insertions(+), 22 deletions(-)

diff --git a/packages/component-faraday-ui/src/ReviewerReportAuthor.js b/packages/component-faraday-ui/src/ReviewerReportAuthor.js
index 297653497..4df5745b8 100644
--- a/packages/component-faraday-ui/src/ReviewerReportAuthor.js
+++ b/packages/component-faraday-ui/src/ReviewerReportAuthor.js
@@ -1,16 +1,24 @@
 import React, { Fragment } from 'react'
 import { get } from 'lodash'
-import { withProps } from 'recompose'
+import { withProps, compose } from 'recompose'
 import styled from 'styled-components'
 import { th } from '@pubsweet/ui-toolkit'
 import { DateParser } from '@pubsweet/ui'
 
-import { Label, Item, FileItem, Row, Text } from './'
+import {
+  Label,
+  Item,
+  FileItem,
+  Row,
+  Text,
+  withFilePreview,
+  withFileDownload,
+} from './'
 
 const ReviewerReportAuthor = ({
-  onPreview,
-  onDownload,
   reviewFile,
+  previewFile,
+  downloadFile,
   publicReport,
   reviewerName,
   reviewerIndex,
@@ -45,8 +53,8 @@ const ReviewerReportAuthor = ({
           <Item flex={0} mr={1}>
             <FileItem
               item={reviewFile}
-              onDownload={onDownload}
-              onPreview={onPreview}
+              onDownload={downloadFile}
+              onPreview={previewFile}
             />
           </Item>
         </Row>
@@ -55,20 +63,24 @@ const ReviewerReportAuthor = ({
   </Root>
 )
 
-export default withProps(({ report, journal: { recommendations = [] } }) => ({
-  recommendation: get(
-    recommendations.find(r => r.value === report.recommendation),
-    'label',
-  ),
-  reviewFile: get(report, 'comments.0.files.0'),
-  publicReport: get(report, 'comments.0.content'),
-  reviewerName: `${get(report, 'reviewer.firstName', '')} ${get(
-    report,
-    'reviewer.lastName',
-    '',
-  )}`,
-  reviewerIndex: get(report, 'reviewerIndex', ''),
-}))(ReviewerReportAuthor)
+export default compose(
+  withFilePreview,
+  withFileDownload,
+  withProps(({ report, journal: { recommendations = [] } }) => ({
+    recommendation: get(
+      recommendations.find(r => r.value === report.recommendation),
+      'label',
+    ),
+    reviewFile: get(report, 'comments.0.files.0'),
+    publicReport: get(report, 'comments.0.content'),
+    reviewerName: `${get(report, 'reviewer.firstName', '')} ${get(
+      report,
+      'reviewer.lastName',
+      '',
+    )}`,
+    reviewerIndex: get(report, 'reviewerIndex', ''),
+  })),
+)(ReviewerReportAuthor)
 
 // #region styles
 const Root = styled.div`
diff --git a/packages/component-faraday-ui/src/contextualBoxes/AuthorReviews.js b/packages/component-faraday-ui/src/contextualBoxes/AuthorReviews.js
index 105b76fc0..6ac0226b4 100644
--- a/packages/component-faraday-ui/src/contextualBoxes/AuthorReviews.js
+++ b/packages/component-faraday-ui/src/contextualBoxes/AuthorReviews.js
@@ -15,7 +15,14 @@ const SubmittedReportsNumberForAuthorReviews = ({ reports }) => (
   </Row>
 )
 
-const AuthorReviews = ({ invitations, journal, reports, fragment }) =>
+const AuthorReviews = ({
+  invitations,
+  journal,
+  reports,
+  fragment,
+  token,
+  getSignedUrl,
+}) =>
   reports.length > 0 && (
     <ContextualBox
       label="Reviewer Reports"
@@ -26,9 +33,11 @@ const AuthorReviews = ({ invitations, journal, reports, fragment }) =>
     >
       {reports.map((r, i) => (
         <ReviewerReportAuthor
+          getSignedUrl={getSignedUrl}
           journal={journal}
           key={r.id}
           report={reports[i]}
+          token={token}
         />
       ))}
     </ContextualBox>
diff --git a/packages/component-manuscript/src/components/ManuscriptLayout.js b/packages/component-manuscript/src/components/ManuscriptLayout.js
index 95a0afc1d..c7134d6b5 100644
--- a/packages/component-manuscript/src/components/ManuscriptLayout.js
+++ b/packages/component-manuscript/src/components/ManuscriptLayout.js
@@ -114,8 +114,10 @@ const ManuscriptLayout = ({
         {get(currentUser, 'permissions.authorCanViewReportsDetails', false) && (
           <AuthorReviews
             currentUser={currentUser}
+            getSignedUrl={getSignedUrl}
             journal={journal}
             reports={reviewerReports}
+            token={get(currentUser, 'token')}
           />
         )}
 
@@ -195,6 +197,7 @@ const ManuscriptLayout = ({
             reviewerReports={reviewerReports}
             scrollIntoView
             toggle={toggleReviewerDetails}
+            token={get(currentUser, 'token')}
             {...inviteReviewer}
           />
         )}
diff --git a/packages/component-manuscript/src/submitRevision/withSubmitRevision.js b/packages/component-manuscript/src/submitRevision/withSubmitRevision.js
index 756551f82..57b8a4297 100644
--- a/packages/component-manuscript/src/submitRevision/withSubmitRevision.js
+++ b/packages/component-manuscript/src/submitRevision/withSubmitRevision.js
@@ -97,7 +97,7 @@ export default compose(
     },
     deleteResponseFile: ({ setError, changeForm, setFetching }) => file => {
       setFetching(true)
-      return deleteFile(file.id, 'responseToReviewers')
+      return deleteFile({ fileId: file.id }, 'responseToReviewers')
         .then(r => {
           setFetching(false)
           changeForm('revision', 'responseToReviewers.file', null)
-- 
GitLab