diff --git a/web/typo3conf/ext/ep_events/Classes/DataProcessing/OfferProcessor.php b/web/typo3conf/ext/ep_events/Classes/DataProcessing/OfferProcessor.php index 5a6937b3..fb7a7f34 100644 --- a/web/typo3conf/ext/ep_events/Classes/DataProcessing/OfferProcessor.php +++ b/web/typo3conf/ext/ep_events/Classes/DataProcessing/OfferProcessor.php @@ -66,10 +66,10 @@ class OfferProcessor implements DataProcessorInterface $offerUid = (int) $cObj->data['tx_epevents_offer']; if ($offerUid !== 0) { /** @var \EP\EpEvents\Domain\Model\Offer $offer */ - $offer = $repository->findByIdentifier($offerUid); + $offer = $repository->forceFindByUid($offerUid)->getFirst(); } else { $pageUid = $GLOBALS['TSFE']->id; - $offer = $repository->findOneByDetailPage($pageUid); + $offer = $repository->forceFindByDetailPage($pageUid)->getFirst(); } /** @var \EP\EpEvents\Domain\Model\Offer $offer */ $processedData['offer'] = $offer; diff --git a/web/typo3conf/ext/ep_events/Classes/Domain/Repository/OfferRepository.php b/web/typo3conf/ext/ep_events/Classes/Domain/Repository/OfferRepository.php index dcc64424..ce4ff7d7 100644 --- a/web/typo3conf/ext/ep_events/Classes/Domain/Repository/OfferRepository.php +++ b/web/typo3conf/ext/ep_events/Classes/Domain/Repository/OfferRepository.php @@ -90,6 +90,34 @@ class OfferRepository extends AbstractRepository return $query->execute(); } + /** + * Ignores enable fields to avoid issues with deactivated offed entities + * + * @param int $uid + * @return array|\TYPO3\CMS\Extbase\Persistence\QueryResultInterface + */ + public function forceFindByUid($uid) + { + $query = $this->createQuery(); + $query->getQuerySettings()->setIgnoreEnableFields(true); + $query->matching($query->equals('uid', $uid)); + return $query->execute(); + } + + /** + * Ignores enable fields to avoid issues with deactivated offed entities + * + * @param int $pageUid + * @return array|\TYPO3\CMS\Extbase\Persistence\QueryResultInterface + */ + public function forceFindByDetailPage($pageUid) + { + $query = $this->createQuery(); + $query->getQuerySettings()->setIgnoreEnableFields(true); + $query->matching($query->equals('detail_page', $pageUid)); + return $query->execute(); + } + /** * @param string $queryString * @return array|\TYPO3\CMS\Extbase\Persistence\QueryResultInterface