|
@@ -25,13 +25,17 @@ class AddFilterTypeCompilerPass implements CompilerPassInterface
|
|
|
{
|
|
|
public function process(ContainerBuilder $container)
|
|
|
{
|
|
|
- // ShowBuilder
|
|
|
- $definition = $container->getDefinition('sonata.admin.guesser.orm_show_chain');
|
|
|
- $services = array();
|
|
|
- foreach($container->findTaggedServiceIds('sonata.admin.guesser.orm_show') as $id => $attributes) {
|
|
|
- $services[] = new Reference($id);
|
|
|
+ $definition = $container->getDefinition('sonata.admin.builder.filter.factory');
|
|
|
+ $types = array();
|
|
|
+
|
|
|
+ foreach($container->findTaggedServiceIds('sonata.admin.filter.type') as $id => $attributes) {
|
|
|
+ $name = $attributes[0]['alias'];
|
|
|
+
|
|
|
+ $container->getDefinition($id)->setScope(ContainerInterface::SCOPE_PROTOTYPE);
|
|
|
+
|
|
|
+ $types[$name] = $id;
|
|
|
}
|
|
|
|
|
|
- $definition->replaceArgument(0, $services);
|
|
|
+ $definition->replaceArgument(1, $types);
|
|
|
}
|
|
|
}
|