Skip to content

Commit bd042d1

Browse files
K0niaspaveljanda
authored andcommitted
Fix range filter zero(falsy) value
1 parent c4e1a11 commit bd042d1

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

src/NetteDatabaseDataSource.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -296,11 +296,11 @@ protected function applyFilterRange(FilterRange $filter): void
296296
$valueFrom = $conditions[$filter->getColumn()]['from'];
297297
$valueTo = $conditions[$filter->getColumn()]['to'];
298298

299-
if ($valueFrom) {
299+
if ($valueFrom !== null && $valueFrom !== '') {
300300
$this->applyWhere($filter->getColumn(), $valueFrom, '>=');
301301
}
302302

303-
if ($valueTo) {
303+
if ($valueTo !== null && $valueTo !== '') {
304304
$this->applyWhere($filter->getColumn(), $valueTo, '<=');
305305
}
306306
}

tests/Cases/NetteDatabaseDataSourceTest.phpt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,12 +189,16 @@ final class NetteDatabaseDataSourceTest extends TestCase
189189
$filter5 = new FilterDate($this->grid, 'date', 'Date', 'date');
190190
$filter5->setValue('12. 12. 2012');
191191

192+
$filter6 = new FilterRange($this->grid, 'range', 'Range', 'id', 'To');
193+
$filter6->setValue(['from' => '', 'to' => 0]);
194+
192195
$s->filter([
193196
$filter1,
194197
$filter2,
195198
$filter3,
196199
$filter4,
197200
$filter5,
201+
$filter6
198202
]);
199203

200204
$q = $s->getQuery();
@@ -214,7 +218,9 @@ final class NetteDatabaseDataSourceTest extends TestCase
214218
AND id >= ?
215219
AND DATE(created) >= ?
216220
AND DATE(created) <= ?
217-
AND DATE(date) = ?';
221+
AND DATE(date) = ?
222+
AND id <= ?
223+
';
218224

219225
Assert::same(trim(preg_replace('/\s+/', ' ', $expected_query)), $q[0]);
220226

@@ -228,6 +234,7 @@ final class NetteDatabaseDataSourceTest extends TestCase
228234
'2003-02-01',
229235
'2149-12-03',
230236
'2012-12-12',
237+
0,
231238
];
232239

233240
Assert::same($expectedParams, $q[1]);

0 commit comments

Comments
 (0)