From ca855c6ee78fbd961bfd607eb88c421cdfe64df7 Mon Sep 17 00:00:00 2001 From: raviks789 <33730024+raviks789@users.noreply.github.com> Date: Fri, 22 Sep 2023 13:16:33 +0200 Subject: [PATCH] TemplateUsageTable: Fix indrect object count fixes #2806 --- .../Director/Web/Table/TemplateUsageTable.php | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/library/Director/Web/Table/TemplateUsageTable.php b/library/Director/Web/Table/TemplateUsageTable.php index 4a1f2e4b..1c5172ad 100644 --- a/library/Director/Web/Table/TemplateUsageTable.php +++ b/library/Director/Web/Table/TemplateUsageTable.php @@ -6,6 +6,7 @@ use Icinga\Authentication\Auth; use Icinga\Exception\ProgrammingError; use Icinga\Module\Director\Db; use Icinga\Module\Director\Db\Branch\Branch; +use Icinga\Module\Director\Db\IcingaObjectFilterHelper; use Icinga\Module\Director\Objects\IcingaObject; use gipfl\IcingaWeb2\Link; use ipl\Html\Table; @@ -119,12 +120,19 @@ class TemplateUsageTable extends Table $templateType = $template->getShortTableName(); foreach ($this->getSummaryTables($templateType, $connection) as $type => $summaryTable) { - $direct[$type] = $db - ->query($summaryTable->filterTemplate($template, 'direct')->getQuery()) - ->rowCount(); - $indirect[$type] = $db - ->query($summaryTable->filterTemplate($template, 'indirect')->getQuery()) - ->rowCount(); + $directTable = clone $summaryTable; + $inDirectTable = clone $summaryTable; + + $direct[$type] = $db->query( + $directTable + ->filterTemplate($template, IcingaObjectFilterHelper::INHERIT_DIRECT) + ->getQuery() + )->rowCount(); + $indirect[$type] = $db->query( + $inDirectTable + ->filterTemplate($template, IcingaObjectFilterHelper::INHERIT_INDIRECT) + ->getQuery() + )->rowCount(); } $total = [];