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') . '

'; 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