feat: filtering of custom destinations by hotel

This commit is contained in:
Björn Fromme
2025-07-22 17:42:06 +02:00
parent ea574427fb
commit e0ce495b86
8 changed files with 233 additions and 1 deletions
@@ -0,0 +1,37 @@
<?php
declare(strict_types=1);
namespace App\Service\Common;
use App\Model\AbstractFilterDto;
use App\Model\DestinationFilterDto;
class DestinationFilterHandler extends AbstractFilterHandler
{
protected string $namespace = 'filter:destination';
protected string $modelClass = DestinationFilterDto::class;
public function getFilterSettings(): DestinationFilterDto
{
$filterDto = new $this->modelClass();
if (null === $data = $this->getSession()->get($this->namespace)) {
return $filterDto;
}
if (isset($data['hotels']) && 0 < count($data['hotels'])) {
$filterDto->setHotels($data['hotels']);
}
return $filterDto;
}
protected function saveFilterSettings(AbstractFilterDto $filterDto): void
{
/** @var DestinationFilterDto $filterDto */
$this->getSession()->set($this->namespace, [
'hotels' => $filterDto->getHotels(),
]);
}
}