Bug fix in HierarchicalKey: host class can be different from target class in case of derived classes.

SVN:trunk[1494]
This commit is contained in:
Denis Flaven
2011-08-23 07:24:55 +00:00
parent 795296e6e3
commit a04e7ea375

View File

@@ -2650,7 +2650,7 @@ class AttributeHierarchicalKey extends AttributeExternalKey
if ($iRootId > 0) // ignore objects that do no exist in the database...
{
$oValSetDef = $this->GetValuesDef();
$sClass = $this->GetHostClass(); // host class == target class for HK
$sClass = $this->m_sTargetClass;
$oFilter = DBObjectSearch::FromOQL("SELECT $sClass AS node JOIN $sClass AS root ON node.".$this->GetCode()." NOT BELOW root.id WHERE root.id = $iRootId");
$oValSetDef->AddCondition($oFilter);
}
@@ -2672,7 +2672,7 @@ class AttributeHierarchicalKey extends AttributeExternalKey
if ($iRootId > 0) // ignore objects that do no exist in the database...
{
$aValuesSetDef = $this->GetValuesDef();
$sClass = $this->GetHostClass(); // host class == target class for HK
$sClass = $this->m_sTargetClass;
$oFilter = DBObjectSearch::FromOQL("SELECT $sClass AS node JOIN $sClass AS root ON node.".$this->GetCode()." NOT BELOW root.id WHERE root.id = $iRootId");
$oValSetDef->AddCondition($oFilter);
}