Ignore enable fields in dataprocessors to avoid issues with deactivated offers

This commit is contained in:
Björn Fromme
2019-02-19 12:37:26 +01:00
parent 60f768a744
commit 7cd34d2c89
2 changed files with 30 additions and 2 deletions
@@ -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;
@@ -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