]> granicus.if.org Git - icinga2/commitdiff
Fix incorrect type and state filter mapping for User objects in DB IDO
authorMichael Friedrich <michael.friedrich@netways.de>
Fri, 15 May 2015 14:40:32 +0000 (16:40 +0200)
committerMichael Friedrich <michael.friedrich@netways.de>
Fri, 29 May 2015 08:22:27 +0000 (10:22 +0200)
fixes #9143

lib/db_ido/userdbobject.cpp

index a410642d81fb990904e9a2a837edb92487abcc26..d5aec596e761f3eb6380a4b60c46cd03784fe8fa 100644 (file)
@@ -48,17 +48,16 @@ Dictionary::Ptr UserDbObject::GetConfigFields(void) const
        fields->Set("host_notifications_enabled", user->GetEnableNotifications());
        fields->Set("service_notifications_enabled", user->GetEnableNotifications());
        fields->Set("can_submit_commands", 1);
-       fields->Set("notify_service_recovery", (user->GetStateFilter() & NotificationRecovery) != 0);
-       fields->Set("notify_service_warning", (user->GetStateFilter() & NotificationProblem) != 0);
-       fields->Set("notify_service_unknown", (user->GetStateFilter() & NotificationProblem) != 0);
-       fields->Set("notify_service_critical", (user->GetStateFilter() & NotificationProblem) != 0);
-       fields->Set("notify_service_flapping", (user->GetStateFilter() & (NotificationFlappingStart | NotificationFlappingEnd)) != 0);
-       fields->Set("notify_service_downtime", (user->GetStateFilter() & (NotificationDowntimeStart | NotificationDowntimeEnd | NotificationDowntimeRemoved)) != 0);
-       fields->Set("notify_host_recovery", (user->GetStateFilter() & NotificationRecovery) != 0);
-       fields->Set("notify_host_down", (user->GetStateFilter() & NotificationProblem) != 0);
-       fields->Set("notify_host_unreachable", (user->GetStateFilter() & NotificationProblem) != 0);
-       fields->Set("notify_host_flapping", (user->GetStateFilter() & (NotificationFlappingStart | NotificationFlappingEnd)) != 0);
-       fields->Set("notify_host_downtime", (user->GetStateFilter() & (NotificationDowntimeStart | NotificationDowntimeEnd | NotificationDowntimeRemoved)) != 0);
+       fields->Set("notify_service_recovery", (user->GetTypeFilter() & NotificationRecovery) != 0);
+       fields->Set("notify_service_warning", (user->GetStateFilter() & StateFilterWarning) != 0);
+       fields->Set("notify_service_unknown", (user->GetStateFilter() & StateFilterUnknown) != 0);
+       fields->Set("notify_service_critical", (user->GetStateFilter() & StateFilterCritical) != 0);
+       fields->Set("notify_service_flapping", (user->GetTypeFilter() & (NotificationFlappingStart | NotificationFlappingEnd)) != 0);
+       fields->Set("notify_service_downtime", (user->GetTypeFilter() & (NotificationDowntimeStart | NotificationDowntimeEnd | NotificationDowntimeRemoved)) != 0);
+       fields->Set("notify_host_recovery", (user->GetTypeFilter() & NotificationRecovery) != 0);
+       fields->Set("notify_host_down", (user->GetStateFilter() & StateFilterDown) != 0);
+       fields->Set("notify_host_flapping", (user->GetTypeFilter() & (NotificationFlappingStart | NotificationFlappingEnd)) != 0);
+       fields->Set("notify_host_downtime", (user->GetTypeFilter() & (NotificationDowntimeStart | NotificationDowntimeEnd | NotificationDowntimeRemoved)) != 0);
 
        return fields;
 }