mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-26 23:24:09 +02:00
parent
09cc7632e7
commit
f2e413ba4a
@ -209,7 +209,7 @@ void HostDbObject::OnConfigUpdate(void)
|
|||||||
OnQuery(query_del2);
|
OnQuery(query_del2);
|
||||||
|
|
||||||
BOOST_FOREACH(const Host::Ptr& parent, host->GetParentHosts()) {
|
BOOST_FOREACH(const Host::Ptr& parent, host->GetParentHosts()) {
|
||||||
Log(LogDebug, "ido", "host parents: " + parent->GetName());
|
Log(LogDebug, "db_ido", "host parents: " + parent->GetName());
|
||||||
|
|
||||||
/* parents: host_id, parent_host_object_id */
|
/* parents: host_id, parent_host_object_id */
|
||||||
Dictionary::Ptr fields1 = boost::make_shared<Dictionary>();
|
Dictionary::Ptr fields1 = boost::make_shared<Dictionary>();
|
||||||
@ -236,6 +236,50 @@ void HostDbObject::OnConfigUpdate(void)
|
|||||||
OnQuery(query2);
|
OnQuery(query2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* host contacts, contactgroups */
|
||||||
|
Service::Ptr service = host->GetCheckService();
|
||||||
|
|
||||||
|
if (service) {
|
||||||
|
Array::Ptr contacts = CompatUtility::GetServiceNotificationUsers(service);
|
||||||
|
Log(LogDebug, "db_ido", "host contacts: " + host->GetName() + " length: " + Convert::ToString(contacts->GetLength()));
|
||||||
|
|
||||||
|
{
|
||||||
|
ObjectLock olock(contacts);
|
||||||
|
BOOST_FOREACH(const User::Ptr& user, contacts) {
|
||||||
|
Log(LogDebug, "db_ido", "host contacts: " + user->GetName());
|
||||||
|
|
||||||
|
Dictionary::Ptr fields_contact = boost::make_shared<Dictionary>();
|
||||||
|
fields_contact->Set("host_id", DbValue::FromObjectInsertID(host));
|
||||||
|
fields_contact->Set("contact_object_id", user);
|
||||||
|
|
||||||
|
DbQuery query_contact;
|
||||||
|
query_contact.Table = GetType()->GetTable() + "_contacts";
|
||||||
|
query_contact.Type = DbQueryInsert;
|
||||||
|
query_contact.Fields = fields_contact;
|
||||||
|
OnQuery(query_contact);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Array::Ptr contactgroups = CompatUtility::GetServiceNotificationUserGroups(service);
|
||||||
|
Log(LogDebug, "db_ido", "host contactgroups: " + host->GetName() + " length: " + Convert::ToString(contactgroups->GetLength()));
|
||||||
|
{
|
||||||
|
ObjectLock olock(contactgroups);
|
||||||
|
BOOST_FOREACH(const UserGroup::Ptr& usergroup, contactgroups) {
|
||||||
|
Log(LogDebug, "db_ido", "host contactgroups: " + usergroup->GetName());
|
||||||
|
|
||||||
|
Dictionary::Ptr fields_contact = boost::make_shared<Dictionary>();
|
||||||
|
fields_contact->Set("host_id", DbValue::FromObjectInsertID(host));
|
||||||
|
fields_contact->Set("contactgroup_object_id", usergroup);
|
||||||
|
|
||||||
|
DbQuery query_contact;
|
||||||
|
query_contact.Table = GetType()->GetTable() + "_contactgroups";
|
||||||
|
query_contact.Type = DbQueryInsert;
|
||||||
|
query_contact.Fields = fields_contact;
|
||||||
|
OnQuery(query_contact);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* custom variables */
|
/* custom variables */
|
||||||
Log(LogDebug, "ido", "host customvars for '" + host->GetName() + "'");
|
Log(LogDebug, "ido", "host customvars for '" + host->GetName() + "'");
|
||||||
|
|
||||||
@ -258,7 +302,7 @@ void HostDbObject::OnConfigUpdate(void)
|
|||||||
String key;
|
String key;
|
||||||
Value value;
|
Value value;
|
||||||
BOOST_FOREACH(boost::tie(key, value), customvars) {
|
BOOST_FOREACH(boost::tie(key, value), customvars) {
|
||||||
Log(LogDebug, "ido", "host customvar key: '" + key + "' value: '" + Convert::ToString(value) + "'");
|
Log(LogDebug, "db_ido", "host customvar key: '" + key + "' value: '" + Convert::ToString(value) + "'");
|
||||||
|
|
||||||
Dictionary::Ptr fields3 = boost::make_shared<Dictionary>();
|
Dictionary::Ptr fields3 = boost::make_shared<Dictionary>();
|
||||||
fields3->Set("varname", Convert::ToString(key));
|
fields3->Set("varname", Convert::ToString(key));
|
||||||
|
@ -236,6 +236,46 @@ void ServiceDbObject::OnConfigUpdate(void)
|
|||||||
OnQuery(query1);
|
OnQuery(query1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* service contacts, contactgroups */
|
||||||
|
Array::Ptr contacts = CompatUtility::GetServiceNotificationUsers(service);
|
||||||
|
Log(LogDebug, "db_ido", "service contacts: " + service->GetName() + " length: " + Convert::ToString(contacts->GetLength()));
|
||||||
|
|
||||||
|
{
|
||||||
|
ObjectLock olock(contacts);
|
||||||
|
BOOST_FOREACH(const User::Ptr& user, contacts) {
|
||||||
|
Log(LogDebug, "db_ido", "service contacts: " + user->GetName());
|
||||||
|
|
||||||
|
Dictionary::Ptr fields_contact = boost::make_shared<Dictionary>();
|
||||||
|
fields_contact->Set("service_id", DbValue::FromObjectInsertID(service));
|
||||||
|
fields_contact->Set("contact_object_id", user);
|
||||||
|
|
||||||
|
DbQuery query_contact;
|
||||||
|
query_contact.Table = GetType()->GetTable() + "_contacts";
|
||||||
|
query_contact.Type = DbQueryInsert;
|
||||||
|
query_contact.Fields = fields_contact;
|
||||||
|
OnQuery(query_contact);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Array::Ptr contactgroups = CompatUtility::GetServiceNotificationUserGroups(service);
|
||||||
|
Log(LogDebug, "db_ido", "service contactgroups: " + service->GetName() + " length: " + Convert::ToString(contactgroups->GetLength()));
|
||||||
|
{
|
||||||
|
ObjectLock olock(contactgroups);
|
||||||
|
BOOST_FOREACH(const UserGroup::Ptr& usergroup, contactgroups) {
|
||||||
|
Log(LogDebug, "db_ido", "service contactgroups: " + usergroup->GetName());
|
||||||
|
|
||||||
|
Dictionary::Ptr fields_contact = boost::make_shared<Dictionary>();
|
||||||
|
fields_contact->Set("service_id", DbValue::FromObjectInsertID(service));
|
||||||
|
fields_contact->Set("contactgroup_object_id", usergroup);
|
||||||
|
|
||||||
|
DbQuery query_contact;
|
||||||
|
query_contact.Table = GetType()->GetTable() + "_contactgroups";
|
||||||
|
query_contact.Type = DbQueryInsert;
|
||||||
|
query_contact.Fields = fields_contact;
|
||||||
|
OnQuery(query_contact);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* custom variables */
|
/* custom variables */
|
||||||
Log(LogDebug, "db_ido", "service customvars for '" + service->GetName() + "'");
|
Log(LogDebug, "db_ido", "service customvars for '" + service->GetName() + "'");
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user