From 8106a6ab6e707ff9c2d7ff543b8de3430cccb5ed Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Thu, 11 Apr 2019 08:58:19 +0200 Subject: [PATCH] ScheduledDowntime, Form, activity: tweak links --- application/forms/IcingaScheduledDowntimeForm.php | 8 ++++++++ library/Director/Objects/IcingaScheduledDowntime.php | 11 +++++++++++ library/Director/Web/Widget/ActivityLogInfo.php | 3 +++ 3 files changed, 22 insertions(+) diff --git a/application/forms/IcingaScheduledDowntimeForm.php b/application/forms/IcingaScheduledDowntimeForm.php index d5240670..e9231b6b 100644 --- a/application/forms/IcingaScheduledDowntimeForm.php +++ b/application/forms/IcingaScheduledDowntimeForm.php @@ -105,4 +105,12 @@ class IcingaScheduledDowntimeForm extends DirectorObjectForm return $this; } + + protected function setObjectSuccessUrl() + { + $this->setSuccessUrl( + 'director/scheduled-downtime', + $this->object()->getUrlParams() + ); + } } diff --git a/library/Director/Objects/IcingaScheduledDowntime.php b/library/Director/Objects/IcingaScheduledDowntime.php index 7e00734c..c8f59d54 100644 --- a/library/Director/Objects/IcingaScheduledDowntime.php +++ b/library/Director/Objects/IcingaScheduledDowntime.php @@ -73,6 +73,17 @@ class IcingaScheduledDowntime extends IcingaObject } } + public function getOnDeleteUrl() + { + if ($this->isApplyRule()) { + return 'director/scheduled-downtimes/applyrules'; + } elseif ($this->isTemplate()) { + return 'director/scheduled-downtimes/templates'; + } else { + return 'director/scheduled-downtimes'; + } + } + public function isActive($now = null) { if ($now === null) { diff --git a/library/Director/Web/Widget/ActivityLogInfo.php b/library/Director/Web/Widget/ActivityLogInfo.php index abb548f0..4a8c651d 100644 --- a/library/Director/Web/Widget/ActivityLogInfo.php +++ b/library/Director/Web/Widget/ActivityLogInfo.php @@ -504,12 +504,15 @@ class ActivityLogInfo extends HtmlDocument protected function getLinkToObject() { + // TODO: This logic is redundant and should be centralized $entry = $this->entry; $name = $entry->object_name; $controller = preg_replace('/^icinga_/', '', $entry->object_type); if ($controller === 'service_set') { $controller = 'serviceset'; + } elseif ($controller === 'scheduled_downtime') { + $controller = 'scheduled-downtime'; } return Link::create(