effective_events 2.32.1 → 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 +4 -4
- data/app/datatables/admin/effective_event_registrants_datatable.rb +1 -1
- data/app/models/effective/event.rb +26 -0
- data/app/models/effective/event_registrant.rb +7 -3
- data/app/views/admin/events/_form_event.html.haml +1 -1
- data/db/migrate/101_create_effective_events.rb +20 -3
- 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: 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
|
@@ -49,9 +49,9 @@ module Effective
|
|
49
49
|
registered_at :datetime # When the order is deferred or purchased
|
50
50
|
|
51
51
|
# Question Responses
|
52
|
-
|
53
|
-
|
54
|
-
|
52
|
+
response1 :text
|
53
|
+
response2 :text
|
54
|
+
response3 :text
|
55
55
|
|
56
56
|
archived :boolean
|
57
57
|
|
@@ -292,6 +292,10 @@ module Effective
|
|
292
292
|
|
293
293
|
# Admin update event registrant action
|
294
294
|
def save_and_update_orders!
|
295
|
+
if event_ticket_id_changed?
|
296
|
+
assign_attributes(response1: nil, response2: nil, response3: nil)
|
297
|
+
end
|
298
|
+
|
295
299
|
save!
|
296
300
|
|
297
301
|
orders.reject(&:purchased?).each { |order| order.update_purchasable_attributes! }
|
@@ -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'
|
@@ -64,6 +64,9 @@ class CreateEffectiveEvents < ActiveRecord::Migration[6.0]
|
|
64
64
|
t.timestamps
|
65
65
|
end
|
66
66
|
|
67
|
+
add_index :event_tickets, :event_id, if_not_exists: true
|
68
|
+
add_index :event_tickets, :title, if_not_exists: true
|
69
|
+
|
67
70
|
create_table :event_registrants do |t|
|
68
71
|
t.integer :event_id
|
69
72
|
t.integer :event_ticket_id
|
@@ -110,6 +113,12 @@ class CreateEffectiveEvents < ActiveRecord::Migration[6.0]
|
|
110
113
|
t.timestamps
|
111
114
|
end
|
112
115
|
|
116
|
+
add_index :event_registrants, [:user_type, :user_id, :owner_type, :owner_id], if_not_exists: true
|
117
|
+
add_index :event_registrants, :event_registration_id, if_not_exists: true
|
118
|
+
add_index :event_registrants, :event_ticket_id, if_not_exists: true
|
119
|
+
add_index :event_registrants, :archived, if_not_exists: true
|
120
|
+
add_index :event_registrants, :registered_at, if_not_exists: true
|
121
|
+
|
113
122
|
create_table :event_products do |t|
|
114
123
|
t.integer :event_id
|
115
124
|
|
@@ -127,6 +136,9 @@ class CreateEffectiveEvents < ActiveRecord::Migration[6.0]
|
|
127
136
|
t.timestamps
|
128
137
|
end
|
129
138
|
|
139
|
+
add_index :event_products, :event_id, if_not_exists: true
|
140
|
+
add_index :event_products, :position, if_not_exists: true
|
141
|
+
|
130
142
|
create_table :event_addons do |t|
|
131
143
|
t.integer :event_id
|
132
144
|
t.integer :event_product_id
|
@@ -152,6 +164,9 @@ class CreateEffectiveEvents < ActiveRecord::Migration[6.0]
|
|
152
164
|
t.timestamps
|
153
165
|
end
|
154
166
|
|
167
|
+
add_index :event_addons, :event_registration_id, if_not_exists: true
|
168
|
+
add_index :event_addons, :event_product_id, if_not_exists: true
|
169
|
+
|
155
170
|
create_table :event_registrations do |t|
|
156
171
|
t.string :token
|
157
172
|
|
@@ -178,6 +193,10 @@ class CreateEffectiveEvents < ActiveRecord::Migration[6.0]
|
|
178
193
|
t.datetime :created_at
|
179
194
|
end
|
180
195
|
|
196
|
+
add_index :event_registrations, [:owner_id, :owner_type]
|
197
|
+
add_index :event_registrations, :status
|
198
|
+
add_index :event_registrations, :token
|
199
|
+
|
181
200
|
create_table :event_ticket_selections do |t|
|
182
201
|
t.integer :event_registration_id
|
183
202
|
t.string :event_registration_type
|
@@ -189,9 +208,7 @@ class CreateEffectiveEvents < ActiveRecord::Migration[6.0]
|
|
189
208
|
t.datetime :created_at
|
190
209
|
end
|
191
210
|
|
192
|
-
add_index :
|
193
|
-
add_index :event_registrations, :status
|
194
|
-
add_index :event_registrations, :token
|
211
|
+
add_index :event_ticket_selections, :event_registration_id, if_not_exists: true
|
195
212
|
|
196
213
|
create_table :event_notifications do |t|
|
197
214
|
t.references :event
|
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
|