avo 2.37.2 → 2.39.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of avo might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f1b38ca1d96f4df240bf375e0555f2672c330d94503209aded0e9b518a2ad5ca
4
- data.tar.gz: b12535f62397f583916a856b826eca7d7f25cf9ba35e9d58d5de7babc1cdc8a0
3
+ metadata.gz: babf1d23e5b710f7a868e3cf92a6c93cf38dab521ce56fcac29da0e81cf3fb4a
4
+ data.tar.gz: 0b09066f69c8d9bc60e08ef539e1bd3c447f1b982e704e282d1f40ae7b753b1c
5
5
  SHA512:
6
- metadata.gz: 04ccefa10303cb67373831fb18b4fb409639146125c3868e19c3c86dcefa65bad3bd9a18a2f94813dbda633f752181761b52a61238608e0d996ac94c12a2b928
7
- data.tar.gz: b878ad1ad56c0de5010f14423c8dec4bd025d2063c2fd94eaa949ff07387dda50cdfa011151b03c08891085aec0b3de4434e7a3c67c1b70bbe26c2433c486a9e
6
+ metadata.gz: 8195af9c52ef84949af28140a1e490814bc4b90c093cc1a472fc81f15177fd029ef77530c31a19256ad43eaf423d8e6a8b81368410ed54367deb63969c2ff6f7
7
+ data.tar.gz: 534e22265c6b513c97df4e9166749b1f60800b84354ca43f667120fe26505f3b51b84d4ff4badeebe546cfe7f2280cb526658f37370d2888a17ae2803abee8d0
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- avo (2.37.2)
4
+ avo (2.39.0)
5
5
  actionview (>= 6.0)
6
6
  active_link_to
7
7
  activerecord (>= 6.0)
@@ -256,7 +256,7 @@ GEM
256
256
  mini_magick (4.12.0)
257
257
  mini_mime (1.1.2)
258
258
  mini_portile2 (2.8.2)
259
- minitest (5.18.1)
259
+ minitest (5.19.0)
260
260
  msgpack (1.5.6)
261
261
  multi_xml (0.6.0)
262
262
  net-imap (0.3.6)
@@ -328,9 +328,9 @@ GEM
328
328
  thor (~> 1.0)
329
329
  rainbow (3.1.1)
330
330
  rake (13.0.6)
331
- ransack (3.0.1)
332
- activerecord (>= 6.0.4)
333
- activesupport (>= 6.0.4)
331
+ ransack (4.0.0)
332
+ activerecord (>= 6.1.5)
333
+ activesupport (>= 6.1.5)
334
334
  i18n
335
335
  rb-fsevent (0.11.2)
336
336
  rb-inotify (0.10.1)
@@ -446,7 +446,7 @@ GEM
446
446
  websocket-extensions (0.1.5)
447
447
  xpath (3.2.0)
448
448
  nokogiri (~> 1.8)
449
- zeitwerk (2.6.8)
449
+ zeitwerk (2.6.11)
450
450
 
451
451
  PLATFORMS
452
452
  ruby
@@ -524,4 +524,4 @@ DEPENDENCIES
524
524
  zeitwerk
525
525
 
526
526
  BUNDLED WITH
527
- 2.3.24
527
+ 2.4.12
@@ -151,9 +151,11 @@ class Avo::ResourceComponent < Avo::BaseComponent
151
151
 
152
152
  inverse_of = current_reflection.inverse_of
153
153
 
154
- if inverse_of.blank?
155
- # Please configure the 'inverse_of' option for the ':users' association on the 'Project' model.
156
- raise "Please configure the 'inverse_of' option for the '#{current_reflection.macro} :#{current_reflection.name}' association on the '#{current_reflection.active_record.name}' model."
154
+ if inverse_of.blank? && Rails.env.development?
155
+ puts "WARNING! Avo uses the 'inverse_of' option to determine the inverse association and figure out if the association permit or not detaching."
156
+ # Ex: Please configure the 'inverse_of' option for the ':users' association on the 'Project' model.
157
+ puts "Please configure the 'inverse_of' option for the '#{current_reflection.macro} :#{current_reflection.name}' association on the '#{current_reflection.active_record.name}' model."
158
+ puts "Otherwise the detach button will be visible by default.\n\n"
157
159
  end
