]> granicus.if.org Git - icinga2/commitdiff
Fix that triggered_by field is not of type int in a livestatus response
authorJohannes Meyer <johannes.meyer@netways.de>
Tue, 17 Dec 2013 14:15:39 +0000 (15:15 +0100)
committerJohannes Meyer <johannes.meyer@netways.de>
Tue, 17 Dec 2013 14:15:39 +0000 (15:15 +0100)
fixes #5356

components/livestatus/downtimestable.cpp
lib/icinga/downtime.ti
lib/icinga/service-downtime.cpp

index 2f6f3df4a4da8e7fd799c84925730fd71bf3c358..19e8d81e439f81e6149044b8e1283f2c8f88fb36 100644 (file)
@@ -152,5 +152,5 @@ Value DowntimesTable::TriggeredByAccessor(const Value& row)
 {
        Downtime::Ptr downtime = static_cast<Downtime::Ptr>(row);
 
-       return downtime->GetTriggeredBy();
+       return downtime->GetTriggeredByLegacyId();
 }
index c68812aeac9e55d89c399f4568e9deee2a6b8863..69f91ec4b95c23c53ca3c62b48fd0643554930f5 100644 (file)
@@ -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 {
index f014ab262cb5c0c9168044e47ffd3c3c96832257..313792515d3d9faaa79cb8b661d96dacb71b5712 100644 (file)
@@ -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;
 
        {