summaryrefslogtreecommitdiffstats
path: root/application/controllers/TimeperiodController.php
diff options
context:
space:
mode:
Diffstat (limited to 'application/controllers/TimeperiodController.php')
-rw-r--r--application/controllers/TimeperiodController.php33
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);
+ }
+}