From 6a8a7e397b81914a47ba1a32c45e6347dd4ff122 Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Tue, 16 Apr 2019 08:06:55 +0200 Subject: [PATCH] Merge pull request #3671 from Icinga/bugfix/getrestriction Monitoring\Controller#getRestriction(): return filters matching all, not none (cherry picked from commit 1cce44453cf079b5994d9f05aaeab4d79d223bc6) Signed-off-by: Johannes Meyer --- modules/monitoring/library/Monitoring/Controller.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/monitoring/library/Monitoring/Controller.php b/modules/monitoring/library/Monitoring/Controller.php index faeddc80d..1fb81b4de 100644 --- a/modules/monitoring/library/Monitoring/Controller.php +++ b/modules/monitoring/library/Monitoring/Controller.php @@ -97,7 +97,7 @@ class Controller extends IcingaWebController * * @param string $name Name of the restriction * - * @return Filter|null Filter object or null if the authenticated user is not restricted + * @return Filter Filter object * @throws ConfigurationError If the restriction contains invalid filter columns */ protected function getRestriction($name) @@ -115,7 +115,7 @@ class Controller extends IcingaWebController )); foreach ($this->getRestrictions($name) as $filter) { if ($filter === '*') { - return Filter::matchAny(); + return Filter::matchAll(); } try { $restriction->addFilter(Filter::fromQueryString($filter)); @@ -138,6 +138,11 @@ class Controller extends IcingaWebController ); } } + + if ($restriction->isEmpty()) { + return Filter::matchAll(); + } + return $restriction; } }