Пример #1
0
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;
}
Пример #2
0
Value ContactsTable::PagerAccessor(const Value& row)
{
    User::Ptr user = static_cast<User::Ptr>(row);

    if (!user)
        return Empty;

    return user->GetPager();
}