Controller: Add method applyMonitoringRestriction

This commit is contained in:
Johannes Meyer 2019-11-06 15:43:17 +01:00
parent 7ed4839848
commit ccd0709fba

View file

@ -6,6 +6,8 @@ use Generator;
use Icinga\Application\Icinga;
use Icinga\Data\Filter\Filter;
use Icinga\Data\ResourceFactory;
use Icinga\Module\Icingadb\Compat\MonitoringRestrictions;
use Icinga\Module\Icingadb\Compat\UrlMigrator;
use Icinga\Module\Icingadb\Widget\FilterControl;
use Icinga\Module\Icingadb\Widget\ViewModeSwitcher;
use ipl\Html\Html;
@ -208,6 +210,21 @@ class Controller extends CompatController
return $this;
}
public function applyMonitoringRestriction(Query $query, $queryTransformer = null)
{
if ($queryTransformer === null || UrlMigrator::hasQueryTransformer($queryTransformer)) {
$restriction = UrlMigrator::transformFilter(
MonitoringRestrictions::getRestriction('monitoring/filter/objects'),
$queryTransformer
);
if ($restriction) {
FilterProcessor::apply($restriction, $query);
}
}
return $this;
}
public function preDispatch()
{
$this->format = $this->params->shift('format');