From 04154fa40ca10fae296c8db5e5e0859b85bc58e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eric=20Espi=C3=A9?= Date: Thu, 29 Mar 2018 09:21:43 +0000 Subject: [PATCH] Advanced Search: add target_class for the external keys SVN:b1162[5570] --- .../search/searchform.class.inc.php | 24 +++++++++---------- test/application/search/SearchFormTest.php | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/sources/application/search/searchform.class.inc.php b/sources/application/search/searchform.class.inc.php index 2cf17be9a..140011dac 100644 --- a/sources/application/search/searchform.class.inc.php +++ b/sources/application/search/searchform.class.inc.php @@ -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); diff --git a/test/application/search/SearchFormTest.php b/test/application/search/SearchFormTest.php index 4a70c87d5..abeb95d02 100644 --- a/test/application/search/SearchFormTest.php +++ b/test/application/search/SearchFormTest.php @@ -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'",