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