N°1724 - Fix external key search error when an UNION is used as a filter in the datamodel

This commit is contained in:
Eric
2018-11-05 17:43:50 +01:00
parent 95fce0eefb
commit 216d965d76
3 changed files with 7 additions and 5 deletions

View File

@@ -604,7 +604,9 @@ class DBUnionSearch extends DBSearch
*/
public function GetCriteria()
{
return new TrueExpression();
// We're at the limit here
$oSearch = reset($this->aSearches);
return $oSearch->GetCriteria();
}
protected function IsDataFiltered()

View File

@@ -91,11 +91,11 @@ try
$oObj = $oWizardHelper->GetTargetObject();
if (array_key_exists('query_params', $aExtraParams))
{
$aExtraParams['query_params']['this'] = $oObj;
$aExtraParams['query_params']['this->object()'] = $oObj;
}
else
{
$aExtraParams['query_params'] = array('this' => $oObj);
$aExtraParams['query_params'] = array('this->object()' => $oObj);
}
// // Current extkey value, so we can display event if it is not available anymore (eg. archived).

View File

@@ -202,7 +202,7 @@ class SearchForm
}
$oBaseSearch = $oSearch->DeepClone();
if (method_exists($oSearch, 'GetCriteria'))
if ($oSearch instanceof DBObjectSearch)
{
$oBaseSearch->ResetCondition();
}
@@ -487,7 +487,7 @@ class SearchForm
$bIsEmptyExpression = true;
$aArgs = MetaModel::PrepareQueryArguments($aArgs, $oSearch->GetInternalParams());
if (method_exists($oSearch, 'GetCriteria'))
if ($oSearch instanceof DBObjectSearch)
{
$oExpression = $oSearch->GetCriteria();