File: TimeperiodController.php

package info (click to toggle)
icingaweb2-module-director 1.11.5-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 11,012 kB
  • sloc: php: 71,265; sql: 10,617; javascript: 580; sh: 353; xml: 32; makefile: 19
file content (38 lines) | stat: -rw-r--r-- 1,220 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?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);
    }

    protected function hasBasketSupport()
    {
        return true;
    }
}