effective_datatables 4.17.0 → 4.17.2

Sign up to get free protection for your applications and to get access to all the features.
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