Skip to content
Snippets Groups Projects
Unverified Commit b7522f10 authored by Peter Rotich's avatar Peter Rotich Committed by GitHub
Browse files

Merge pull request #5166 from protich/issue/5155

Add Time boundaries to Between date range
parents f3e7bbe5 31c97cfd
No related branches found
No related tags found
No related merge requests found
...@@ -2415,15 +2415,18 @@ class DatetimeField extends FormField { ...@@ -2415,15 +2415,18 @@ class DatetimeField extends FormField {
case 'before': case 'before':
return new Q(array("{$name}__lt" => $value)); return new Q(array("{$name}__lt" => $value));
case 'between': case 'between':
foreach (array('left', 'right') as $side) { $left = Format::parseDateTime($value['left']);
$value[$side] = is_int($value[$side]) $right = Format::parseDateTime($value['right']);
? DateTime::createFromFormat('U', !$config['gmt'] // TODO: allow time selection for between
? Misc::gmtime($value[$side]) : $value[$side]) ?: $value[$side] $left = $left->setTime(00, 00, 00);
: $value[$side]; $right = $right->setTime(23, 59, 59);
} // Convert time to db timezone
$dbtz = new DateTimeZone($cfg->getDbTimezone());
$left->setTimezone($dbtz);
$right->setTimezone($dbtz);
return new Q(array( return new Q(array(
"{$name}__gte" => $value['left'], "{$name}__gte" => $left->format('Y-m-d H:i:s'),
"{$name}__lte" => $value['right'], "{$name}__lte" => $right->format('Y-m-d H:i:s'),
)); ));
case 'ndaysago': case 'ndaysago':
$int = $intervals[$value['int'] ?: 'd'] ?: 'DAY'; $int = $intervals[$value['int'] ?: 'd'] ?: 'DAY';
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment