mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
N°2321 - Fix SQL request generation for inherited magic attributes
This commit is contained in:
@@ -918,6 +918,20 @@ abstract class MetaModel
|
||||
return self::$m_aAttribOrigins[$sClass][$sAttCode];
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @param string $sClass
|
||||
* @param string $sAttCode
|
||||
*
|
||||
* @return mixed
|
||||
* @throws \CoreException
|
||||
*/
|
||||
final static public function GetFilterCodeOrigin($sClass, $sAttCode)
|
||||
{
|
||||
self::_check_subclass($sClass);
|
||||
return self::$m_aFilterOrigins[$sClass][$sAttCode];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sClass
|
||||
* @param string $sAttCode
|
||||
|
||||
@@ -64,11 +64,20 @@ class OQLActualClassTreeResolver
|
||||
$aTranslateFields = array();
|
||||
foreach ($aExpectedAttributes as $sAttCode => $oExpression)
|
||||
{
|
||||
if (!MetaModel::IsValidAttCode($sClass, $sAttCode))
|
||||
// Attributes can be stored in attributes list or for magic ones into filter codes list.
|
||||
$sOriginClass = null;
|
||||
if (MetaModel::IsValidFilterCode($sClass, $sAttCode))
|
||||
{
|
||||
$sOriginClass = MetaModel::GetFilterCodeOrigin($sClass, $sAttCode);
|
||||
}
|
||||
else if (MetaModel::IsValidAttCode($sClass, $sAttCode))
|
||||
{
|
||||
$sOriginClass = MetaModel::GetAttributeOrigin($sClass, $sAttCode);
|
||||
}
|
||||
else
|
||||
{
|
||||
continue;
|
||||
}
|
||||
$sOriginClass = MetaModel::GetAttributeOrigin($sClass, $sAttCode);
|
||||
if (is_null($aClassAndAncestorsNodes[$sOriginClass]))
|
||||
{
|
||||
if ($sOriginClass == $sClass)
|
||||
@@ -198,4 +207,4 @@ class OQLActualClassTreeResolver
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user