diff --git a/sources/application/search/searchform.class.inc.php b/sources/application/search/searchform.class.inc.php index 538c6bcc5..2c0700def 100644 --- a/sources/application/search/searchform.class.inc.php +++ b/sources/application/search/searchform.class.inc.php @@ -329,7 +329,7 @@ class SearchForm */ protected function PopulateFieldList($sClass, $sAlias, &$aZList, &$aOthers) { - $aDBIndexes = MetaModel::DBGetIndexes($sClass); + $aDBIndexes = self::DBGetIndexes($sClass); $aIndexes = array(); foreach($aDBIndexes as $aIndexGroup) { @@ -381,6 +381,23 @@ class SearchForm }); } + /** + * Search indexes for class and parents + * @param $sClass + * + * @return array + * @throws \CoreException + */ + protected static function DBGetIndexes($sClass) + { + $aDBIndexes = MetaModel::DBGetIndexes($sClass); + while ($sClass = MetaModel::GetParentClass($sClass)) + { + $aDBIndexes = array_merge($aDBIndexes, MetaModel::DBGetIndexes($sClass)); + } + return $aDBIndexes; + } + protected function IsSubAttribute($oAttDef) { return (($oAttDef instanceof AttributeFriendlyName) || ($oAttDef instanceof AttributeExternalField) || ($oAttDef instanceof AttributeSubItem));