forest_admin_datasource_active_record 1.8.3 → 1.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6a978677d90f7bc634913d5ddec4a9172ca1d54b42a324cc3ef8992c41045aaf
4
- data.tar.gz: 43a2f833914b260c474b23761342b222e4085c9cec6c6e86b06e4b9246177947
3
+ metadata.gz: 9fc165317ee4c3d869dcc6a1a8cfe97dd8c90f0c39bbd8bb08195b468a6747c6
4
+ data.tar.gz: e081db6dc8888d1ce669af63e24a04cb0a1c2277a3deeff9749befbe5380ce77
5
5
  SHA512:
6
- metadata.gz: c6c9d60234d9f9a6be4db6cac1aa2362eb43af3737a63c170408c58021193b84cec7708e835c564187c05cf1972f188443416fe7f61abb53ef17a7948d9f9f3d
7
- data.tar.gz: ddd69060a740ebb15f27acd937260126e569e655ef728980d064d9c6178a081ceb5152a3874cf6af1ee011af80e1787937c7bfb5aed015dae153e09b4d354c79
6
+ metadata.gz: df97f30f51078840ee7342de7a57d3e83fb5bda12f706a1fb09fa615df1ae8af191e6360ed5b4e7bc9166301eeeeaf57a77ead2bcff586f92c06e0745561c4e5
7
+ data.tar.gz: 9ca8719a1f186658dfbafec80e3aaece44fb5e7f092180097d6458304e5e49f887d1bc760f31119134b863e276a72e7c5b7571e63fbeb0cb2ae59bb95e79edf8
@@ -59,7 +59,7 @@ module ForestAdminDatasourceActiveRecord
59
59
  end
60
60
 
61
61
  def operators_for_column_type(type)
62
- result = [Operators::PRESENT, Operators::MISSING]
62
+ result = [Operators::PRESENT, Operators::BLANK, Operators::MISSING]
63
63
  equality = [Operators::EQUAL, Operators::NOT_EQUAL, Operators::IN, Operators::NOT_IN]
64
64
 
65
65
  if type.is_a? String
@@ -71,7 +71,23 @@ module ForestAdminDatasourceActiveRecord
71
71
 
72
72
  case condition_tree.operator
73
73
  when Operators::PRESENT
74
- @query = query_aggregator(aggregator, @collection.model.where.not({ field => nil }))
74
+ field_schema = ForestAdminDatasourceToolkit::Utils::Collection.get_field_schema(@collection,
75
+ condition_tree.field)
76
+ @query = if field_schema.column_type == 'String'
77
+ query_aggregator(aggregator, @collection.model.where.not({ field => [nil, ''] }))
78
+ else
79
+ query_aggregator(aggregator, @collection.model.where.not({ field => nil }))
80
+ end
81
+ when Operators::BLANK
82
+ field_schema = ForestAdminDatasourceToolkit::Utils::Collection.get_field_schema(@collection,
83
+ condition_tree.field)
84
+ @query = if field_schema.column_type == 'String'
85
+ query_aggregator(aggregator, @collection.model.where({ field => [nil, ''] }))
86
+ else
87
+ query_aggregator(aggregator, @collection.model.where({ field => nil }))
88
+ end
89
+ when Operators::MISSING
90
+ @query = query_aggregator(aggregator, @collection.model.where({ field => nil }))
75
91
  when Operators::EQUAL, Operators::IN
76
92
  @query = query_aggregator(aggregator, @collection.model.where({ field => value }))
77
93
  when Operators::NOT_EQUAL, Operators::NOT_IN
@@ -1,3 +1,3 @@
1
1
  module ForestAdminDatasourceActiveRecord
2
- VERSION = "1.8.3"
2
+ VERSION = "1.8.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: forest_admin_datasource_active_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.3
4
+ version: 1.8.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthieu
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2025-10-14 00:00:00.000000000 Z
12
+ date: 2025-10-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord