diff options
Diffstat (limited to 'application/controllers/TemplatechoiceController.php')
-rw-r--r-- | application/controllers/TemplatechoiceController.php | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/application/controllers/TemplatechoiceController.php b/application/controllers/TemplatechoiceController.php new file mode 100644 index 0000000..faf3dfe --- /dev/null +++ b/application/controllers/TemplatechoiceController.php @@ -0,0 +1,41 @@ +<?php + +namespace Icinga\Module\Director\Controllers; + +use Icinga\Module\Director\Forms\IcingaTemplateChoiceForm; +use Icinga\Module\Director\Web\Controller\ActionController; +use Icinga\Module\Director\Web\Controller\BranchHelper; + +class TemplatechoiceController extends ActionController +{ + use BranchHelper; + + protected function checkDirectorPermissions() + { + $this->assertPermission('director/admin'); + } + + public function hostAction() + { + $this->prepare('host', $this->translate('Host template choice')); + } + + public function serviceAction() + { + $this->prepare('service', $this->translate('Service template choice')); + } + + protected function prepare($type, $title) + { + $this->addSingleTab('Choice') + ->addTitle($title); + $form = IcingaTemplateChoiceForm::create($type, $this->db()) + ->optionallyLoad($this->params->get('name')) + ->setListUrl("director/templatechoices/$type") + ->handleRequest(); + if ($this->showNotInBranch($this->translate('Modifying Template Choices'))) { + return; + } + $this->content()->add($form); + } +} |