From: Gunnar Beutner Date: Fri, 28 Mar 2014 18:45:07 +0000 (+0100) Subject: Make the real object name available for use in templates. X-Git-Tag: v0.0.9~24^2~15 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8a1bbc0ace40fd4b8cbbe5bd2971a73d380579c7;p=icinga2 Make the real object name available for use in templates. Refs #5882 --- diff --git a/lib/config/configitembuilder.cpp b/lib/config/configitembuilder.cpp index 56383b7ef..13d9b7c91 100644 --- a/lib/config/configitembuilder.cpp +++ b/lib/config/configitembuilder.cpp @@ -89,9 +89,13 @@ ConfigItem::Ptr ConfigItemBuilder::Compile(void) Array::Ptr templateArray = make_shared(); templateArray->Add(m_Name); exprs->Add(make_shared(&AExpression::OpSetPlus, "templates", make_shared(&AExpression::OpLiteral, templateArray, m_DebugInfo), m_DebugInfo)); - exprs->Add(make_shared(&AExpression::OpSet, "type", make_shared(&AExpression::OpLiteral, m_Type, m_DebugInfo), m_DebugInfo)); + + if (!m_Abstract) { + exprs->Add(make_shared(&AExpression::OpSet, "type", make_shared(&AExpression::OpLiteral, m_Type, m_DebugInfo), m_DebugInfo)); + exprs->Add(make_shared(&AExpression::OpSet, "name", make_shared(&AExpression::OpLiteral, m_Name, m_DebugInfo), m_DebugInfo)); + } + exprs->Add(make_shared(&AExpression::OpDict, m_Expressions, true, m_DebugInfo)); - exprs->Add(make_shared(&AExpression::OpSet, "name", make_shared(&AExpression::OpLiteral, m_Name, m_DebugInfo), m_DebugInfo)); AExpression::Ptr exprl = make_shared(&AExpression::OpDict, exprs, true, m_DebugInfo);