effective_datatables 4.17.0 → 4.17.2

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: 5fa644f48b7deb7204d3d7c6486dcdc90801075f580b721a9ae14ada37b38fae
4
- data.tar.gz: 93915b2419ba86c9783e6e7dc227a7fdd131eafe43e7534c7dd862df66fd6977
3
+ metadata.gz: ad7b621e95979cb0e0e41548ef4993a0efd1ca7f1d262656c4a04e611f99fe3d
4
+ data.tar.gz: 657a4d88aab6e8eff27c86611bff1f35862b69fa30422fe2e29eb3ad0ecb7159
5
5
  SHA512:
6
- metadata.gz: b92b2429d730b12d36d47c0ad01f0ee347d2e985a14c99d8d15c7d524ff80660762b50b84455ba4cf35e80e3ac36425d37311021227995ceec95f26310829e21
7
- data.tar.gz: 6362c1329baebcedccb025f3e1ad7eae2fb1f30475f9013cd5840e515e26bcca16fedf9df6a5f212e11528e83bb2a15a3a8834f53c180e5ca5081e94e4e0af95
6
+ metadata.gz: 033e9e91e76c4682a5dd7bcc02cb68ae4e17558bfe22f665f476ed970b2c75790b9a87e3982b74a254777b9edc6fdfa80e51e88f082c770c76511cbbeecf7800
7
+ data.tar.gz: 5e3c4745edf257887fa236e0d974985a235599884ce912088140290afcdadcd13cd9ed9846d7bf2f758b4de0546b3d51c885b8aeeeeed90295de2f02ce7cfb3f
@@ -69,13 +69,19 @@ module EffectiveDatatablesPrivateHelper
69
69
 
70
70
  case opts[:as]
71
71
  when :belongs_to
72
- opts[:resource].human_name
72
+ foreign_key = opts[:resource].initialized_name.try(:foreign_key).to_s.downcase
73
+ klass_name = opts[:resource].initialized_name.try(:class_name).to_s.downcase
74
+
75
+ if foreign_key.starts_with?(klass_name)
76
+ opts[:resource].human_name
77
+ else
78
+ datatable.collection_class.human_attribute_name(name)
79
+ end
73
80
  when :has_many
74
81
  opts[:resource].human_plural_name
75
82
  else
76
83
  datatable.collection_class.human_attribute_name(name)
77
84
  end
78
-
79
85
  end
80
86
 
81
87
  def datatable_search_tag(datatable, name, opts)
@@ -178,6 +178,8 @@ module Effective
178
178
  search[:collection] = search[:collection].map { |obj| [obj.to_s, obj.id] }
179
179
  elsif search[:collection].kind_of?(Array) && search[:collection].first.kind_of?(ActiveRecord::Base)
180
180
  search[:collection] = search[:collection].map { |obj| [obj.to_s, obj.id] }
181
+ elsif search[:collection].kind_of?(Array)
182
+ search[:collection] = search[:collection]
181
183
  end
182
184
 
183
185
  search[:as] ||= :select if search.key?(:collection)
@@ -189,6 +191,8 @@ module Effective
189
191
 
190
192
  if array_collection? && opts[:resource].present?
191
193
  search.reverse_merge!(search_resource.search_form_field(name, collection.first[opts[:index]]))
194
+ elsif search[:as] == :select && search[:collection].kind_of?(Array)
195
+ # Nothing to do
192
196
  elsif search[:as] != :string
193
197
  search.reverse_merge!(search_resource.search_form_field(name, opts[:as]))
194
198
  end
@@ -1,3 +1,3 @@
1
1
  module EffectiveDatatables
2
- VERSION = '4.17.0'.freeze
2
+ VERSION = '4.17.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_datatables
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.17.0
4
+ version: 4.17.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-20 00:00:00.000000000 Z
11
+ date: 2023-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails