Skip to content

Commit 5a186c8

Browse files
committed
bug #7475 Replaced all implementations by references to interfaces (javiereguiluz)
This PR was merged into the 4.x branch. Discussion ---------- Replaced all implementations by references to interfaces Fixes #6248 and many other issues relatd to using concrete implementations instead of interfaces. Commits ------- d910cde Replaced all implementations by references to interfaces
2 parents a5fe9e3 + d910cde commit 5a186c8

15 files changed

Lines changed: 83 additions & 43 deletions

File tree

config/services.php

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Filter\FilterConfiguratorInterface;
1313
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Menu\MenuItemMatcherInterface;
1414
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Orm\EntityPaginatorInterface;
15+
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Orm\EntityRepositoryInterface;
16+
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Orm\EntityUpdaterInterface;
17+
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Provider\AdminContextProviderInterface;
18+
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Registry\AdminControllerRegistryInterface;
1519
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Translation\EntityTranslationIdGeneratorInterface;
1620
use EasyCorp\Bundle\EasyAdminBundle\DataCollector\EasyAdminDataCollector;
1721
use EasyCorp\Bundle\EasyAdminBundle\DependencyInjection\EasyAdminExtension;
@@ -86,6 +90,7 @@
8690
use EasyCorp\Bundle\EasyAdminBundle\Router\AdminRouteGenerator;
8791
use EasyCorp\Bundle\EasyAdminBundle\Router\AdminRouteLoader;
8892
use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator;
93+
use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGeneratorInterface;
8994
use EasyCorp\Bundle\EasyAdminBundle\Router\UrlSigner;
9095
use EasyCorp\Bundle\EasyAdminBundle\Security\AuthorizationChecker;
9196
use EasyCorp\Bundle\EasyAdminBundle\Security\SecurityVoter;
@@ -164,6 +169,8 @@
164169
->set(AdminContextProvider::class)
165170
->arg(0, service('request_stack'))
166171

172+
->alias(AdminContextProviderInterface::class, AdminContextProvider::class)
173+
167174
->set(AdminContextResolver::class)
168175
->arg(0, service(AdminContextProvider::class))
169176
->tag('controller.argument_value_resolver')
@@ -215,8 +222,13 @@
215222
->arg(3, service(AdminRouteGenerator::class))
216223
->arg(4, service('cache.easyadmin'))
217224

225+
->alias(AdminUrlGeneratorInterface::class, AdminUrlGenerator::class)
226+
218227
->set('service_locator_'.AdminUrlGenerator::class, ServiceLocator::class)
219-
->args([[AdminUrlGenerator::class => service(AdminUrlGenerator::class)]])
228+
->args([[
229+
AdminUrlGeneratorInterface::class => service(AdminUrlGenerator::class),
230+
AdminUrlGenerator::class => service(AdminUrlGenerator::class),
231+
]])
220232
->tag('container.service_locator')
221233

222234
->set('cache.easyadmin')
@@ -260,6 +272,8 @@
260272

261273
->alias(MenuItemMatcherInterface::class, MenuItemMatcher::class)
262274

275+
->alias(AdminControllerRegistryInterface::class, AdminControllerRegistry::class)
276+
263277
->set(EntityRepository::class)
264278
->arg(0, service(AdminContextProvider::class))
265279
->arg(1, service('doctrine'))
@@ -280,10 +294,14 @@
280294

281295
->alias(EntityPaginatorInterface::class, EntityPaginator::class)
282296

297+
->alias(EntityRepositoryInterface::class, EntityRepository::class)
298+
283299
->set(EntityUpdater::class)
284300
->arg(0, service('property_accessor'))
285301
->arg(1, service('validator'))
286302

303+
->alias(EntityUpdaterInterface::class, EntityUpdater::class)
304+
287305
->set(PaginatorFactory::class)
288306
->arg(0, service(AdminContextProvider::class))
289307
->arg(1, service(EntityPaginatorInterface::class))

src/ArgumentResolver/AdminContextResolver.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace EasyCorp\Bundle\EasyAdminBundle\ArgumentResolver;
44

5-
use EasyCorp\Bundle\EasyAdminBundle\Context\AdminContext;
5+
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Context\AdminContextInterface;
66
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Provider\AdminContextProviderInterface;
77
use Symfony\Component\HttpFoundation\Request;
88
use Symfony\Component\HttpKernel\Controller\ArgumentValueResolverInterface;
@@ -21,7 +21,7 @@ public function __construct(private readonly AdminContextProviderInterface $admi
2121

2222
public function resolve(Request $request, ArgumentMetadata $argument): iterable
2323
{
24-
if (AdminContext::class !== $argument->getType()) {
24+
if (!is_a($argument->getType(), AdminContextInterface::class, true)) {
2525
return [];
2626
}
2727

@@ -37,7 +37,7 @@ public function __construct(private readonly AdminContextProviderInterface $admi
3737

3838
public function supports(Request $request, ArgumentMetadata $argument): bool
3939
{
40-
return AdminContext::class === $argument->getType();
40+
return is_a($argument->getType(), AdminContextInterface::class, true);
4141
}
4242

4343
public function resolve(Request $request, ArgumentMetadata $argument): iterable

src/Context/AdminContext.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use EasyCorp\Bundle\EasyAdminBundle\Config\Option\EA;
66
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Context\AdminContextInterface;
7+
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Registry\AdminControllerRegistryInterface;
78
use EasyCorp\Bundle\EasyAdminBundle\Dto\AssetsDto;
89
use EasyCorp\Bundle\EasyAdminBundle\Dto\CrudDto;
910
use EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto;
@@ -12,7 +13,6 @@
1213
use EasyCorp\Bundle\EasyAdminBundle\Dto\MainMenuDto;
1314
use EasyCorp\Bundle\EasyAdminBundle\Dto\SearchDto;
1415
use EasyCorp\Bundle\EasyAdminBundle\Dto\UserMenuDto;
15-
use EasyCorp\Bundle\EasyAdminBundle\Registry\AdminControllerRegistry;
1616
use EasyCorp\Bundle\EasyAdminBundle\Registry\CrudControllerRegistry;
1717
use Symfony\Component\HttpFoundation\Request;
1818
use Symfony\Component\Security\Core\User\UserInterface;
@@ -86,7 +86,7 @@ public function getSearch(): ?SearchDto
8686
return $this->crudContext->getSearch();
8787
}
8888

89-
public function getAdminControllers(): AdminControllerRegistry
89+
public function getAdminControllers(): AdminControllerRegistryInterface
9090
{
9191
return $this->crudContext->getAdminControllers();
9292
}

src/Context/CrudContext.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace EasyCorp\Bundle\EasyAdminBundle\Context;
44

5+
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Registry\AdminControllerRegistryInterface;
56
use EasyCorp\Bundle\EasyAdminBundle\Dto\CrudDto;
67
use EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto;
78
use EasyCorp\Bundle\EasyAdminBundle\Dto\SearchDto;
@@ -20,7 +21,7 @@ public function __construct(
2021
private readonly ?CrudDto $crudDto,
2122
private readonly ?EntityDto $entityDto,
2223
private readonly ?SearchDto $searchDto,
23-
private readonly AdminControllerRegistry $adminControllers,
24+
private readonly AdminControllerRegistryInterface $adminControllers,
2425
private readonly ?CrudControllerRegistry $crudControllers = null,
2526
) {
2627
}
@@ -49,7 +50,7 @@ public function getCrudControllers(): CrudControllerRegistry
4950
return $this->crudControllers;
5051
}
5152

52-
public function getAdminControllers(): AdminControllerRegistry
53+
public function getAdminControllers(): AdminControllerRegistryInterface
5354
{
5455
return $this->adminControllers;
5556
}
@@ -61,7 +62,7 @@ public static function forTesting(
6162
?CrudDto $crudDto = null,
6263
?EntityDto $entityDto = null,
6364
?SearchDto $searchDto = null,
64-
?AdminControllerRegistry $adminControllers = null,
65+
?AdminControllerRegistryInterface $adminControllers = null,
6566
?CrudControllerRegistry $crudControllers = null,
6667
): self {
6768
$adminControllers ??= new AdminControllerRegistry('', [], []);

src/Contracts/Context/AdminContextInterface.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace EasyCorp\Bundle\EasyAdminBundle\Contracts\Context;
44

5+
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Registry\AdminControllerRegistryInterface;
56
use EasyCorp\Bundle\EasyAdminBundle\Dto\AssetsDto;
67
use EasyCorp\Bundle\EasyAdminBundle\Dto\CrudDto;
78
use EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto;
@@ -10,7 +11,6 @@
1011
use EasyCorp\Bundle\EasyAdminBundle\Dto\MainMenuDto;
1112
use EasyCorp\Bundle\EasyAdminBundle\Dto\SearchDto;
1213
use EasyCorp\Bundle\EasyAdminBundle\Dto\UserMenuDto;
13-
use EasyCorp\Bundle\EasyAdminBundle\Registry\AdminControllerRegistry;
1414
use EasyCorp\Bundle\EasyAdminBundle\Registry\CrudControllerRegistry;
1515
use Symfony\Component\HttpFoundation\Request;
1616
use Symfony\Component\Security\Core\User\UserInterface;
@@ -31,7 +31,7 @@ public function getI18n(): I18nDto;
3131

3232
// this method will be introduced in 5.0.0, but the class that implements
3333
// this interface already implements it, so you can use it to smooth upgrade
34-
// public function getAdminControllers(): AdminControllerRegistry;
34+
// public function getAdminControllers(): AdminControllerRegistryInterface;
3535

3636
/**
3737
* @deprecated since 4.28.1, use getAdminControllers() instead

src/Controller/AbstractCrudController.php

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
use EasyCorp\Bundle\EasyAdminBundle\Config\Option\EA;
1818
use EasyCorp\Bundle\EasyAdminBundle\Context\AdminContext;
1919
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Controller\CrudControllerInterface;
20+
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Orm\EntityRepositoryInterface;
21+
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Orm\EntityUpdaterInterface;
22+
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Provider\AdminContextProviderInterface;
2023
use EasyCorp\Bundle\EasyAdminBundle\Dto\AssetsDto;
2124
use EasyCorp\Bundle\EasyAdminBundle\Dto\BatchActionDto;
2225
use EasyCorp\Bundle\EasyAdminBundle\Dto\EntityDto;
@@ -50,6 +53,7 @@
5053
use EasyCorp\Bundle\EasyAdminBundle\Provider\AdminContextProvider;
5154
use EasyCorp\Bundle\EasyAdminBundle\Provider\FieldProvider;
5255
use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator;
56+
use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGeneratorInterface;
5357
use EasyCorp\Bundle\EasyAdminBundle\Security\Permission;
5458
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
5559
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
@@ -106,17 +110,22 @@ public static function getSubscribedServices(): array
106110
'doctrine' => '?'.ManagerRegistry::class,
107111
'event_dispatcher' => '?'.EventDispatcherInterface::class,
108112
ActionFactory::class => '?'.ActionFactory::class,
109-
AdminContextProvider::class => '?'.AdminContextProvider::class,
110-
AdminUrlGenerator::class => '?'.AdminUrlGenerator::class,
113+
AdminContextProviderInterface::class => '?'.AdminContextProviderInterface::class,
114+
AdminUrlGeneratorInterface::class => '?'.AdminUrlGeneratorInterface::class,
111115
ControllerFactory::class => '?'.ControllerFactory::class,
112116
EntityFactory::class => '?'.EntityFactory::class,
113-
EntityRepository::class => '?'.EntityRepository::class,
114-
EntityUpdater::class => '?'.EntityUpdater::class,
117+
EntityRepositoryInterface::class => '?'.EntityRepositoryInterface::class,
118+
EntityUpdaterInterface::class => '?'.EntityUpdaterInterface::class,
115119
FieldProvider::class => '?'.FieldProvider::class,
116120
FilterFactory::class => '?'.FilterFactory::class,
117121
FormFactory::class => '?'.FormFactory::class,
118122
PaginatorFactory::class => '?'.PaginatorFactory::class,
119123
FieldFactory::class => '?'.FieldFactory::class,
124+
// the following keys are kept for BC reasons (they were replaced by the corresponding interfaces)
125+
AdminContextProvider::class => '?'.AdminContextProviderInterface::class,
126+
AdminUrlGenerator::class => '?'.AdminUrlGeneratorInterface::class,
127+
EntityRepository::class => '?'.EntityRepositoryInterface::class,
128+
EntityUpdater::class => '?'.EntityUpdaterInterface::class,
120129
]);
121130
}
122131

@@ -140,7 +149,7 @@ public function index(AdminContext $context)
140149
// this can happen after deleting some items and trying to return
141150
// to a 'index' page that no longer exists. Redirect to the last page instead
142151
if ($paginator->isOutOfRange()) {
143-
return $this->redirect($this->container->get(AdminUrlGenerator::class)
152+
return $this->redirect($this->container->get(AdminUrlGeneratorInterface::class)
144153
->set(EA::PAGE, $paginator->getLastPage())
145154
->generateUrl());
146155
}
@@ -400,7 +409,7 @@ public function delete(AdminContext $context)
400409
return $event->getResponse();
401410
}
402411

403-
return $this->redirect($this->container->get(AdminUrlGenerator::class)->setController($context->getCrud()->getControllerFqcn())->setAction(Action::INDEX)->unset(EA::ENTITY_ID)->generateUrl());
412+
return $this->redirect($this->container->get(AdminUrlGeneratorInterface::class)->setController($context->getCrud()->getControllerFqcn())->setAction(Action::INDEX)->unset(EA::ENTITY_ID)->generateUrl());
404413
}
405414

406415
/**
@@ -464,7 +473,7 @@ public function batchDelete(AdminContext $context, BatchActionDto $batchActionDt
464473
}
465474

466475
// resetting the page number is needed because after deleting some entities, the pagination will change
467-
return $this->redirect($this->container->get(AdminUrlGenerator::class)->setAction(Action::INDEX)->set(EA::PAGE, 1)->generateUrl());
476+
return $this->redirect($this->container->get(AdminUrlGeneratorInterface::class)->setAction(Action::INDEX)->set(EA::PAGE, 1)->generateUrl());
468477
}
469478

470479
public function autocomplete(AdminContext $context): JsonResponse
@@ -521,7 +530,7 @@ public function autocomplete(AdminContext $context): JsonResponse
521530

522531
public function createIndexQueryBuilder(SearchDto $searchDto, EntityDto $entityDto, FieldCollection $fields, FilterCollection $filters): QueryBuilder
523532
{
524-
return $this->container->get(EntityRepository::class)->createQueryBuilder($searchDto, $entityDto, $fields, $filters);
533+
return $this->container->get(EntityRepositoryInterface::class)->createQueryBuilder($searchDto, $entityDto, $fields, $filters);
525534
}
526535

527536
public function renderFilters(AdminContext $context): KeyValueStore
@@ -599,7 +608,7 @@ public function configureResponseParameters(KeyValueStore $responseParameters):
599608

600609
protected function getContext(): ?AdminContext
601610
{
602-
return $this->container->get(AdminContextProvider::class)->getContext();
611+
return $this->container->get(AdminContextProviderInterface::class)->getContext();
603612
}
604613

605614
/**
@@ -612,7 +621,7 @@ protected function ajaxEdit(EntityDto $entityDto, ?string $propertyName, bool $n
612621
throw new AccessDeniedException(sprintf('The field "%s" does not exist or it\'s configured as disabled, so it can\'t be modified.', $propertyName));
613622
}
614623

615-
$this->container->get(EntityUpdater::class)->updateProperty($entityDto, $propertyName, $newValue);
624+
$this->container->get(EntityUpdaterInterface::class)->updateProperty($entityDto, $propertyName, $newValue);
616625

617626
/** @var TEntity $entityInstance */
618627
$entityInstance = $entityDto->getInstance();
@@ -683,12 +692,12 @@ protected function getRedirectResponseAfterSave(AdminContext $context, string $a
683692
$submitButtonName = $context->getRequest()->request->all()['ea']['newForm']['btn'] ?? null;
684693

685694
$url = match ($submitButtonName) {
686-
Action::SAVE_AND_CONTINUE => $this->container->get(AdminUrlGenerator::class)
695+
Action::SAVE_AND_CONTINUE => $this->container->get(AdminUrlGeneratorInterface::class)
687696
->setAction(Action::EDIT)
688697
->setEntityId($context->getEntity()->getPrimaryKeyValue())
689698
->generateUrl(),
690-
Action::SAVE_AND_RETURN => $this->container->get(AdminUrlGenerator::class)->setAction(Action::INDEX)->generateUrl(),
691-
Action::SAVE_AND_ADD_ANOTHER => $this->container->get(AdminUrlGenerator::class)->setAction(Action::NEW)->generateUrl(),
699+
Action::SAVE_AND_RETURN => $this->container->get(AdminUrlGeneratorInterface::class)->setAction(Action::INDEX)->generateUrl(),
700+
Action::SAVE_AND_ADD_ANOTHER => $this->container->get(AdminUrlGeneratorInterface::class)->setAction(Action::NEW)->generateUrl(),
692701
default => $this->generateUrl($context->getDashboardRouteName()),
693702
};
694703

src/Controller/AbstractDashboardController.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
use EasyCorp\Bundle\EasyAdminBundle\Config\UserMenu;
1313
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Controller\DashboardControllerInterface;
1414
use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGenerator;
15+
use EasyCorp\Bundle\EasyAdminBundle\Router\AdminUrlGeneratorInterface;
1516
use EasyCorp\Bundle\EasyAdminBundle\Security\Permission;
1617
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
1718
use Symfony\Component\HttpFoundation\Response;
@@ -39,7 +40,9 @@ abstract class AbstractDashboardController extends AbstractController implements
3940
public static function getSubscribedServices(): array
4041
{
4142
return array_merge(parent::getSubscribedServices(), [
42-
AdminUrlGenerator::class => '?'.AdminUrlGenerator::class,
43+
AdminUrlGeneratorInterface::class => '?'.AdminUrlGeneratorInterface::class,
44+
// the following key is kept for BC reasons
45+
AdminUrlGenerator::class => '?'.AdminUrlGeneratorInterface::class,
4346
]);
4447
}
4548

src/EventListener/AdminRouterSubscriber.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
use EasyCorp\Bundle\EasyAdminBundle\Config\Option\EA;
77
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Controller\CrudControllerInterface;
88
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Controller\DashboardControllerInterface;
9+
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Registry\AdminControllerRegistryInterface;
910
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Router\AdminRouteGeneratorInterface;
1011
use EasyCorp\Bundle\EasyAdminBundle\Exception\BaseException;
1112
use EasyCorp\Bundle\EasyAdminBundle\Factory\AdminContextFactory;
1213
use EasyCorp\Bundle\EasyAdminBundle\Factory\ControllerFactory;
13-
use EasyCorp\Bundle\EasyAdminBundle\Registry\AdminControllerRegistry;
1414
use EasyCorp\Bundle\EasyAdminBundle\Router\AdminRouteGenerator;
1515
use Psr\Cache\CacheItemPoolInterface;
1616
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
@@ -48,7 +48,7 @@ public function __construct(
4848
private readonly CacheItemPoolInterface $cache,
4949
private readonly AdminRouteGeneratorInterface $adminRouteGenerator,
5050
private readonly string $buildDir,
51-
private readonly AdminControllerRegistry $adminControllers,
51+
private readonly AdminControllerRegistryInterface $adminControllers,
5252
) {
5353
}
5454

src/Factory/AdminContextFactory.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Controller\CrudControllerInterface;
1616
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Controller\DashboardControllerInterface;
1717
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Factory\MenuFactoryInterface;
18+
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Registry\AdminControllerRegistryInterface;
1819
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Router\AdminRouteGeneratorInterface;
1920
use EasyCorp\Bundle\EasyAdminBundle\Contracts\Translation\EntityTranslationIdGeneratorInterface;
2021
use EasyCorp\Bundle\EasyAdminBundle\Dto\ActionConfigDto;
@@ -25,7 +26,6 @@
2526
use EasyCorp\Bundle\EasyAdminBundle\Dto\FilterConfigDto;
2627
use EasyCorp\Bundle\EasyAdminBundle\Dto\I18nDto;
2728
use EasyCorp\Bundle\EasyAdminBundle\Dto\SearchDto;
28-
use EasyCorp\Bundle\EasyAdminBundle\Registry\AdminControllerRegistry;
2929
use EasyCorp\Bundle\EasyAdminBundle\Registry\CrudControllerRegistry;
3030
use EasyCorp\Bundle\EasyAdminBundle\Registry\TemplateRegistry;
3131
use Symfony\Component\HttpFoundation\Request;
@@ -44,7 +44,7 @@ public function __construct(
4444
private readonly string $buildDir,
4545
private readonly ?TokenStorageInterface $tokenStorage,
4646
private readonly MenuFactoryInterface $menuFactory,
47-
private readonly AdminControllerRegistry $adminControllers,
47+
private readonly AdminControllerRegistryInterface $adminControllers,
4848
private readonly EntityFactory $entityFactory,
4949
private readonly AdminRouteGeneratorInterface $adminRouteGenerator,
5050
private readonly ActionFactory $actionFactory,
@@ -152,7 +152,7 @@ private function getAssetDto(DashboardControllerInterface $dashboardController,
152152
return $crudController->configureAssets($defaultAssets)->getAsDto()->loadedOn($pageName);
153153
}
154154

155-
private function getCrudDto(AdminControllerRegistry $adminControllers, DashboardControllerInterface $dashboardController, ?CrudControllerInterface $crudController, ActionConfigDto $actionConfigDto, FilterConfigDto $filters, ?string $crudAction, ?string $pageName): ?CrudDto
155+
private function getCrudDto(AdminControllerRegistryInterface $adminControllers, DashboardControllerInterface $dashboardController, ?CrudControllerInterface $crudController, ActionConfigDto $actionConfigDto, FilterConfigDto $filters, ?string $crudAction, ?string $pageName): ?CrudDto
156156
{
157157
if (null === $crudController) {
158158
return null;

0 commit comments

Comments
 (0)