From 8c9910db5c9a86956834e38fa5aeb8da9b5ed368 Mon Sep 17 00:00:00 2001 From: yves Date: Mon, 27 Jan 2025 10:45:06 -0400 Subject: [PATCH] pkp/pkp-lib#10486 changes the retrieval of the Context object to not use Request as a reference. --- classes/services/PKPSubmissionService.inc.php | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/classes/services/PKPSubmissionService.inc.php b/classes/services/PKPSubmissionService.inc.php index 9f93c0a1931..1c11bb5dc5c 100644 --- a/classes/services/PKPSubmissionService.inc.php +++ b/classes/services/PKPSubmissionService.inc.php @@ -176,10 +176,7 @@ public function getProperties($submission, $props, $args = null) { // Retrieve the submission's context for properties that require it if (array_intersect(['_href', 'urlAuthorWorkflow', 'urlEditorialWorkflow'], $props)) { - $submissionContext = $request->getContext(); - if (!$submissionContext || $submissionContext->getId() != $submission->getData('contextId')) { - $submissionContext = Services::get('context')->get($submission->getData('contextId')); - } + $submissionContext = Services::get('context')->get($submission->getData('contextId')); } foreach ($props as $prop) { @@ -251,7 +248,7 @@ function($publication) use ($args, $submission, $submissionContext) { } } - $values = Services::get('schema')->addMissingMultilingualValues(SCHEMA_SUBMISSION, $values, $request->getContext()->getSupportedSubmissionLocales()); + $values = Services::get('schema')->addMissingMultilingualValues(SCHEMA_SUBMISSION, $values, $submissionContext); \HookRegistry::call('Submission::getProperties::values', array(&$values, $submission, $props, $args)); @@ -317,7 +314,7 @@ public function getPropertyReviewAssignments($submission) { $request = \Application::get()->getRequest(); $currentUser = $request->getUser(); - $context = $request->getContext(); + $context = Services::get('context')->get($submission->getData('contextId')); $dateFormatShort = $context->getLocalizedDateFormatShort(); $due = is_null($reviewAssignment->getDateDue()) ? null : strftime($dateFormatShort, strtotime($reviewAssignment->getDateDue())); $responseDue = is_null($reviewAssignment->getDateResponseDue()) ? null : strftime($dateFormatShort, strtotime($reviewAssignment->getDateResponseDue())); @@ -396,7 +393,7 @@ public function getPropertyStages($submission, $stageIds = null) { } $currentUser = \Application::get()->getRequest()->getUser(); - $context = \Application::get()->getRequest()->getContext(); + $context = Services::get('context')->get($submission->getData('contextId')); $contextId = $context ? $context->getId() : CONTEXT_ID_NONE; $stages = array(); @@ -550,10 +547,10 @@ public function getWorkflowUrlByUserRoles($submission, $userId = null) { return false; } - $submissionContext = $request->getContext(); - - if (!$submissionContext || $submissionContext->getId() != $submission->getData('contextId')) { $submissionContext = Services::get('context')->get($submission->getData('contextId')); + $submissionContext = Services::get('context')->get($submission->getData('contextId')); + } + $submissionContext = Services::get('context')->get($submission->getData('contextId')); } $dispatcher = $request->getDispatcher(); @@ -793,7 +790,7 @@ public function delete($submission) { * @return boolean */ public function canEditPublication($submission, $userId) { - $contextId = Application::get()->getRequest()->getContext()->getId(); + $contextId = $submission->getData('contextId'); $stageAssignmentDao = DAORegistry::getDAO('StageAssignmentDAO'); /* @var $stageAssignmentDao StageAssignmentDAO */ $stageAssignments = $stageAssignmentDao->getBySubmissionAndUserIdAndStageId($submission->getId(), $userId, null)->toArray(); $userIsAuthor = !empty($stageAssignmentDao->getBySubmissionAndRoleId($submission->getId(), ROLE_ID_AUTHOR, null, $userId)->toArray());