icingaweb2-module-director/application/controllers/ScheduledDowntimeController.php
Eric Lippmann b6af283732 License source files as GPL-3.0-or-later
Add SPDX license headers and mark source files as GPL-3.0-or-later to
preserve the option to relicense under later GPL versions.
2026-03-24 11:30:06 +01:00

48 lines
1.5 KiB
PHP

<?php
// SPDX-FileCopyrightText: 2018 Icinga GmbH <https://icinga.com>
// SPDX-License-Identifier: GPL-3.0-or-later
namespace Icinga\Module\Director\Controllers;
use Icinga\Module\Director\Forms\IcingaScheduledDowntimeRangeForm;
use Icinga\Module\Director\Objects\IcingaScheduledDowntime;
use Icinga\Module\Director\Web\Controller\ObjectController;
use Icinga\Module\Director\Web\Table\IcingaScheduledDowntimeRangeTable;
class ScheduledDowntimeController extends ObjectController
{
protected $objectBaseUrl = 'director/scheduled-downtime';
protected function checkDirectorPermissions()
{
$this->assertPermission('director/scheduled-downtimes');
}
public function rangesAction()
{
/** @var IcingaScheduledDowntime $object */
$object = $this->object;
$this->tabs()->activate('ranges');
$this->addTitle($this->translate('Time period ranges'));
$form = IcingaScheduledDowntimeRangeForm::load()
->setScheduledDowntime($object);
if (null !== ($name = $this->params->get('range'))) {
$this->addBackLink($this->url()->without('range'));
$form->loadObject([
'scheduled_downtime_id' => $object->get('id'),
'range_key' => $name,
'range_type' => $this->params->get('range_type')
]);
}
$this->content()->add($form->handleRequest());
IcingaScheduledDowntimeRangeTable::load($object)->renderTo($this);
}
public function getType()
{
return 'scheduledDowntime';
}
}