Skip to content

Commit 2624f4e

Browse files
committed
#12009 Normalize API response and fix reviewer user group name
1 parent f1fd728 commit 2624f4e

File tree

2 files changed

+20
-16
lines changed

2 files changed

+20
-16
lines changed

api/v1/submissions/tasks/EditorialTaskController.php

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -669,15 +669,19 @@ public function getParticipants(Request $illuminateRequest): JsonResponse
669669
'isResponsible' => false,
670670
]));
671671

672-
return response()->json([
673-
'participants' => EditorialTaskParticipantResource::collection(resource: $resource, data: [
674-
'submission' => $submission,
675-
'stageAssignments' => $stageAssignments,
676-
'reviewAssignments' => $reviewAssignments,
677-
'users' => $users,
678-
'userGroups' => $userGroups,
679-
]),
680-
], Response::HTTP_OK);
672+
return response()->json(
673+
EditorialTaskParticipantResource::collection(
674+
resource: $resource,
675+
data: [
676+
'submission' => $submission,
677+
'stageAssignments' => $stageAssignments,
678+
'reviewAssignments' => $reviewAssignments,
679+
'users' => $users,
680+
'userGroups' => $userGroups,
681+
]
682+
),
683+
Response::HTTP_OK
684+
);
681685
}
682686

683687
/**
@@ -694,16 +698,17 @@ public function getReviewers(Submission $submission, int $stageId, array $curren
694698

695699
// Filter review assignments by latest review round by reviewer
696700
$filteredReviewAssignments = [];
697-
foreach ($reviewAssignments as $reviewAssignment) {
701+
foreach ($reviewAssignments as $reviewAssignment) { /** @var ReviewAssignment $reviewAssignment */
702+
$reviewerId = $reviewAssignment->getReviewerId();
698703

699-
if (!array_key_exists($reviewAssignment->reviewerId, $filteredReviewAssignments)) {
700-
$filteredReviewAssignments[$reviewAssignment->reviewerId] = $reviewAssignment;
704+
if (!array_key_exists($reviewerId, $filteredReviewAssignments)) {
705+
$filteredReviewAssignments[$reviewerId] = $reviewAssignment;
701706
continue;
702707
}
703708

704709
// Compare review rounds, keep the latest one
705-
if ($reviewAssignment->reviewRound > $filteredReviewAssignments[$reviewAssignment->reviewerId]->reviewRound) {
706-
$filteredReviewAssignments[$reviewAssignment->reviewerId] = $reviewAssignment;
710+
if ($reviewAssignment->getReviewRoundId() > $filteredReviewAssignments[$reviewerId]->getReviewRoundId()) {
711+
$filteredReviewAssignments[$reviewerId] = $reviewAssignment;
707712
}
708713
}
709714

api/v1/submissions/tasks/resources/EditorialTaskParticipantResource.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,7 @@ public function toArray(Request $request, array $data = []): array
5252
if (
5353
$reviewAssignments->isNotEmpty() &&
5454
$userGroup->roleId === Role::ROLE_ID_REVIEWER &&
55-
array_key_exists(Role::ROLE_ID_REVIEWER, $roles) &&
56-
!is_null($reviewerRoleName)
55+
is_null($reviewerRoleName)
5756
) {
5857
$reviewerRoleName = $userGroup->getLocalizedData('name');
5958
}

0 commit comments

Comments
 (0)