diff --git a/classes/doi/Repository.php b/classes/doi/Repository.php index 4d99ecc3e5e..fbe8e3bde25 100644 --- a/classes/doi/Repository.php +++ b/classes/doi/Repository.php @@ -63,8 +63,11 @@ public function mintPublicationDoi(Publication $publication, Submission $submiss } // If not using default suffix, additional checks are required - $patternNeedsIssue = PubIdPlugin::suffixHasIssuePattern($this->getPubIdSuffixPattern($publication, $context)); - $issue = Repo::issue()->get($publication->getData('issueId')); + $pubIdSuffixPattern = $this->getPubIdSuffixPattern($publication, $context); + if (empty($pubIdSuffixPattern)) { throw new DoiException(DoiException::PUBLICATION_MISSING_ISSUE, $submission->getCurrentPublication()->getLocalizedFullTitle(), $publication->getLocalizedFullTitle()); } + $patternNeedsIssue = PubIdPlugin::suffixHasIssuePattern($pubIdSuffixPattern); + $issueId = $publication->getData('issueId'); + $issue = $issueId ? Repo::issue()->get($issueId) : null; if ($patternNeedsIssue) { if ($issue === null) {