I believe #4504 breaks filtering for date fields.
This is a resulting query for a range 2016-05-02 - 2016-05-02:
SELECT 1 AS count_column FROM "dates" WHERE ("dates"."starts_on" >= '2016-05-01 23:00:00.000000' AND "dates"."starts_on" < '2016-05-03') LIMIT 30 OFFSET 0
It tries to use date time ranges for date fields resulting in timezone conversion.
Then 2016-05-01 23:00:00.000000 gets downcasted to 2016-05-01 and the results are invalid.
My temporary workaround was to monkeypatch these two methods:
ActiveAdmin::Inputs::Filters::DateRangeInput.class_eval do
def gt_input_name
case column&.type
when :date
"#{method}_gteq"
else
"#{method}_gteq_date"
end
end
def lt_input_name
case column&.type
when :date
"#{method}_lteq"
else
"#{method}_lteq_date"
end
end
end
Let me know if you need more details
I believe #4504 breaks filtering for
datefields.This is a resulting query for a range
2016-05-02-2016-05-02:It tries to use date time ranges for date fields resulting in timezone conversion.
Then
2016-05-01 23:00:00.000000gets downcasted to2016-05-01and the results are invalid.My temporary workaround was to monkeypatch these two methods:
Let me know if you need more details