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->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);
+
+ int typeFilter = user->GetTypeFilter();
+ int stateFilter = user->GetStateFilter();
+
+ fields->Set("notify_service_recovery", (typeFilter & (1 << NotificationRecovery)) != 0);
+ fields->Set("notify_service_warning", (stateFilter & StateFilterWarning) != 0);
+ fields->Set("notify_service_unknown", (stateFilter & StateFilterUnknown) != 0);
+ fields->Set("notify_service_critical", (stateFilter & StateFilterCritical) != 0);
+ fields->Set("notify_service_flapping", (typeFilter & ((1 << NotificationFlappingStart) | (1 << NotificationFlappingEnd))) != 0);
+ fields->Set("notify_service_downtime", (typeFilter & ((1 << NotificationDowntimeStart) | (1 << NotificationDowntimeEnd) | (1 << NotificationDowntimeRemoved))) != 0);
+ fields->Set("notify_host_recovery", (typeFilter & (1 << NotificationRecovery)) != 0);
+ fields->Set("notify_host_down", (stateFilter & StateFilterDown) != 0);
+ fields->Set("notify_host_flapping", (typeFilter & ((1 << NotificationFlappingStart) | (1 << NotificationFlappingEnd))) != 0);
+ fields->Set("notify_host_downtime", (typeFilter & ((1 << NotificationDowntimeStart) | (1 << NotificationDowntimeEnd) | (1 << NotificationDowntimeRemoved))) != 0);
return fields;
}