From 2a2ac29589a1a16b5977a9aa8f2c83cfa15db754 Mon Sep 17 00:00:00 2001 From: raviks789 <33730024+raviks789@users.noreply.github.com> Date: Fri, 12 Nov 2021 11:51:21 +0100 Subject: [PATCH] Fix dis/enabling of feature commands of multi-selected hosts or services. In case of elements other than CheckboxElement $element->getValue() must be used instead of $element->isChecked(). --- .../forms/Command/Object/ToggleObjectFeaturesForm.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/application/forms/Command/Object/ToggleObjectFeaturesForm.php b/application/forms/Command/Object/ToggleObjectFeaturesForm.php index 790e5811..8b2d2d25 100644 --- a/application/forms/Command/Object/ToggleObjectFeaturesForm.php +++ b/application/forms/Command/Object/ToggleObjectFeaturesForm.php @@ -8,6 +8,7 @@ use Icinga\Module\Icingadb\Command\Object\ToggleObjectFeatureCommand; use Icinga\Module\Icingadb\Common\Auth; use Icinga\Module\Icingadb\Forms\Command\CommandForm; use Icinga\Web\Notification; +use ipl\Html\FormElement\CheckboxElement; use ipl\Orm\Model; use ipl\Web\FormDecorator\IcingaFormDecorator; @@ -160,7 +161,11 @@ class ToggleObjectFeaturesForm extends CommandForm protected function getCommand(Model $object): \Generator { foreach ($this->features as $feature => $spec) { - $featureState = $this->getElement($feature)->isChecked(); + if ($this->getElement($feature) instanceof CheckboxElement) { + $featureState = $this->getElement($feature)->isChecked(); + } else { + $featureState = $this->getElement($feature)->getValue(); + } if ( ! $this->isGrantedOn($spec['permission'], $object)