summaryrefslogtreecommitdiffstats
path: root/application/controllers/ServicesController.php
diff options
context:
space:
mode:
Diffstat (limited to 'application/controllers/ServicesController.php')
-rw-r--r--application/controllers/ServicesController.php42
1 files changed, 42 insertions, 0 deletions
diff --git a/application/controllers/ServicesController.php b/application/controllers/ServicesController.php
new file mode 100644
index 0000000..8d178c2
--- /dev/null
+++ b/application/controllers/ServicesController.php
@@ -0,0 +1,42 @@
+<?php
+
+namespace Icinga\Module\Director\Controllers;
+
+use gipfl\IcingaWeb2\Link;
+use gipfl\IcingaWeb2\Url;
+use Icinga\Module\Director\DirectorObject\Automation\ExportInterface;
+use Icinga\Module\Director\Web\Controller\ObjectsController;
+
+class ServicesController extends ObjectsController
+{
+ protected $multiEdit = array(
+ 'imports',
+ 'groups',
+ 'disabled'
+ );
+
+ public function edittemplatesAction()
+ {
+ parent::editAction();
+
+ $objects = $this->loadMultiObjectsFromParams();
+ $names = [];
+ /** @var ExportInterface $object */
+ foreach ($objects as $object) {
+ $names[] = $object->getUniqueIdentifier();
+ }
+
+ $url = Url::fromPath('director/basket/add', [
+ 'type' => 'ServiceTemplate',
+ ]);
+
+ $url->getParams()->addValues('names', $names);
+
+ $this->actions()->add(Link::create(
+ $this->translate('Add to Basket'),
+ $url,
+ null,
+ ['class' => 'icon-tag']
+ ));
+ }
+}