diff --git a/sources/application/search/searchform.class.inc.php b/sources/application/search/searchform.class.inc.php index 9555af685..adca5e815 100644 --- a/sources/application/search/searchform.class.inc.php +++ b/sources/application/search/searchform.class.inc.php @@ -39,6 +39,7 @@ use IssueLog; use MetaModel; use TrueExpression; use utils; +use ValueSetObjects; use WebPage; class SearchForm @@ -402,7 +403,14 @@ class SearchForm { if ($oAttrDef->IsExternalKey(EXTKEY_ABSOLUTE)) { - $sTargetClass = $oAttrDef->GetTargetClass(); + if ($oAttrDef instanceof AttributeExternalField) + { + $sTargetClass = $oAttrDef->GetFinalAttDef()->GetTargetClass(); + } + else + { + $sTargetClass = $oAttrDef->GetTargetClass(); + } try { $oSearch = new DBObjectSearch($sTargetClass); @@ -419,6 +427,13 @@ class SearchForm { return array('autocomplete' => true, 'count' => $iCount); } + if ($oAttrDef instanceof AttributeExternalField) + { + // Let's propose every existing value + $oValSetDef = new ValueSetObjects('SELECT '.$sTargetClass); + $aAllowedValues = $oValSetDef->GetValues(array()); + return array('values' => $aAllowedValues, 'count' => count($aAllowedValues)); + } } else {