effective_events 2.29.3 → 2.29.4

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: f21c9f27754f7cae0b66a655235a24e2346977587791e6d69b84d2758dc71d3b
4
- data.tar.gz: 2fdc5dfa02ceae9a90883a5322fb23193a5ad7a8d82e0339ac51b5fa95f5c5f0
3
+ metadata.gz: 5fe803195a47b89ebfbef90c0273828a1a463864b34c97eee1d1845bd0802d9d
4
+ data.tar.gz: 13e3440736211a77566adaf6824d83f3372eec0b1f9b04757256cd72c3acecc8
5
5
  SHA512:
6
- metadata.gz: 6e6d2dbc553ff34b73e8bedc10f3500a6544526558f5f22a0bc394c22d080f93e79524eda4fb86500c12542e519843ac7b047b8b3c146ac215319a5d57e98156
7
- data.tar.gz: 8e0e032240ad64f32ef661d6508e2a0abfb5bcda91d61e1f89152b420b365d55153613f3bbf3211076d294cddfc8e99be9181c7a76056aeede1449074f8b5d5b
6
+ metadata.gz: 3feee602decdd8cab6a09cfbb3f2188466ad1854576891415b731c59ec31f88ce7f35a5b6541366d008f3a08a707efdc2d99f601e3e76d1abc246b59aa53bccf
7
+ data.tar.gz: c59ff8cb25b345807ce274d35ae620a6430dc162105277749e361f21f7963bc48ca11576541d5cded0f860bcb4c93466114dac170be699d46fd7c03788ecb76f
@@ -31,6 +31,7 @@ module Effective
31
31
  return if resource.was_submitted?
32
32
  return if resource.event.blank?
33
33
  return if resource.selection_not_expired?
34
+ return if resource.orders.any? { |order| order.declined? && order.delayed? }
34
35
 
35
36
  resource.ticket_selection_expired!
36
37
 
@@ -167,6 +167,14 @@ module EffectiveEventsEventRegistration
167
167
  return false if step == :complete && !completed?
168
168
  return true if step == :complete && completed?
169
169
 
170
+ if draft? && orders.any? { |order| order.declined? && order.delayed? }
171
+ return [:billing, :checkout].include?(step)
172
+ end
173
+
174
+ if submitted? && submit_order&.declined?
175
+ return [:billing, :checkout, :submitted].include?(step)
176
+ end
177
+
170
178
  # If submitted with a cheque/phone deferred (but not delayed) processor then lock down the steps.
171
179
  if submitted? && !delayed_payment_date_upcoming?
172
180
  return (step == :submitted)
@@ -218,6 +226,24 @@ module EffectiveEventsEventRegistration
218
226
  true
219
227
  end
220
228
 
229
+ # Ready to check out
230
+ # This is called by the "ready_checkout" before_action in wizard_controller/before_actions.rb
231
+ # We have to handle the edge case where a delayed payment was declined
232
+ # Because we use submitted & completed here instead of submitted as our exit state, it's a bit weird
233
+ def ready!
234
+ without_current_step do
235
+ if submitted? && submit_order&.declined?
236
+ build_submit_fees_and_order(force: true)
237
+ wizard_steps.delete(:checkout)
238
+ wizard_steps.delete(:submitted)
239
+ unsubmitted!
240
+ else
241
+ build_submit_fees_and_order
242
+ save!
243
+ end
244
+ end
245
+ end
246
+
221
247
  def after_submit_deferred!
222
248
  update_deferred_event_registration!
223
249
  send_event_registration_confirmation!
@@ -230,6 +256,8 @@ module EffectiveEventsEventRegistration
230
256
  notifications.each { |notification| notification.notify!(event_registrants: event_registrants) }
231
257
 
232
258
  send_event_registration_confirmation! unless submit_order&.delayed? || submit_order&.deferred?
259
+
260
+ true
233
261
  end
234
262
  end
235
263
 
@@ -250,6 +278,7 @@ module EffectiveEventsEventRegistration
250
278
  return false if done?
251
279
  return false unless selected_at.present?
252
280
  return false unless current_step.present?
281
+ return false if draft? && orders.any? { |order| order.declined? && order.delayed? }
253
282
 
254
283
  [:start, :tickets, :submitted, :complete].exclude?(current_step)
255
284
  end
@@ -12,6 +12,14 @@
12
12
 
13
13
  = render 'effective/event_registrations/summary', event_registration: resource
14
14
 
15
+ - # This should only happen with a delayed order that was then declined
16
+ - if resource.submit_order&.declined?
17
+ = card do
18
+ %h3 Declined
19
+ %p Your card was declined by the payment processor: #{resource.submit_order.declined_reason}
20
+ %p Please try again.
21
+ %p= link_to('Click here to checkout again', wizard_path(:checkout))
22
+
15
23
  - if resource.event.allow_blank_registrants? && EffectiveResources.authorized?(self, :update_blank_registrants, resource)
16
24
  = card do
17
25
  %h3 Incomplete Ticket Information
@@ -1,3 +1,3 @@
1
1
  module EffectiveEvents
2
- VERSION = '2.29.3'.freeze
2
+ VERSION = '2.29.4'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_events
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.29.3
4
+ version: 2.29.4
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: 2025-02-10 00:00:00.000000000 Z
11
+ date: 2025-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails