diff options
Diffstat (limited to 'application/controllers/TemplatechoicesController.php')
-rw-r--r-- | application/controllers/TemplatechoicesController.php | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/application/controllers/TemplatechoicesController.php b/application/controllers/TemplatechoicesController.php new file mode 100644 index 0000000..753591a --- /dev/null +++ b/application/controllers/TemplatechoicesController.php @@ -0,0 +1,39 @@ +<?php + +namespace Icinga\Module\Director\Controllers; + +use Icinga\Module\Director\Web\ActionBar\ChoicesActionBar; +use Icinga\Module\Director\Web\Controller\ActionController; +use Icinga\Module\Director\Web\Table\ChoicesTable; +use Icinga\Module\Director\Web\Tabs\ObjectsTabs; + +class TemplatechoicesController extends ActionController +{ + protected function checkDirectorPermissions() + { + $this->assertPermission('director/admin'); + } + + public function hostAction() + { + $this->prepare('host', $this->translate('Host template choices')); + } + + public function serviceAction() + { + $this->prepare('service', $this->translate('Service template choices')); + } + + public function notificationAction() + { + $this->prepare('notification', $this->translate('Notification template choices')); + } + + protected function prepare($type, $title) + { + $this->tabs(new ObjectsTabs($type, $this->Auth(), $type))->activate('choices'); + $this->setAutorefreshInterval(10)->addTitle($title); + $this->actions(new ChoicesActionBar($type, $this->url())); + ChoicesTable::create($type, $this->db())->renderTo($this); + } +} |