fix: correctly implement abstract methods in filter handler
This commit is contained in:
@@ -11,7 +11,12 @@ use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
|||||||
abstract class AbstractFilterHandler
|
abstract class AbstractFilterHandler
|
||||||
{
|
{
|
||||||
protected string $namespace = 'filter:default';
|
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(
|
public function __construct(
|
||||||
protected readonly RequestStack $requestStack,
|
protected readonly RequestStack $requestStack,
|
||||||
@@ -29,6 +34,8 @@ abstract class AbstractFilterHandler
|
|||||||
public function setModelClass(string $modelClass): static
|
public function setModelClass(string $modelClass): static
|
||||||
{
|
{
|
||||||
$this->modelClass = $modelClass;
|
$this->modelClass = $modelClass;
|
||||||
|
|
||||||
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function handleRequest(FormInterface $form): AbstractFilterDto
|
public function handleRequest(FormInterface $form): AbstractFilterDto
|
||||||
@@ -50,13 +57,9 @@ abstract class AbstractFilterHandler
|
|||||||
$this->getSession()->remove($this->namespace);
|
$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
|
protected function getSession(): SessionInterface
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user