diff options
Diffstat (limited to 'application/controllers/ServicesController.php')
-rw-r--r-- | application/controllers/ServicesController.php | 42 |
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'] + )); + } +} |