diff --git a/sources/application/search/criterionconversion/criteriontosearchform.class.inc.php b/sources/application/search/criterionconversion/criteriontosearchform.class.inc.php index ce196da40..eb29c5a97 100644 --- a/sources/application/search/criterionconversion/criteriontosearchform.class.inc.php +++ b/sources/application/search/criterionconversion/criteriontosearchform.class.inc.php @@ -527,16 +527,18 @@ class CriterionToSearchForm extends CriterionConversionAbstract if ($sWidget == AttributeDefinition::SEARCH_WIDGET_TYPE_DATE) { $sDelta = '1 day'; + $sAttributeClass = AttributeDate::class; } else { $sDelta = '1 second'; + $sAttributeClass = AttributeDateTime::class; } - $oFormat = AttributeDate::GetFormat(); + $oFormat = $sAttributeClass::GetFormat(); $sFirstDate = $aCriterion['values'][0]['value']; $oDate = new DateTime($sFirstDate); $oDate->add(DateInterval::createFromDateString($sDelta)); - $sFirstDateValue = $oDate->format(AttributeDate::GetSQLFormat()); + $sFirstDateValue = $oDate->format($sAttributeClass::GetSQLFormat()); try { $sFirstDateLabel = $oFormat->format($oDate); @@ -550,16 +552,18 @@ class CriterionToSearchForm extends CriterionConversionAbstract if ($sWidget == AttributeDefinition::SEARCH_WIDGET_TYPE_DATE) { $sDelta = '1 day'; + $sAttributeClass = AttributeDate::class; } else { $sDelta = '1 second'; + $sAttributeClass = AttributeDateTime::class; } - $oFormat = AttributeDate::GetFormat(); + $oFormat = $sAttributeClass::GetFormat(); $sFirstDate = $aCriterion['values'][0]['value']; $oDate = new DateTime($sFirstDate); $oDate->sub(DateInterval::createFromDateString($sDelta)); - $sFirstDateValue = $oDate->format(AttributeDate::GetSQLFormat()); + $sFirstDateValue = $oDate->format($sAttributeClass::GetSQLFormat()); try { $sFirstDateLabel = $oFormat->format($oDate); diff --git a/test/application/search/CriterionConversionTest.php b/test/application/search/CriterionConversionTest.php index 4d5f09db3..00afff596 100644 --- a/test/application/search/CriterionConversionTest.php +++ b/test/application/search/CriterionConversionTest.php @@ -438,8 +438,8 @@ class CriterionConversionTest extends ItopDataTestCase 'ExpectedCriterion' => array(array('widget' => 'hierarchical_key')), ), 'IP range' => array( - 'OQL' => "SELECT DatacenterDevice AS dev WHERE INET_ATON(dev.managementip_name) > INET_ATON('10.22.32.224') AND INET_ATON(dev.managementip_name) < INET_ATON('10.22.32.255')", - 'ExpectedOQL' => "SELECT `dev` FROM DatacenterDevice AS `dev` WHERE ((INET_ATON(`dev`.`managementip_name`) < INET_ATON('10.22.32.255')) AND (INET_ATON(`dev`.`managementip_name`) > INET_ATON('10.22.32.224')))", + 'OQL' => "SELECT DatacenterDevice AS dev WHERE INET_ATON(dev.managementip) > INET_ATON('10.22.32.224') AND INET_ATON(dev.managementip) < INET_ATON('10.22.32.255')", + 'ExpectedOQL' => "SELECT `dev` FROM DatacenterDevice AS `dev` WHERE ((INET_ATON(`dev`.`managementip`) < INET_ATON('10.22.32.255')) AND (INET_ATON(`dev`.`managementip`) > INET_ATON('10.22.32.224')))", 'ExpectedCriterion' => array(array('widget' => 'raw')), ),