effective_events 2.32.2 → 2.33.0
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b0ae587daebc365cd145d2efb8296557760cbcb7bf690ca6027ebba50c84249
|
4
|
+
data.tar.gz: e24cc7c0844d9ed29b528d26b2261095fe2b58583c46b92db4af77ae76b6ffb0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 05a1da730a4b6cf47f3796cab27377627be6629d6d134abecd2c413ff3bce85a5379a093dd1822b0d962ee174317d0d473f34dd69743db296b4a68b177017615
|
7
|
+
data.tar.gz: 17cbe3baf5030f61ce4402bf3ce6cf5b04d1ec9738002f468d7447a3feae5aa881f550011f52035d6c5a3e40ff8d1496671a658cafde64e2b65111799990da06
|
@@ -174,6 +174,14 @@ module Effective
|
|
174
174
|
errors.add(:category, 'is not included in the list') unless EffectiveEvents.categories.include?(category)
|
175
175
|
end
|
176
176
|
|
177
|
+
validate(if: -> { persisted? && delayed_payment_changed? && delayed_payment_was && !delayed_payment? }) do
|
178
|
+
errors.add(:delayed_payment, "cannot be disabled because there are existing delayed orders") if delayed_orders.present?
|
179
|
+
end
|
180
|
+
|
181
|
+
after_commit(if: -> { persisted? && delayed? && delayed_payment_date_previously_changed? }) do
|
182
|
+
update_delayed_orders_delayed_payment_date!
|
183
|
+
end
|
184
|
+
|
177
185
|
def to_s
|
178
186
|
title.presence || model_name.human
|
179
187
|
end
|
@@ -326,6 +334,24 @@ module Effective
|
|
326
334
|
delayed_payment_date > Time.zone.now.to_date
|
327
335
|
end
|
328
336
|
|
337
|
+
def update_delayed_orders_delayed_payment_date!
|
338
|
+
raise('expected delayed payment date to be present') unless delayed_payment_date.present?
|
339
|
+
|
340
|
+
transaction do
|
341
|
+
delayed_orders.find_each { |order| order.update!(delayed_payment_date: delayed_payment_date) }
|
342
|
+
end
|
343
|
+
end
|
344
|
+
|
345
|
+
# When an event payment date is changed, all pending orders should also be updated
|
346
|
+
def delayed_orders
|
347
|
+
order_ids = (
|
348
|
+
Effective::OrderItem.where(purchasable_id: event_registrants, purchasable_type: 'Effective::EventRegistrant').pluck(:order_id) +
|
349
|
+
Effective::OrderItem.where(purchasable_id: event_addons, purchasable_type: 'Effective::EventAddon').pluck(:order_id)
|
350
|
+
).uniq
|
351
|
+
|
352
|
+
Effective::Order.where.not(status: [:purchased, :declined, :voided]).delayed.where(id: order_ids) # deferred delayed orders
|
353
|
+
end
|
354
|
+
|
329
355
|
def qb_item_names
|
330
356
|
(event_tickets + event_products).map(&:qb_item_name).uniq - ['', nil]
|
331
357
|
end
|
@@ -46,7 +46,7 @@
|
|
46
46
|
= f.hidden_field :delayed_payment_date, value: ''
|
47
47
|
|
48
48
|
= f.show_if(:delayed_payment, true) do
|
49
|
-
= f.date_field :delayed_payment_date, label: "Delayed Payment Charge Date", hint: "The date that the credit card will be charged. Expects a date in the future, after the registration end date
|
49
|
+
= f.date_field :delayed_payment_date, label: "Delayed Payment Charge Date", hint: "The date that the credit card will be charged. Expects a date in the future, after the registration end date.<br>Changing this will update the charge date for all existing delayed payment orders."
|
50
50
|
|
51
51
|
= f.submit do
|
52
52
|
= f.save 'Save'
|
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.
|
4
|
+
version: 2.33.0
|
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-06-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|