Skip to content
Snippets Groups Projects
Commit 29a25211 authored by Torsten Oppermann's avatar Torsten Oppermann
Browse files

[TASK] Fixing weird language bug in single view

parent 5a1cc357
No related branches found
No related tags found
No related merge requests found
......@@ -56,12 +56,6 @@ class JoblistController extends ActionController {
*/
private $jobRepository;
/**
* @var \SGalinski\SgJobs\Domain\Repository\ContactRepository
* @inject
*/
private $contactRepository;
/**
* @var \SGalinski\SgJobs\Domain\Repository\JobApplicationRepository
* @inject
......@@ -159,7 +153,7 @@ class JoblistController extends ActionController {
if ($jobId !== NULL) {
/** @var Job $job */
$job = $this->jobRepository->findByUid($jobId);
$job = $this->jobRepository->findByUidLocalized($jobId);
if ($job) {
$GLOBALS['TSFE']->page['titlebyextension'] = $job->getTitle();
$GLOBALS['TSFE']->page['description'] = substr($job->getDescription(), 0, 200);
......@@ -259,8 +253,6 @@ class JoblistController extends ActionController {
* @param JobApplication $applyData
* @throws \TYPO3\CMS\Extbase\Mvc\Exception\StopActionException
* @throws \InvalidArgumentException
* @throws \TYPO3\CMS\Extbase\Mvc\Exception\InvalidArgumentNameException
* @throws NoSuchArgumentException
*/
public function applyAction(JobApplication $applyData) {
$folderName = $this->request->getArgument('folderName');
......
......@@ -27,7 +27,6 @@ namespace SGalinski\SgJobs\Domain\Model;
***************************************************************/
use TYPO3\CMS\Extbase\DomainObject\AbstractEntity;
use TYPO3\CMS\Extbase\Persistence\ObjectStorage;
/**
* The Job model
......
......@@ -48,6 +48,8 @@ class JobRepository extends Repository {
$querySettings = $this->createQuery()->getQuerySettings();
$querySettings->setIgnoreEnableFields(TRUE);
$querySettings->setEnableFieldsToBeIgnored(['disabled']);
$querySettings->setRespectStoragePage(FALSE);
$querySettings->setLanguageUid($GLOBALS['TSFE']->sys_language_uid);
$this->setDefaultQuerySettings($querySettings);
}
......@@ -128,12 +130,6 @@ class JobRepository extends Repository {
public function getAllAreas($pageUid) {
/** @var QueryInterface $query */
$query = $this->createQuery();
$querySettings = $query->getQuerySettings();
$querySettings->setStoragePageIds([$pageUid]);
$querySettings->setLanguageUid($GLOBALS['TSFE']->sys_language_uid);
$query->setQuerySettings($querySettings);
$query->setOrderings(
[
'sorting' => QueryInterface::ORDER_ASCENDING,
......@@ -168,9 +164,6 @@ class JobRepository extends Repository {
): ExtbaseQueryResultInterface {
/** @var QueryInterface $query */
$query = $this->createQuery();
$querySettings = $query->getQuerySettings();
$querySettings->setStoragePageIds([$pageUid]);
$query->setQuerySettings($querySettings);
$query->setOrderings(
[
......@@ -220,10 +213,6 @@ class JobRepository extends Repository {
): ExtbaseQueryResultInterface {
/** @var QueryInterface $query */
$query = $this->createQuery();
$querySettings = $query->getQuerySettings();
$querySettings->setStoragePageIds([$pageUid]);
$query->setQuerySettings($querySettings);
$query->setOrderings(
[
'sorting' => QueryInterface::ORDER_ASCENDING,
......@@ -272,12 +261,6 @@ class JobRepository extends Repository {
): ExtbaseQueryResultInterface {
/** @var QueryInterface $query */
$query = $this->createQuery();
$querySettings = $query->getQuerySettings();
$querySettings->setStoragePageIds([$pageUid]);
$querySettings->setLanguageUid($GLOBALS['TSFE']->sys_language_uid);
$query->setQuerySettings($querySettings);
$query->setOrderings(
[
'sorting' => QueryInterface::ORDER_ASCENDING,
......@@ -312,4 +295,29 @@ class JobRepository extends Repository {
return $query->execute();
}
/**
* Find jobs matching the filter settings given
*
* @param int $uid
* @return mixed
*/
public function findByUidLocalized($uid) {
/** @var QueryInterface $query */
$query = $this->createQuery();
$constraints = [];
$constraints[] = $query->equals('sys_language_uid', $GLOBALS['TSFE']->sys_language_uid);
$constraints[] = $query->equals('l10n_parent', $uid);
$result = $query->matching($query->logicalAnd($constraints))->setLimit(1)->execute()->getFirst();
if (!$result) {
/** @var QueryInterface $query */
$query = $this->createQuery();
$result = $query->matching($query->equals('uid', $uid))->setLimit(1)->execute()->getFirst();
}
return $result;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment