Advanced search improvements (restore 2018-04-10 revisions : r5643..r5645)

* Support for empty dates
* UNION OQLs don't crash the search
* Better support for 'not empty' searches

SVN:trunk[5634]
This commit is contained in:
Pierre Goiffon
2018-04-12 08:54:36 +00:00
parent 4450d6af2f
commit e15bad7d3b
4 changed files with 111 additions and 40 deletions

View File

@@ -156,6 +156,8 @@ class CriterionToOQL extends CriterionConversionAbstract
{
case AttributeDefinition::SEARCH_WIDGET_TYPE_NUMERIC:
case AttributeDefinition::SEARCH_WIDGET_TYPE_EXTERNAL_FIELD:
case AttributeDefinition::SEARCH_WIDGET_TYPE_DATE:
case AttributeDefinition::SEARCH_WIDGET_TYPE_DATE_TIME:
return "ISNULL({$sRef})";
}
}
@@ -165,6 +167,18 @@ class CriterionToOQL extends CriterionConversionAbstract
protected static function NotEmptyToOql($sRef, $aCriteria)
{
if (isset($aCriteria['widget']))
{
switch ($aCriteria['widget'])
{
case AttributeDefinition::SEARCH_WIDGET_TYPE_NUMERIC:
case AttributeDefinition::SEARCH_WIDGET_TYPE_EXTERNAL_FIELD:
case AttributeDefinition::SEARCH_WIDGET_TYPE_DATE:
case AttributeDefinition::SEARCH_WIDGET_TYPE_DATE_TIME:
return "ISNULL({$sRef}) = 0";
}
}
return "({$sRef} != '')";
}