From: Johannes Meyer Date: Tue, 17 Dec 2013 14:15:39 +0000 (+0100) Subject: Fix that triggered_by field is not of type int in a livestatus response X-Git-Tag: v0.0.6~11 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=772f3199264ada5efa310270de5d5cc54e976fa2;p=icinga2 Fix that triggered_by field is not of type int in a livestatus response fixes #5356 --- diff --git a/components/livestatus/downtimestable.cpp b/components/livestatus/downtimestable.cpp index 2f6f3df4a..19e8d81e4 100644 --- a/components/livestatus/downtimestable.cpp +++ b/components/livestatus/downtimestable.cpp @@ -152,5 +152,5 @@ Value DowntimesTable::TriggeredByAccessor(const Value& row) { Downtime::Ptr downtime = static_cast(row); - return downtime->GetTriggeredBy(); + return downtime->GetTriggeredByLegacyId(); } diff --git a/lib/icinga/downtime.ti b/lib/icinga/downtime.ti index c68812aea..69f91ec4b 100644 --- a/lib/icinga/downtime.ti +++ b/lib/icinga/downtime.ti @@ -12,6 +12,7 @@ class Downtime [state] double trigger_time; [state] bool fixed; [state] double duration; + [state] int triggered_by_legacy_id; [state] String triggered_by; [state] String scheduled_by; [state] Dictionary::Ptr triggers { diff --git a/lib/icinga/service-downtime.cpp b/lib/icinga/service-downtime.cpp index f014ab262..313792515 100644 --- a/lib/icinga/service-downtime.cpp +++ b/lib/icinga/service-downtime.cpp @@ -70,6 +70,11 @@ String Service::AddDowntime(const String& author, const String& comment, downtime->SetTriggeredBy(triggeredBy); downtime->SetScheduledBy(scheduledBy); + if (!triggeredBy.IsEmpty()) { + Downtime::Ptr triggerDowntime = GetDowntimeByID(triggeredBy); + downtime->SetTriggeredByLegacyId(triggerDowntime->GetLegacyId()); + } + int legacy_id; {