Skip to content

Commit

Permalink
[SonataIntegrationBundle/EntityMigrator] Better admin integration
Browse files Browse the repository at this point in the history
  • Loading branch information
mpoiriert committed Nov 1, 2023
1 parent c879813 commit 9cc9c00
Showing 1 changed file with 39 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,16 @@

namespace Draw\Bundle\SonataIntegrationBundle\EntityMigrator\Admin;

use Draw\Component\EntityMigrator\Entity\BaseEntityMigration;
use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Form\Type\ModelAutocompleteType;
use Sonata\AdminBundle\Route\RouteCollectionInterface;
use Sonata\AdminBundle\Show\ShowMapper;
use Sonata\DoctrineORMAdminBundle\Filter\ChoiceFilter;
use Sonata\DoctrineORMAdminBundle\Filter\ModelFilter;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;

abstract class BaseEntityMigrationAdmin extends AbstractAdmin
{
Expand All @@ -16,6 +22,38 @@ abstract class BaseEntityMigrationAdmin extends AbstractAdmin
'icon' => 'fas fa-cogs',
];

protected function configureDatagridFilters(DatagridMapper $filter): void
{
$filter
->add('id')
->add(
'migration',
ModelFilter::class,
[
'field_type' => ModelAutocompleteType::class,
'field_options' => [
'property' => 'name',
],
'show_filter' => true,
]
)
->add(
'state',
ChoiceFilter::class,
[
'field_type' => ChoiceType::class,
'field_options' => [
'multiple' => true,
'choices' => array_combine(
BaseEntityMigration::STATES,
BaseEntityMigration::STATES
),
],
'show_filter' => true,
]
);
}

protected function configureListFields(ListMapper $list): void
{
$list
Expand Down Expand Up @@ -44,6 +82,6 @@ protected function configureShowFields(ShowMapper $show): void
protected function configureRoutes(RouteCollectionInterface $collection): void
{
$collection
->clearExcept('list');
->clearExcept(['list', 'show']);
}
}

0 comments on commit 9cc9c00

Please sign in to comment.