From 67e935557e775ff0eac6ea95e6da0e2226b344f7 Mon Sep 17 00:00:00 2001 From: Thomas Gelf <thomas@gelf.net> Date: Wed, 14 Jan 2015 11:01:39 +0100 Subject: [PATCH] HostController: use host actions hook refs #8208 --- .../controllers/HostController.php | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/modules/monitoring/application/controllers/HostController.php b/modules/monitoring/application/controllers/HostController.php index 4eccb8899..150f9ae1a 100644 --- a/modules/monitoring/application/controllers/HostController.php +++ b/modules/monitoring/application/controllers/HostController.php @@ -9,6 +9,7 @@ use Icinga\Module\Monitoring\Forms\Command\Object\ScheduleHostCheckCommandForm; use Icinga\Module\Monitoring\Forms\Command\Object\ScheduleHostDowntimeCommandForm; use Icinga\Module\Monitoring\Object\Host; use Icinga\Module\Monitoring\Web\Controller\MonitoredObjectController; +use Icinga\Web\Hook; class Monitoring_HostController extends MonitoredObjectController { @@ -37,6 +38,28 @@ class Monitoring_HostController extends MonitoredObjectController $this->getTabs()->activate('host'); } + protected function getHostActions() + { + $urls = array(); + + foreach (Hook::all('Monitoring\\HostActions') as $hook) { + foreach ($hook->getActionsForHost($this->object) as $id => $url) { + $urls[$id] = $url; + } + } + + return $urls; + } + + /** + * Show a host + */ + public function showAction() + { + $this->view->hostActions = $this->getHostActions(); + parent::showAction(); + } + /** * Acknowledge a host problem */