Compare commits

...
2 Commits
Author SHA1 Message Date
fromme 9d639c8db1 chore: update project dependencies 2026-09-15 09:20:07 +02:00
fromme 8e599a5dd7 fix: correctly implement abstract methods in filter handler 2026-09-15 09:17:35 +02:00
2 changed files with 234 additions and 227 deletions
Generated
+224 -220
View File
File diff suppressed because it is too large Load Diff
+10 -7
View File
@@ -11,7 +11,12 @@ use Symfony\Component\HttpFoundation\Session\SessionInterface;
abstract class AbstractFilterHandler
{
protected string $namespace = 'filter:default';
protected string $modelClass = AbstractFilterDto::class;
/**
* The DTO a subclass builds. No default: AbstractFilterDto is abstract, so any value here
* would only fatal on instantiation - every handler declares its own.
*/
protected string $modelClass;
public function __construct(
protected readonly RequestStack $requestStack,
@@ -29,6 +34,8 @@ abstract class AbstractFilterHandler
public function setModelClass(string $modelClass): static
{
$this->modelClass = $modelClass;
return $this;
}
public function handleRequest(FormInterface $form): AbstractFilterDto
@@ -50,13 +57,9 @@ abstract class AbstractFilterHandler
$this->getSession()->remove($this->namespace);
}
public function getFilterSettings(): AbstractFilterDto
{
}
abstract public function getFilterSettings(): AbstractFilterDto;
protected function saveFilterSettings(AbstractFilterDto $filterDto): void
{
}
abstract protected function saveFilterSettings(AbstractFilterDto $filterDto): void;
protected function getSession(): SessionInterface
{