From 9d5d33860e063ec535fb9c94249abc1db69d9503 Mon Sep 17 00:00:00 2001 From: taslangraham Date: Tue, 12 May 2026 15:30:37 -0500 Subject: [PATCH 1/2] pkp/pkp-lib#12617 Don't let crossref validation block publishing --- .../forms/publication/PublishForm.php | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/classes/components/forms/publication/PublishForm.php b/classes/components/forms/publication/PublishForm.php index 223564bb5b4..386af1fd88e 100644 --- a/classes/components/forms/publication/PublishForm.php +++ b/classes/components/forms/publication/PublishForm.php @@ -56,17 +56,35 @@ public function __construct($action, $publication, $submissionContext, $requirem // Set separate messages and buttons if publication requirements have passed if (empty($requirementErrors)) { + // Get any warnings that should be displayed when publishing. + $submission = Repo::submission()->get($publication->getData('submissionId')); + $warnings = Repo::publication()->validatePublishWarnings( + $publication, + $submission, + $submissionContext->getSupportedSubmissionLocales(), + $submissionContext->getPrimaryLocale() + ); + + if (!empty($warnings)) { + $msg = '
' . __('publication.publish.warning') . ''; + $msg .= '

'; + } + $issue = $publication->getData('issueId') ? Repo::issue()->get($publication->getData('issueId')) : null; - $msg = __('publication.publish.confirmation'); + $msg .= __('publication.publish.confirmation'); $submitLabel = __('publication.publish'); // If the publication is marked as ready to publish, // it will be published immediately regardless of the issue assignment // or to a future issue, it will be published immediately if ($publication->getData('status') == Publication::STATUS_READY_TO_PUBLISH) { - $msg = match($issue?->getData('published')) { + $msg .= match($issue?->getData('published')) { true => __( 'publication.publish.confirmation.backIssue', ['issue' => htmlspecialchars($issue->getIssueIdentification())] @@ -81,7 +99,7 @@ public function __construct($action, $publication, $submissionContext, $requirem } if ($publication->getData('status') == Publication::STATUS_READY_TO_SCHEDULE) { - $msg = __( + $msg .= __( 'publication.publish.confirmation.futureIssue', ['issue' => htmlspecialchars($issue->getIssueIdentification())] ); @@ -92,7 +110,6 @@ public function __construct($action, $publication, $submissionContext, $requirem $publicationVersion = $publication->getVersion(); if (!isset($publicationVersion)) { - $submission = Repo::submission()->get($publication->getData('submissionId')); $nextVersion = Repo::submission()->getNextAvailableVersion($submission, Publication::DEFAULT_VERSION_STAGE, false); $msg .= '

' . __('publication.required.versionStage') . '

'; From ebf8ef9b4d65811ad64f9033eaedac963856d74b Mon Sep 17 00:00:00 2001 From: taslangraham Date: Wed, 13 May 2026 11:01:33 -0500 Subject: [PATCH 2/2] Submodule update --- lib/pkp | 2 +- plugins/generic/crossref | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/pkp b/lib/pkp index 1a5a8b1d7e5..02ef9576955 160000 --- a/lib/pkp +++ b/lib/pkp @@ -1 +1 @@ -Subproject commit 1a5a8b1d7e52ad079e4a669d4a6f3795cab9e61f +Subproject commit 02ef9576955c146e62f87e229accaa75ec52ec8f diff --git a/plugins/generic/crossref b/plugins/generic/crossref index 39110fae282..377b9be1157 160000 --- a/plugins/generic/crossref +++ b/plugins/generic/crossref @@ -1 +1 @@ -Subproject commit 39110fae282000c3d30ea449d673013b0547b237 +Subproject commit 377b9be1157ad7ab328c37d400b571fa6861be5b