effective_events 2.33.1 → 2.33.3
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 +4 -4
- data/app/models/effective/event_registrant.rb +74 -2
- data/config/routes.rb +1 -1
- data/lib/effective_events/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 28f9bea4ad9ae836687a2976d8375defb38dadd9024380d02daae3edfc5d2826
|
4
|
+
data.tar.gz: cab0b307582df198e1de51213a473102b5699e433091297e888995278c994978
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 78059802ffd220f3bb1cacf8e3d7e2160513b213f0d95c740669a206f5bbcab341c9a8d981f9f270dfc11c1c5aacb35ff3260936aa2e99ff0a57755356cb304e
|
7
|
+
data.tar.gz: 6080c2d6d2338ca6c94571dbb84901d04524022136f39b9e2431c88fd1025d0da192970f6bad8ca6552083d2d3d568c1085f779341b66c661d6cca2c60be7037
|
@@ -324,9 +324,72 @@ module Effective
|
|
324
324
|
def promote!
|
325
325
|
raise('expected a waitlist? event_ticket') unless event_ticket.waitlist?
|
326
326
|
|
327
|
+
if purchased? && event_registration.present?
|
328
|
+
promote_purchased_event_registration!
|
329
|
+
elsif purchased? && event_registration.blank?
|
330
|
+
promote_purchased_order!
|
331
|
+
else
|
332
|
+
promote_not_purchased!
|
333
|
+
end
|
334
|
+
end
|
335
|
+
|
336
|
+
def promote_purchased_event_registration!
|
337
|
+
# Remove myself from any existing orders.
|
338
|
+
# I must be $0 so we don't need to update any prices.
|
339
|
+
orders.each do |order|
|
340
|
+
order.order_items.find { |oi| oi.purchasable == self }.destroy!
|
341
|
+
end
|
342
|
+
|
343
|
+
# I'm now promoted and unpurchased
|
344
|
+
update!(promoted: true, purchased_order: nil)
|
345
|
+
|
346
|
+
# Check if the ticket owner has an unpurchased event registration for the event or create a new one
|
347
|
+
event_registration = EffectiveEvents.EventRegistration.draft.where(event: event, owner: owner).where.not(id: event_registration_id).first
|
348
|
+
event_registration ||= EffectiveEvents.EventRegistration.new(event: event, owner: owner)
|
349
|
+
|
350
|
+
# Put the event registration on the checkout step
|
351
|
+
event_registration.all_steps_before(:checkout).each do |step|
|
352
|
+
event_registration.wizard_steps[step] ||= Time.zone.now
|
353
|
+
end
|
354
|
+
|
355
|
+
event_registration.save!
|
356
|
+
|
357
|
+
# Move this registrant into the new event registration
|
358
|
+
update!(event_registration: event_registration)
|
359
|
+
|
360
|
+
# Build the order for the event registration
|
361
|
+
# It can be checked out by admin immediately, or the user can go through it themselves
|
362
|
+
event_registration.reload
|
363
|
+
event_registration.find_or_build_submit_order
|
364
|
+
|
365
|
+
event_registration.save!
|
366
|
+
end
|
367
|
+
|
368
|
+
def promote_purchased_order!
|
369
|
+
# Remove myself from any existing orders.
|
370
|
+
# I must be $0 so we don't need to update any prices.
|
371
|
+
orders.each do |order|
|
372
|
+
order.order_items.find { |oi| oi.purchasable == self }.destroy!
|
373
|
+
end
|
374
|
+
|
375
|
+
# I'm now promoted and unpurchased
|
376
|
+
update!(promoted: true, purchased_order: nil)
|
377
|
+
|
378
|
+
# Check if the ticket owner has an unpurchased order for the event or create a new one
|
379
|
+
order = owner.orders.reject { |order| order.purchased? }.find do |order|
|
380
|
+
order.purchasables.any? { |purchasable| purchasable.class.name == "Effective::EventRegistrant" && purchasable.try(:event) == event }
|
381
|
+
end
|
382
|
+
order ||= Effective::Order.new(user: owner)
|
383
|
+
|
384
|
+
# Move this registrant into the new order
|
385
|
+
order.add(self)
|
386
|
+
|
387
|
+
order.save!
|
388
|
+
end
|
389
|
+
|
390
|
+
def promote_not_purchased!
|
327
391
|
update!(promoted: true)
|
328
392
|
orders.reject(&:purchased?).each { |order| order.update_purchasable_attributes! }
|
329
|
-
|
330
393
|
true
|
331
394
|
end
|
332
395
|
|
@@ -335,7 +398,6 @@ module Effective
|
|
335
398
|
|
336
399
|
update!(promoted: false)
|
337
400
|
orders.reject(&:purchased?).each { |order| order.update_purchasable_attributes! }
|
338
|
-
|
339
401
|
true
|
340
402
|
end
|
341
403
|
|
@@ -377,6 +439,16 @@ module Effective
|
|
377
439
|
send_order_emails!
|
378
440
|
end
|
379
441
|
|
442
|
+
# Manual admin action only. From datatable.
|
443
|
+
def send_payment_request!
|
444
|
+
raise('already purchased or deferred') if purchased_or_deferred?
|
445
|
+
|
446
|
+
order = (Array(event_registration_submit_order) + Array(orders)).find { |order| order.in_progress? && !order.purchased_or_deferred? && !order.refund? }
|
447
|
+
return false if order.blank?
|
448
|
+
|
449
|
+
order.send_payment_request_to_buyer!
|
450
|
+
end
|
451
|
+
|
380
452
|
def send_order_emails!
|
381
453
|
event_registration&.submit_order&.send_order_emails!
|
382
454
|
end
|
data/config/routes.rb
CHANGED
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.33.
|
4
|
+
version: 2.33.3
|
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-
|
11
|
+
date: 2025-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|