From 9c3d107a0c5615734029f9f5291fc03f9b5780b6 Mon Sep 17 00:00:00 2001 From: Dimitris Efstathiou Date: Mon, 29 Apr 2024 12:37:58 +0300 Subject: [PATCH] pkp/pkp-lib#9453 Add support for OMP - Multiple stageIds --- api/v1/reviews/PKPReviewController.php | 15 +++++++++++---- pages/reviewer/PKPReviewerHandler.php | 1 + 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/api/v1/reviews/PKPReviewController.php b/api/v1/reviews/PKPReviewController.php index 0b664545e6d..f5703a2389c 100644 --- a/api/v1/reviews/PKPReviewController.php +++ b/api/v1/reviews/PKPReviewController.php @@ -118,11 +118,14 @@ public function getHistory(Request $illuminateRequest): JsonResponse $submission = Repo::submission()->get($submissionId, $contextId); $publication = $submission->getCurrentPublication(); - //$publicationTitlePrefix = $publication->getData('prefix'); $publicationTitle = $publication->getData('title'); - $section = Repo::section()->get($submission->getSectionId()); - $publicationType = $section->getData('title'); + $publicationType = null; + if ($submission->getSectionId()) { + $section = Repo::section()->get($submission->getSectionId()); + $publicationType = $section->getData('title'); + } + $publicationAbstract = $publication->getData('abstract'); $publicationKeywords = $publication->getData('keywords'); @@ -172,27 +175,31 @@ public function getHistory(Request $illuminateRequest): JsonResponse ->filterByFileStages([SubmissionFile::SUBMISSION_FILE_REVIEW_ATTACHMENT]) ->filterByAssoc(PKPApplication::ASSOC_TYPE_REVIEW_ASSIGNMENT, [$reviewAssignmentId]) ->getMany(); + $attachmentsProps = Repo::submissionFile() ->getSchemaMap() ->mapMany($attachments, $fileGenres) ->toArray(); + $stageId = $reviewAssignment->getStageId(); $lastReviewAssignment = Repo::reviewAssignment()->getCollector() ->filterByContextIds([$contextId]) ->filterBySubmissionIds([$submissionId]) ->filterByReviewerIds([$reviewerId]) + ->filterByStageId($stageId) ->filterByLastReviewRound(true) ->getMany() ->first(); $filesProps = []; - if ($lastReviewAssignment->getDeclined() != 1) { + if ($lastReviewAssignment && $lastReviewAssignment->getDeclined() != 1) { $files = Repo::submissionFile()->getCollector() ->filterBySubmissionIds([$submissionId]) ->filterByReviewRoundIds([$reviewRoundId]) ->filterByAssoc(PKPApplication::ASSOC_TYPE_REVIEW_ROUND, [$reviewAssignmentId]) ->filterByFileStages([SubmissionFile::SUBMISSION_FILE_REVIEW_FILE]) ->getMany(); + $filesProps = Repo::submissionFile() ->getSchemaMap() ->mapMany($files, $fileGenres) diff --git a/pages/reviewer/PKPReviewerHandler.php b/pages/reviewer/PKPReviewerHandler.php index 24b86bf0f07..5e0664f79ca 100644 --- a/pages/reviewer/PKPReviewerHandler.php +++ b/pages/reviewer/PKPReviewerHandler.php @@ -69,6 +69,7 @@ public function submission(array $args, PKPRequest $request): void ->filterByContextIds([$request->getContext()->getId()]) ->filterBySubmissionIds([$submissionId]) ->filterByReviewerIds([$reviewAssignment->getReviewerId()]) + ->filterByStageId($reviewAssignment->getStageId()) ->getMany() ->toArray(); $reviewRoundHistories = [];