Skip to content

Commit

Permalink
[BUGFIX] Remove all default restrictions for query loading the job re…
Browse files Browse the repository at this point in the history
…cord in slug generation
  • Loading branch information
dot3media committed Aug 27, 2024
1 parent 5c0f5bb commit 711ba87
Showing 1 changed file with 25 additions and 16 deletions.
41 changes: 25 additions & 16 deletions Classes/EventListener/GenerateJobSlug.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
namespace FGTCLB\AcademicJobs\EventListener;

use FGTCLB\AcademicJobs\Event\AfterSaveJobEvent;
use TYPO3\CMS\Core\Database\Connection;
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\DataHandling\SlugHelper;
use TYPO3\CMS\Core\Utility\GeneralUtility;
Expand All @@ -19,13 +20,23 @@ public function __construct(ConnectionPool $connectionPool)
{
$this->connectionPool = $connectionPool;
}

public function __invoke(AfterSaveJobEvent $event): void
{
$uid = $event->getJob()->getUid();
$connection = $this->connectionPool->getConnectionForTable('tx_academicjobs_domain_model_job');
$queryBuilder = $this->connectionPool->getQueryBuilderForTable('tx_academicjobs_domain_model_job');
$queryBuilder->getRestrictions()->removeAll();

$jobRecord = $connection
->select(['*'], 'tx_academicjobs_domain_model_job', ['uid' => $uid])
$jobRecord = $queryBuilder
->select('*')
->from('tx_academicjobs_domain_model_job')
->where(
$queryBuilder->expr()->eq(
'uid',
$queryBuilder->createNamedParameter($uid, Connection::PARAM_INT)
)
)
->executeQuery()
->fetchAssociative();

if ($jobRecord === false) {
Expand All @@ -35,19 +46,17 @@ public function __invoke(AfterSaveJobEvent $event): void
$slugHelper = $this->getSlugHelperForProfileSlug();
$jobSlug = $slugHelper->generate($jobRecord, $jobRecord['pid']);

if (empty($jobRecord)) {
return;
}

$connection->update(
self::TABLE_NAME,
[
'slug' => $jobSlug,
],
[
'uid' => $uid,
]
);
$queryBuilder = $this->connectionPool->getQueryBuilderForTable('tx_academicjobs_domain_model_job');
$queryBuilder
->update('tx_academicjobs_domain_model_job')
->where(
$queryBuilder->expr()->eq(
'uid',
$queryBuilder->createNamedParameter($uid, Connection::PARAM_INT)
)
)
->set('slug', $jobSlug)
->executeStatement();
}

private function getSlugHelperForProfileSlug(): SlugHelper
Expand Down

0 comments on commit 711ba87

Please sign in to comment.