diff --git a/Classes/Domain/Repository/JobRepository.php b/Classes/Domain/Repository/JobRepository.php index 77ab37420f66a6b0710a51e74716a9021e1777ff..7c1acccd61c05aa7779c7220986252e90ea503f9 100644 --- a/Classes/Domain/Repository/JobRepository.php +++ b/Classes/Domain/Repository/JobRepository.php @@ -27,6 +27,7 @@ namespace SGalinski\SgJobs\Domain\Repository; use SGalinski\SgJobs\Domain\Model\Job; +use TYPO3\CMS\Core\Context\LanguageAspect; use TYPO3\CMS\Extbase\Persistence\Exception\InvalidQueryException; use TYPO3\CMS\Extbase\Persistence\QueryInterface; use TYPO3\CMS\Extbase\Persistence\QueryResultInterface; @@ -169,6 +170,19 @@ class JobRepository extends Repository { $query = $this->createQuery(); $storagePageIds = $query->getQuerySettings()->getStoragePageIds(); + // we always want to show all jobs if the strict mode is used (translated or + // created in the specific language w/o default) + $languageAspect = $query->getQuerySettings()->getLanguageAspect(); + if ($languageAspect->getOverlayType() === LanguageAspect::OVERLAYS_ON) { + $newLanguageAspect = new LanguageAspect( + $languageAspect->getId(), + $languageAspect->getContentId(), + LanguageAspect::OVERLAYS_OFF, + $languageAspect->getFallbackChain() + ); + $query->getQuerySettings()->setLanguageAspect($newLanguageAspect); + } + if (empty($storagePageIds)) { // if no record storage page has been selected in the plugin, ignore it $query->getQuerySettings()->setRespectStoragePage(FALSE);