action = $action; // Issue options $issueOptions = [['value' => '', 'label' => '']]; $unpublishedIssues = Repo::issue()->getCollector() ->filterByContextIds([$publicationContext->getId()]) ->filterByPublished(false) ->getMany(); if ($unpublishedIssues->count() > 0) { $issueOptions[] = ['value' => '', 'label' => '--- ' . __('editor.issues.futureIssues') . ' ---']; foreach ($unpublishedIssues as $issue) { $issueOptions[] = [ 'value' => (int) $issue->getId(), 'label' => htmlspecialchars($issue->getIssueIdentification()), ]; } } $publishedIssues = Repo::issue()->getCollector() ->filterByContextIds([$publicationContext->getId()]) ->filterByPublished(true) ->getMany(); if ($publishedIssues->count() > 0) { $issueOptions[] = ['value' => '', 'label' => '--- ' . __('editor.issues.backIssues') . ' ---']; foreach ($publishedIssues as $issue) { $issueOptions[] = [ 'value' => (int) $issue->getId(), 'label' => htmlspecialchars($issue->getIssueIdentification()), ]; } } $this->addField(new FieldSelect('issueId', [ 'label' => __('issue.issue'), 'options' => $issueOptions, 'value' => $publication->getData('issueId') ? $publication->getData('issueId') : 0, ])); } }