Merge branch 'bugfix/disable-downtimes-for-child-hosts-w-icinga2-10774'

refs #10744
This commit is contained in:
Eric Lippmann 2015-12-21 13:06:52 +01:00
commit 7bafab2c68
2 changed files with 23 additions and 15 deletions

View File

@ -153,6 +153,7 @@ class HostController extends MonitoredObjectController
$this->assertPermission('monitoring/command/downtime/schedule');
$form = new ScheduleHostDowntimeCommandForm();
$form->setBackend($this->backend);
$form->setTitle($this->translate('Schedule Host Downtime'));
$this->handleCommandForm($form);
}

View File

@ -20,19 +20,21 @@ class ScheduleHostDowntimeCommandForm extends ScheduleServiceDowntimeCommandForm
public function createElements(array $formData = array())
{
parent::createElements($formData);
$this->addElements(array(
array(
'checkbox',
'all_services',
array(
'description' => $this->translate(
'Schedule downtime for all services on the hosts and the hosts themselves.'
),
'label' => $this->translate('All Services'),
'value' => false
)
),
$this->addElement(
'checkbox',
'all_services',
array(
'description' => $this->translate(
'Schedule downtime for all services on the hosts and the hosts themselves.'
),
'label' => $this->translate('All Services'),
'value' => false
)
);
if (substr($this->getBackend()->getProgramVersion(), 0, 2) !== 'v2') {
$this->addElement(
'select',
'child_hosts',
array(
@ -47,8 +49,9 @@ class ScheduleHostDowntimeCommandForm extends ScheduleServiceDowntimeCommandForm
),
'value' => 0
)
)
));
);
}
return $this;
}
@ -60,7 +63,11 @@ class ScheduleHostDowntimeCommandForm extends ScheduleServiceDowntimeCommandForm
{
foreach ($this->objects as $object) {
/** @var \Icinga\Module\Monitoring\Object\Host $object */
$childHosts = (int) $this->getElement('child_hosts')->getValue();
if (($childHostsEl = $this->getElement('child_hosts')) !== null) {
$childHosts = (int) $childHostsEl->getValue();
} else {
$childHosts = 0;
}
$allServices = $this->getElement('all_services')->isChecked();
if ($childHosts === 0) {
$hostDowntime = new ScheduleHostDowntimeCommand();