Skip to content

Commit

Permalink
Fix page admin filter by type throwing (#1661)
Browse files Browse the repository at this point in the history
  • Loading branch information
gremo committed Mar 10, 2023
1 parent eebe0a4 commit ab8c8f2
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions src/Admin/PageAdmin.php
Expand Up @@ -18,6 +18,7 @@
use Sonata\AdminBundle\Admin\AdminInterface;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Filter\Model\FilterData;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Route\RouteCollectionInterface;
use Sonata\AdminBundle\Security\Acl\Permission\AdminPermissionMap;
Expand Down Expand Up @@ -194,13 +195,17 @@ protected function configureDatagridFilters(DatagridMapper $filter): void
->add('parent')
->add('edited')
->add('hybrid', CallbackFilter::class, [
'callback' => static function (ProxyQueryInterface $queryBuilder, string $alias, string $field, array $data): void {
'callback' => static function (ProxyQueryInterface $queryBuilder, string $alias, string $field, FilterData $data): bool {
$builder = $queryBuilder->getQueryBuilder();

if (\in_array($data['value'], ['hybrid', 'cms'], true)) {
$builder->andWhere(sprintf('%s.routeName %s :routeName', $alias, 'cms' === $data['value'] ? '=' : '!='));
if (\in_array($data->getValue(), ['hybrid', 'cms'], true)) {
$builder->andWhere(sprintf('%s.routeName %s :routeName', $alias, 'cms' === $data->getValue() ? '=' : '!='));
$builder->setParameter('routeName', PageInterface::PAGE_ROUTE_CMS_NAME);

return true;
}

return false;
},
'field_options' => [
'required' => false,
Expand Down

0 comments on commit ab8c8f2

Please sign in to comment.