diff --git a/lib/datagrid/filters/date_filter.rb b/lib/datagrid/filters/date_filter.rb index 3557214..cf3b7a5 100644 --- a/lib/datagrid/filters/date_filter.rb +++ b/lib/datagrid/filters/date_filter.rb @@ -12,7 +12,7 @@ def default_input_options end def apply(grid_object, scope, value) - if driver.timestamp_column?(scope, name) + if grid_object.driver.timestamp_column?(scope, name) value = Datagrid::Utils.format_date_as_timestamp(value) end super diff --git a/spec/datagrid/filters/date_filter_spec.rb b/spec/datagrid/filters/date_filter_spec.rb index 9941b5f..01f8cdf 100644 --- a/spec/datagrid/filters/date_filter_spec.rb +++ b/spec/datagrid/filters/date_filter_spec.rb @@ -267,4 +267,19 @@ def entry_dated(date) expect(report.assets).to include(e4) expect(report.assets).to_not include(e5) end + + + it "allows filter to be defined before scope" do + class ParentGrid < Datagrid::Base + filter(:created_at, :date, range: true) + end + + class ChildGrid < ParentGrid + scope do + Entry + end + end + + expect(ChildGrid.new.assets).to eq([]) + end end