158
160
 
159
161
  inverse_of
@@ -90,7 +90,7 @@ module Avo
90
90
  path = instance_eval(&path)
91
91
  end
92
92
 
93
- redirect_to path
93
+ redirect_to path, **{allow_other_host: response[:allow_other_host], status: response[:status]}.compact
94
94
  elsif response[:type] == :reload
95
95
  redirect_back fallback_location: resources_path(resource: @resource)
96
96
  end
@@ -14,6 +14,7 @@ module Avo
14
14
  class_attribute :standalone, default: false
15
15
  class_attribute :visible
16
16
  class_attribute :may_download_file, default: false
17
+ class_attribute :turbo
17
18
 
18
19
  attr_accessor :response
19
20
  attr_accessor :model
@@ -35,9 +36,9 @@ module Avo
35
36
  def form_data_attributes
36
37
  # We can't respond with a file download from Turbo se we disable it on the form
37
38
  if may_download_file
38
- {turbo: false, remote: false, action_target: :form}
39
+ {turbo: turbo || false, remote: false, action_target: :form}
39
40
  else
40
- {turbo_frame: :_top, action_target: :form}
41
+ {turbo: turbo, turbo_frame: :_top, action_target: :form}.compact
41
42
  end
42
43
  end
43
44
 
@@ -196,8 +197,10 @@ module Avo
196
197
  self
197
198
  end
198
199
 
199
- def redirect_to(path = nil, &block)
200
+ def redirect_to(path = nil, allow_other_host: nil, status: nil, &block)
200
201
  response[:type] = :redirect
202
+ response[:allow_other_host] = allow_other_host
203
+ response[:status] = status
201
204
  response[:path] = if block.present?
202
205
  block
203
206
  else
@@ -186,7 +186,17 @@ module Avo
186
186
 
187
187
  if @format_using.present?
188
188
  # Apply the changes in the
189
- Avo::ExecutionContext.new(target: @format_using, model: model, key: property, value: final_value, resource: resource, view: view, field: self, delegate_missing_to: :view_context).handle
189
+ Avo::ExecutionContext.new(
190
+ target: @format_using,
191
+ model: model,
192
+ key: property,
193
+ value: final_value,
194
+ resource: resource,
195
+ view: view,
196
+ field: self,
197
+ delegate_missing_to: :view_context,
198
+ include: self.class.included_modules
199
+ ).handle
190
200
  else
191
201
  final_value
192
202
  end
@@ -206,7 +216,15 @@ module Avo
206
216
  end
207
217
 
208
218
  def update_using(model, key, value, params)
209
- Avo::ExecutionContext.new(target: @update_using, model: model, key: key, value: value, resource: resource, field: self).handle
219
+ Avo::ExecutionContext.new(
220
+ target: @update_using,
221
+ model: model,
222
+ key: key,
223
+ value: value,
224
+ resource: resource,
225
+ field: self,
226
+ include: self.class.included_modules
227
+ ).handle
210
228
  end
211
229
 
212
230
  # Try to see if the field has a different database ID than it's name
@@ -246,9 +264,7 @@ module Avo
246
264
  end
247
265
 
248
266
  def model_errors
249
- return {} if model.nil?
250
-
251
- model.errors
267
+ model.nil? ? {} : model.errors
252
268
  end
253
269
 
254
270
  def type
@@ -285,11 +301,7 @@ module Avo
285
301
  private
286
302
 
287
303
  def model_or_class(model)
288
- if model.instance_of?(String)
289
- "class"
290
- else
291
- "model"
292
- end
304
+ model.instance_of?(String) ? "class" : "model"
293
305
  end
294
306
 
295
307
  def is_model?(model)
data/lib/avo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Avo
2
- VERSION = "2.37.2" unless const_defined?(:VERSION)
2
+ VERSION = "2.39.0" unless const_defined?(:VERSION)
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avo
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.37.2
4
+ version: 2.39.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrian Marin
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-07-25 00:00:00.000000000 Z
12
+ date: 2023-08-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord