diff options
Diffstat (limited to 'application/controllers/TimeperiodController.php')
-rw-r--r-- | application/controllers/TimeperiodController.php | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/application/controllers/TimeperiodController.php b/application/controllers/TimeperiodController.php new file mode 100644 index 0000000..82c7749 --- /dev/null +++ b/application/controllers/TimeperiodController.php @@ -0,0 +1,33 @@ +<?php + +namespace Icinga\Module\Director\Controllers; + +use Icinga\Module\Director\Forms\IcingaTimePeriodRangeForm; +use Icinga\Module\Director\Objects\IcingaTimePeriod; +use Icinga\Module\Director\Web\Controller\ObjectController; +use Icinga\Module\Director\Web\Table\IcingaTimePeriodRangeTable; + +class TimeperiodController extends ObjectController +{ + public function rangesAction() + { + /** @var IcingaTimePeriod $object */ + $object = $this->object; + $this->tabs()->activate('ranges'); + $this->addTitle($this->translate('Time period ranges')); + $form = IcingaTimePeriodRangeForm::load() + ->setTimePeriod($object); + + if (null !== ($name = $this->params->get('range'))) { + $this->addBackLink($this->url()->without('range')); + $form->loadObject([ + 'timeperiod_id' => $object->get('id'), + 'range_key' => $name, + 'range_type' => $this->params->get('range_type') + ]); + } + + $this->content()->add($form->handleRequest()); + IcingaTimePeriodRangeTable::load($object)->renderTo($this); + } +} |