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