Skip to content

Commit

Permalink
pkp#10480 Enhance submissions list with editorial data & improve perf…
Browse files Browse the repository at this point in the history
…ormance
  • Loading branch information
Vitaliy-1 committed Jan 6, 2025
1 parent 5bf69b1 commit dd29200
Show file tree
Hide file tree
Showing 5 changed files with 117 additions and 131 deletions.
14 changes: 10 additions & 4 deletions api/v1/_submissions/PKPBackendSubmissionsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
use PKP\submission\PKPSubmission;
use PKP\userGroup\UserGroup;


abstract class PKPBackendSubmissionsController extends PKPBaseController
{
use AnonymizeData;
Expand Down Expand Up @@ -204,14 +203,15 @@ public function getMany(Request $illuminateRequest): JsonResponse
}
}

$userRoles = $this->getAuthorizedContextObject(Application::ASSOC_TYPE_USER_ROLES);

/**
* FIXME: Clean up before release pkp/pkp-lib#7495.
* In new submission lists this endpoint is dedicated to retrieve all submissions only by admins and managers
*/
if (!Config::getVar('features', 'enable_new_submission_listing')) {

// Anyone not a manager or site admin can only access their assigned submissions
$userRoles = $this->getAuthorizedContextObject(Application::ASSOC_TYPE_USER_ROLES);
$canAccessUnassignedSubmission = !empty(array_intersect([Role::ROLE_ID_SITE_ADMIN, Role::ROLE_ID_MANAGER], $userRoles));
Hook::run('API::_submissions::params', [$collector, $illuminateRequest]);
if (!$canAccessUnassignedSubmission) {
Expand All @@ -238,7 +238,7 @@ public function getMany(Request $illuminateRequest): JsonResponse

return response()->json([
'itemsMax' => $collector->getCount(),
'items' => Repo::submission()->getSchemaMap()->mapManyToSubmissionsList($submissions, $userGroups, $genres)->values(),
'items' => Repo::submission()->getSchemaMap()->mapManyToSubmissionsList($submissions, $userGroups, $genres, $userRoles)->values(),
], Response::HTTP_OK);
}

Expand Down Expand Up @@ -276,6 +276,7 @@ public function assigned(Request $illuminateRequest): JsonResponse
$submissions,
$userGroups,
$genres,
$this->getAuthorizedContextObject(Application::ASSOC_TYPE_USER_ROLES),
$this->anonymizeReviews($submissions)
)->values(),
], Response::HTTP_OK);
Expand Down Expand Up @@ -343,7 +344,12 @@ public function reviews(Request $illuminateRequest): JsonResponse

return response()->json([
'itemsMax' => $collector->getCount(),
'items' => Repo::submission()->getSchemaMap()->mapManyToSubmissionsList($submissions, $userGroups, $genres)->values(),
'items' => Repo::submission()->getSchemaMap()->mapManyToSubmissionsList(
$submissions,
$userGroups,
$genres,
$this->getAuthorizedContextObject(Application::ASSOC_TYPE_USER_ROLES)
)->values(),
], Response::HTTP_OK);
}

Expand Down
1 change: 0 additions & 1 deletion classes/stageAssignment/StageAssignment.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use PKP\user\User;
use PKP\userGroup\relationships\UserGroupStage;
use PKP\userGroup\UserGroup;

Expand Down
Loading

0 comments on commit dd29200

Please sign in to comment.