Advanced Search: add target_class for the external keys

SVN:b1162[5570]
This commit is contained in:
Eric Espié
2018-03-29 09:21:43 +00:00
parent 6e9fab849c
commit 04154fa40c
2 changed files with 13 additions and 13 deletions

View File

@@ -323,7 +323,7 @@ class SearchForm
$oSet = new DBObjectSet($oSearch);
if ($oSet->Count() > MetaModel::GetConfig()->Get('max_combo_length'))
{
return array('autocomplete' => true, 'target_class' => $sTargetClass);
return array('autocomplete' => true);
}
}
else
@@ -333,17 +333,7 @@ class SearchForm
$oSet = $oAttrDef->GetAllowedValuesAsObjectSet();
if ($oSet->Count() > MetaModel::GetConfig()->Get('max_combo_length'))
{
if (method_exists($oAttrDef, 'GetTargetClass'))
{
$sTargetClass = $oAttrDef->GetTargetClass();
}
else
{
$sTargetClass = $oAttrDef->GetHostClass();
}
return array('autocomplete' => true, 'target_class' => $sTargetClass);
return array('autocomplete' => true);
}
}
}
@@ -429,10 +419,20 @@ class SearchForm
{
$sLabel = $oAttDef->GetLabel();
if (method_exists($oAttDef, 'GetTargetClass'))
{
$sTargetClass = $oAttDef->GetTargetClass();
}
else
{
$sTargetClass = $oAttDef->GetHostClass();
}
$aField = array();
$aField['code'] = $sFilterCode;
$aField['class'] = $sClass;
$aField['class_alias'] = $sClassAlias;
$aField['target_class'] = $sTargetClass;
$aField['label'] = $sLabel;
$aField['widget'] = $oAttDef->GetSearchType();
$aField['allowed_values'] = self::GetFieldAllowedValues($oAttDef);

View File

@@ -58,7 +58,7 @@ class SearchFormTest extends ItopDataTestCase
{
return array(
array("SELECT Contact", 8, 'zlist'),
array("SELECT Contact AS C WHERE C.status = 'active'", 5, 'others'),
array("SELECT Contact AS C WHERE C.status = 'active'", 2, 'others'),
array("SELECT Person", 12, 'zlist'),
array(
"SELECT Person AS p JOIN UserRequest AS u ON u.agent_id = p.id WHERE u.status != 'closed'",