summaryrefslogtreecommitdiffstats
path: root/library/Businessprocess/ProvidedHook/Icingadb/ServiceActions.php
diff options
context:
space:
mode:
Diffstat (limited to 'library/Businessprocess/ProvidedHook/Icingadb/ServiceActions.php')
-rw-r--r--library/Businessprocess/ProvidedHook/Icingadb/ServiceActions.php26
1 files changed, 26 insertions, 0 deletions
diff --git a/library/Businessprocess/ProvidedHook/Icingadb/ServiceActions.php b/library/Businessprocess/ProvidedHook/Icingadb/ServiceActions.php
new file mode 100644
index 0000000..24e6829
--- /dev/null
+++ b/library/Businessprocess/ProvidedHook/Icingadb/ServiceActions.php
@@ -0,0 +1,26 @@
+<?php
+
+namespace Icinga\Module\Businessprocess\ProvidedHook\Icingadb;
+
+use Icinga\Module\Icingadb\Hook\ServiceActionsHook;
+use Icinga\Module\Icingadb\Model\Service;
+use ipl\Web\Widget\Link;
+
+class ServiceActions extends ServiceActionsHook
+{
+ public function getActionsForObject(Service $service): array
+ {
+ $label = mt('businessprocess', 'Business Impact');
+ return array(
+ new Link(
+ $label,
+ sprintf(
+ 'businessprocess/node/impact?name=%s',
+ rawurlencode(
+ sprintf('%s;%s', $service->host->name, $service->name)
+ )
+ )
+ )
+ );
+ }
+}