Dictionary::Ptr UserDbObject::GetConfigFields(void) const { Dictionary::Ptr fields = make_shared<Dictionary>(); User::Ptr user = static_pointer_cast<User>(GetObject()); fields->Set("alias", user->GetDisplayName()); fields->Set("email_address", user->GetEmail()); fields->Set("pager_address", user->GetPager()); fields->Set("host_timeperiod_object_id", user->GetPeriod()); fields->Set("service_timeperiod_object_id", user->GetPeriod()); 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); return fields; }
Value ContactsTable::EmailAccessor(const Value& row) { User::Ptr user = static_cast<User::Ptr>(row); if (!user) return Empty; return user->GetEmail(); }