Skip to content

Commit 65ec27d

Browse files
committed
Merge pull request #82 from martiis/filter_check_hotfix
First part of and operation has to be false to drop instantly
2 parents f298155 + 62085f1 commit 65ec27d

File tree

2 files changed

+28
-18
lines changed

2 files changed

+28
-18
lines changed

DependencyInjection/Compiler/FilterPass.php

+11-13
Original file line numberDiff line numberDiff line change
@@ -35,20 +35,18 @@ public function process(ContainerBuilder $container)
3535

3636
foreach ($container->findTaggedServiceIds('ongr_filter_manager.filter') as $filterId => $filterTags) {
3737
foreach ($filterTags as $tag) {
38-
if (!array_key_exists('manager', $tag)
39-
&& $managerId != ONGRFilterManagerExtension::getFilterServiceId($tag['manager'])
38+
if (array_key_exists('manager', $tag)
39+
&& $managerId === ONGRFilterManagerExtension::getFilterManagerId($tag['manager'])
4040
) {
41-
continue;
42-
}
43-
44-
if (!array_key_exists('filter_name', $tag)) {
45-
throw new InvalidConfigurationException(
46-
sprintf('Filter tagged with `%s` must have `filter_name` parameter set.', $filterId)
47-
);
48-
}
41+
if (!array_key_exists('filter_name', $tag)) {
42+
throw new InvalidConfigurationException(
43+
sprintf('Filter tagged with `%s` must have `filter_name` set.', $filterId)
44+
);
45+
}
4946

50-
$this->addFilter($managerDefinition, $tag['filter_name'], $filterId);
51-
$container->setDefinition($managerId, $managerDefinition);
47+
$this->addFilter($managerDefinition, $tag['filter_name'], $filterId);
48+
$container->setDefinition($managerId, $managerDefinition);
49+
}
5250
}
5351
}
5452
$this->checkManager($managerDefinition, "Manager '{$managerId}' does not have any filters.");
@@ -74,7 +72,7 @@ private function addFilter($manager, $filterName, $filterId)
7472
);
7573
$manager->replaceArgument(0, $filtersContainer);
7674
}
77-
75+
7876
/**
7977
* Checks if manager definition has any filters set.
8078
*

DependencyInjection/ONGRFilterManagerExtension.php

+17-5
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,27 @@ public function addFilterFactory(AbstractFilterFactory $factory)
5858
/**
5959
* Formats filter service id from given name.
6060
*
61-
* @param string $name Filter manager name.
61+
* @param string $name Filter name.
6262
*
6363
* @return string
6464
*/
65-
public static function getFilterServiceId($name)
65+
public static function getFilterId($name)
6666
{
6767
return sprintf('ongr_filter_manager.filter.%s', $name);
6868
}
6969

70+
/**
71+
* Formats filter manager service id from given name.
72+
*
73+
* @param string $name Filter manager name.
74+
*
75+
* @return string
76+
*/
77+
public static function getFilterManagerId($name)
78+
{
79+
return sprintf('ongr_filter_manager.%s', $name);
80+
}
81+
7082
/**
7183
* Adds filters based on configuration.
7284
*
@@ -89,7 +101,7 @@ private function addFilters(array $config, ContainerBuilder $container)
89101
$this->addRelation($filterDefinition, $config, 'reset', 'include');
90102
$this->addRelation($filterDefinition, $config, 'reset', 'exclude');
91103

92-
$container->setDefinition(self::getFilterServiceId($name), $filterDefinition);
104+
$container->setDefinition(self::getFilterId($name), $filterDefinition);
93105
}
94106
}
95107
}
@@ -132,7 +144,7 @@ private function addFiltersManagers(array $config, ContainerBuilder $container)
132144
foreach ($manager['filters'] as $filter) {
133145
$filtersContainer->addMethodCall(
134146
'set',
135-
[$filter, new Reference(self::getFilterServiceId($filter))]
147+
[$filter, new Reference(self::getFilterId($filter))]
136148
);
137149
}
138150

@@ -145,7 +157,7 @@ private function addFiltersManagers(array $config, ContainerBuilder $container)
145157
);
146158
$managerDefinition->addTag('es.filter_manager');
147159

148-
$container->setDefinition(sprintf('ongr_filter_manager.%s', $name), $managerDefinition);
160+
$container->setDefinition(self::getFilterManagerId($name), $managerDefinition);
149161
}
150162
}
151163

0 commit comments

Comments
 (0)