effective_events 2.29.5 → 2.30.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/datatables/admin/effective_event_registrants_datatable.rb +1 -1
- data/app/mailers/effective/events_mailer.rb +0 -33
- data/app/models/concerns/effective_events_event_registration.rb +3 -23
- data/app/models/effective/event.rb +3 -1
- data/app/models/effective/event_registrant.rb +21 -1
- data/app/views/admin/event_registrants/_form.html.haml +8 -0
- data/config/effective_events.rb +0 -3
- data/lib/effective_events/version.rb +1 -1
- data/lib/effective_events.rb +1 -5
- metadata +2 -4
- data/app/views/effective/events_mailer/event_registrant_confirmation.html.haml +0 -39
- data/app/views/effective/events_mailer/event_registration_confirmation.html.haml +0 -101
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a00e6d6e6fce1100f98e19f6d9a0e5d1a9ba66ebfadf33de9b65f73127c859fa
|
4
|
+
data.tar.gz: 0abd39dd425fe5aa03a4aca9bc3e23e35319b829eb8136ac274a06531297f098
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53bb80da8ecd9e1cedea4f489c9e3cd48a8d76ec839655480e7ed7e238a7e5daf1586830e68c3e79c5744d50d3e81a095a9c3296c5105545fd57965cd36e92d9
|
7
|
+
data.tar.gz: ab519af6f7760009617670f236a8983189112931d9ab3eb50b292fe419f52921e6b1009c5f6fecc8610376c28989d2b7c9ff3c457527ca50f99ee5d3447955ea
|
@@ -27,7 +27,7 @@ module Admin
|
|
27
27
|
|
28
28
|
if defined?(EffectiveMemberships) && EffectiveMemberships.Organization.respond_to?(:sponsors)
|
29
29
|
col :sponsorship, search: EffectiveMemberships.Organization::SPONSORSHIPS do |er|
|
30
|
-
|
30
|
+
er.user.try(:sponsorship)
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
@@ -15,39 +15,6 @@ module Effective
|
|
15
15
|
mail(to: resource.email, **headers_for(resource, opts))
|
16
16
|
end
|
17
17
|
|
18
|
-
# Sent on registration purchase
|
19
|
-
# Sent on delayed payment date registration submitted
|
20
|
-
# Sent on delayed payment date registration update
|
21
|
-
# Sent on update blank registrants
|
22
|
-
def event_registration_confirmation(resource, opts = {})
|
23
|
-
raise('expected an event registration') unless resource.class.try(:effective_events_event_registration?)
|
24
|
-
|
25
|
-
@event_registration = resource
|
26
|
-
@event = resource.event
|
27
|
-
|
28
|
-
@order = @event_registration.submit_order
|
29
|
-
raise('expected an event registration submit_order') unless @order.present?
|
30
|
-
|
31
|
-
subject = subject_for(__method__, "Confirmation - #{@event}", resource, opts)
|
32
|
-
headers = headers_for(resource, opts)
|
33
|
-
|
34
|
-
mail(to: resource.owner.email, cc: mailer_admin, subject: subject, **headers)
|
35
|
-
end
|
36
|
-
|
37
|
-
# Sent manually by an admin to one registrant
|
38
|
-
def event_registrant_confirmation(resource, opts = {})
|
39
|
-
raise('expected an event registrant') unless resource.kind_of?(Effective::EventRegistrant)
|
40
|
-
|
41
|
-
@event_registrant = resource
|
42
|
-
@event = resource.event
|
43
|
-
@event_registration = resource.event_registration # Optional
|
44
|
-
|
45
|
-
subject = subject_for(__method__, "Confirmation - #{@event}", resource, opts)
|
46
|
-
headers = headers_for(resource, opts)
|
47
|
-
|
48
|
-
mail(to: resource.email, cc: mailer_admin, subject: subject, **headers)
|
49
|
-
end
|
50
|
-
|
51
18
|
protected
|
52
19
|
|
53
20
|
def assigns_for(resource)
|
@@ -246,7 +246,6 @@ module EffectiveEventsEventRegistration
|
|
246
246
|
|
247
247
|
def after_submit_deferred!
|
248
248
|
update_deferred_event_registration!
|
249
|
-
send_event_registration_confirmation!
|
250
249
|
end
|
251
250
|
|
252
251
|
def after_submit_purchased!
|
@@ -255,8 +254,6 @@ module EffectiveEventsEventRegistration
|
|
255
254
|
notifications = event.event_notifications.select(&:registrant_purchased?)
|
256
255
|
notifications.each { |notification| notification.notify!(event_registrants: event_registrants) }
|
257
256
|
|
258
|
-
send_event_registration_confirmation! unless submit_order&.delayed? || submit_order&.deferred?
|
259
|
-
|
260
257
|
true
|
261
258
|
end
|
262
259
|
end
|
@@ -390,17 +387,6 @@ module EffectiveEventsEventRegistration
|
|
390
387
|
save!
|
391
388
|
end
|
392
389
|
|
393
|
-
# Not involved in money processing
|
394
|
-
# This will only be called when the order is previously delayed and deferred
|
395
|
-
# And we're going through the registration again with a saved card
|
396
|
-
def checkout!
|
397
|
-
if submit_order.present? && submit_order.delayed? && submit_order.deferred?
|
398
|
-
send_event_registration_confirmation!
|
399
|
-
end
|
400
|
-
|
401
|
-
save!
|
402
|
-
end
|
403
|
-
|
404
390
|
def try_completed!
|
405
391
|
return false unless submitted?
|
406
392
|
return false unless submit_order&.purchased?
|
@@ -506,20 +492,14 @@ module EffectiveEventsEventRegistration
|
|
506
492
|
update_submit_fees_and_order! if submit_order.present? && !submit_order.purchased?
|
507
493
|
|
508
494
|
after_commit do
|
509
|
-
|
495
|
+
send_order_emails!
|
510
496
|
end
|
511
497
|
|
512
498
|
true
|
513
499
|
end
|
514
500
|
|
515
|
-
|
516
|
-
|
517
|
-
# Sent on delayed payment date registration update
|
518
|
-
# Sent on update blank registrants
|
519
|
-
def send_event_registration_confirmation!
|
520
|
-
return false unless EffectiveEvents.send_confirmation_email?
|
521
|
-
|
522
|
-
EffectiveEvents.send_email(:event_registration_confirmation, self)
|
501
|
+
def send_order_emails!
|
502
|
+
submit_order.send_order_emails!
|
523
503
|
end
|
524
504
|
|
525
505
|
def just_let_them_edit_tickets_and_register_anyway?
|
@@ -48,6 +48,8 @@ module Effective
|
|
48
48
|
acts_as_tagged if respond_to?(:acts_as_tagged)
|
49
49
|
log_changes if respond_to?(:log_changes)
|
50
50
|
|
51
|
+
attr_accessor :mailer_preview # Set by the mailer preview. Disabled delayed payment validations
|
52
|
+
|
51
53
|
effective_resource do
|
52
54
|
title :string
|
53
55
|
|
@@ -161,7 +163,7 @@ module Effective
|
|
161
163
|
end
|
162
164
|
|
163
165
|
validate(if: -> { delayed_payment? }) do
|
164
|
-
errors.add(:delayed_payment, 'no delayed payment processor available') unless EffectiveOrders.try(:delayed?)
|
166
|
+
errors.add(:delayed_payment, 'no delayed payment processor available') unless EffectiveOrders.try(:delayed?) || mailer_preview
|
165
167
|
end
|
166
168
|
|
167
169
|
validate(if: -> { file.attached? }) do
|
@@ -161,6 +161,21 @@ module Effective
|
|
161
161
|
registered! if event_registration.blank? && !registered?
|
162
162
|
end
|
163
163
|
|
164
|
+
# Build an event registration for this registrant with a $0 purchased order
|
165
|
+
after_commit(if: -> { event_registration.blank? && created_by_admin? }) do
|
166
|
+
event_registration = EffectiveEvents.EventRegistration.new(event: event, owner: owner)
|
167
|
+
event_registration.event_registrants << self
|
168
|
+
event_registration.build_submit_fees_and_order()
|
169
|
+
event_registration.save!
|
170
|
+
|
171
|
+
order = event_registration.submit_order
|
172
|
+
order.order_items.each { |oi| oi.assign_attributes(price: 0) }
|
173
|
+
order.order_items.each { |oi| oi.purchasable.assign_attributes(price: 0) }
|
174
|
+
order.mark_as_purchased!
|
175
|
+
|
176
|
+
order.update_columns(subtotal: 0, total: 0, tax: 0, amount_owing: 0)
|
177
|
+
end
|
178
|
+
|
164
179
|
def to_s
|
165
180
|
persisted? ? title : 'registrant'
|
166
181
|
end
|
@@ -343,7 +358,12 @@ module Effective
|
|
343
358
|
|
344
359
|
# Manual admin action only
|
345
360
|
def send_confirmation_email!
|
346
|
-
|
361
|
+
order = event_registration&.submit_order
|
362
|
+
order.send_order_emails!
|
363
|
+
end
|
364
|
+
|
365
|
+
def event_registration_submit_order
|
366
|
+
event_registration&.submit_order
|
347
367
|
end
|
348
368
|
|
349
369
|
private
|
@@ -25,6 +25,10 @@
|
|
25
25
|
- if f.object.purchased?
|
26
26
|
= f.static_field :event_ticket, label: 'Purchased ticket'
|
27
27
|
|
28
|
+
- if (order = f.object.event_registration_submit_order).present?
|
29
|
+
= f.static_field :event_registration_submit_order, label: 'Order' do
|
30
|
+
= link_to(order, effective_orders.admin_order_path(order), target: '_blank')
|
31
|
+
|
28
32
|
= f.select :event_ticket_id, effective_events_event_tickets_collection(f.object.event, namespace), required: true
|
29
33
|
|
30
34
|
- if f.object.event.allow_blank_registrants? && (f.object.new_record? || f.object.blank_registrant?)
|
@@ -35,6 +39,10 @@
|
|
35
39
|
= f.show_if(:blank_registrant, false) do
|
36
40
|
= render('effective/event_registrants/fields', f: f)
|
37
41
|
|
42
|
+
- if f.object.new_record?
|
43
|
+
%p.text-muted
|
44
|
+
%small A $0 purchased event registration and order will be created. No emails will be sent.
|
45
|
+
|
38
46
|
= f.check_box :archived, label: "Archive this registrant. It will be displayed as archived on the owner's event registration"
|
39
47
|
|
40
48
|
- if f.object.new_record?
|
data/config/effective_events.rb
CHANGED
@@ -29,9 +29,6 @@ EffectiveEvents.setup do |config|
|
|
29
29
|
# Hint text for event images attachments
|
30
30
|
config.events_hint_text = 'Optional. Shown on the events index and event pages. Dimensions are 220px tall and 350px wide.'
|
31
31
|
|
32
|
-
# Send confirmation emails
|
33
|
-
config.send_confirmation_email = false
|
34
|
-
|
35
32
|
# Mailer Settings
|
36
33
|
# Please see config/initializers/effective_resources.rb for default effective_* gem mailer settings
|
37
34
|
#
|
data/lib/effective_events.rb
CHANGED
@@ -9,7 +9,7 @@ module EffectiveEvents
|
|
9
9
|
:events_table_name, :event_registrants_table_name, :event_tickets_table_name, :event_ticket_selections_table_name,
|
10
10
|
:event_registrations_table_name, :event_products_table_name, :event_addons_table_name, :event_notifications_table_name,
|
11
11
|
:mailer, :parent_mailer, :deliver_method, :mailer_layout, :mailer_sender, :mailer_admin, :mailer_subject,
|
12
|
-
:layout, :per_page, :use_effective_roles, :categories, :events_hint_text,
|
12
|
+
:layout, :per_page, :use_effective_roles, :categories, :events_hint_text,
|
13
13
|
:organization_enabled, :create_users, :company_or_organization_required,
|
14
14
|
:event_registration_class_name
|
15
15
|
]
|
@@ -39,8 +39,4 @@ module EffectiveEvents
|
|
39
39
|
!!EffectiveOrders.try(:delayed?)
|
40
40
|
end
|
41
41
|
|
42
|
-
def self.send_confirmation_email?
|
43
|
-
send_confirmation_email == true
|
44
|
-
end
|
45
|
-
|
46
42
|
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.
|
4
|
+
version: 2.30.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-02-
|
11
|
+
date: 2025-02-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -297,9 +297,7 @@ files:
|
|
297
297
|
- app/views/effective/events/_sidebar.html.haml
|
298
298
|
- app/views/effective/events/index.html.haml
|
299
299
|
- app/views/effective/events/show.html.haml
|
300
|
-
- app/views/effective/events_mailer/event_registrant_confirmation.html.haml
|
301
300
|
- app/views/effective/events_mailer/event_registrant_purchased.liquid
|
302
|
-
- app/views/effective/events_mailer/event_registration_confirmation.html.haml
|
303
301
|
- app/views/simple_calendar/_month_calendar.html.haml
|
304
302
|
- config/effective_events.rb
|
305
303
|
- config/locales/effective_events.en.yml
|
@@ -1,39 +0,0 @@
|
|
1
|
-
%h1{style: "text-align: center"} Your tickets have been confirmed!
|
2
|
-
|
3
|
-
%p{style: "text-align: center"}
|
4
|
-
%strong{style: "font-size: 18px"}= @event.title
|
5
|
-
%br
|
6
|
-
#{effective_events_event_schedule(@event)}
|
7
|
-
|
8
|
-
- if @event.rich_text_confirmation_email.present?
|
9
|
-
%hr
|
10
|
-
= @event.rich_text_confirmation_email.to_s.html_safe
|
11
|
-
|
12
|
-
- if @event.delayed_payment? && @event_registration.present? && @event_registrant.user == @event_registration.owner && @event_registration.submit_order.delayed? && @event_registration.submit_order.deferred?
|
13
|
-
%hr
|
14
|
-
%p{style: "margin-bottom: 4px; font-weight: bold;"} Please note:
|
15
|
-
%ul{style: "margin-top: 0;"}
|
16
|
-
%li Your credit card will be charged on <strong>#{@event.delayed_payment_date.strftime("%A, %B %d, %Y")}</strong>.
|
17
|
-
%li Changes and cancellations must be made before this date.
|
18
|
-
%li A receipt will be sent after the transaction is completed.
|
19
|
-
|
20
|
-
%hr
|
21
|
-
|
22
|
-
%table.table
|
23
|
-
%thead
|
24
|
-
%tr
|
25
|
-
%th{style: "text-align: left;"} Qty
|
26
|
-
%th{style: "text-align: left;"} Ticket
|
27
|
-
%th{style: "text-align: right;"} Price
|
28
|
-
%tbody
|
29
|
-
%tr
|
30
|
-
%td{style: "text-align: left;"} 1
|
31
|
-
%td{style: "text-align: left;"}
|
32
|
-
= @event_registrant.purchasable_name
|
33
|
-
= @event_registrant.responses if @event_registrant.responses.present?
|
34
|
-
%td{style: "text-align: right;"}= price_to_currency(@event_registrant.price)
|
35
|
-
|
36
|
-
- if @event_registration.present? && @event_registrant.user == @event_registration.owner
|
37
|
-
%hr
|
38
|
-
%p{style: "text-align: center;"}
|
39
|
-
= link_to('View your registration', effective_events.event_event_registration_url(@event, @event_registration))
|
@@ -1,101 +0,0 @@
|
|
1
|
-
%h1{style: "text-align: center"} Your tickets have been confirmed!
|
2
|
-
|
3
|
-
%p{style: "text-align: center"}
|
4
|
-
%strong{style: "font-size: 18px"}= @event.title
|
5
|
-
%br
|
6
|
-
#{effective_events_event_schedule(@event)}
|
7
|
-
|
8
|
-
- if @event.rich_text_confirmation_email.present?
|
9
|
-
%hr
|
10
|
-
= @event.rich_text_confirmation_email.to_s.html_safe
|
11
|
-
|
12
|
-
- if @event.delayed_payment?
|
13
|
-
%hr
|
14
|
-
%p{style: "margin-bottom: 4px; font-weight: bold;"} Please note:
|
15
|
-
%ul{style: "margin-top: 0;"}
|
16
|
-
%li Your credit card will be charged on <strong>#{@event.delayed_payment_date.strftime("%A, %B %d, %Y")}</strong>.
|
17
|
-
%li Changes and cancellations must be made before this date.
|
18
|
-
%li A receipt will be sent after the transaction is completed.
|
19
|
-
|
20
|
-
%hr
|
21
|
-
|
22
|
-
.effective-order
|
23
|
-
%table.table{style: "margin-bottom: 20px;"}
|
24
|
-
%thead
|
25
|
-
%tr
|
26
|
-
%th{style: "text-align: left;"} Qty
|
27
|
-
%th{style: "text-align: left;"} Ticket
|
28
|
-
%th{style: "text-align: right;"} Price
|
29
|
-
|
30
|
-
%tbody
|
31
|
-
- @order.order_items.each do |oi|
|
32
|
-
%tr
|
33
|
-
%td{style: "text-align: left;"}= oi.quantity
|
34
|
-
%td{style: "text-align: left;"}
|
35
|
-
= oi.to_s.html_safe
|
36
|
-
= oi.purchasable.try(:responses) || oi.purchasable.try(:notes)
|
37
|
-
%td.price= price_to_currency(oi.price)
|
38
|
-
|
39
|
-
%tfoot
|
40
|
-
%tr
|
41
|
-
%td{colspan: 3}= " ".html_safe
|
42
|
-
%tr
|
43
|
-
%th.subtotal{colspan: 2}
|
44
|
-
Subtotal
|
45
|
-
%td.price.subtotal-price
|
46
|
-
= price_to_currency(@order.subtotal)
|
47
|
-
|
48
|
-
- if @order.tax_rate.blank?
|
49
|
-
-# Nothing to do. We can't display Tax, Total or Credit Card Surcharge (which is taxed) yet.
|
50
|
-
|
51
|
-
- elsif @order.tax_rate.present? && @order.surcharge_percent.to_f > 0.0
|
52
|
-
%tr
|
53
|
-
%th.tax{colspan: 2}
|
54
|
-
Tax (#{rate_to_percentage(@order.tax_rate)})
|
55
|
-
%td.price.tax-price
|
56
|
-
= price_to_currency(@order.tax)
|
57
|
-
|
58
|
-
%tr
|
59
|
-
%th.amount-owing{colspan: 2}
|
60
|
-
Amount owing before Credit Card Processing Fee
|
61
|
-
%td.price.amount-owing-price
|
62
|
-
= price_to_currency(@order.amount_owing)
|
63
|
-
|
64
|
-
%tr
|
65
|
-
%th.surcharge{colspan: 2}
|
66
|
-
Credit Card Processing Fee (#{rate_to_percentage(@order.surcharge_percent)}) on #{price_to_currency(@order.amount_owing)}
|
67
|
-
%td.price.surcharge-price
|
68
|
-
= price_to_currency(@order.surcharge)
|
69
|
-
|
70
|
-
%tr
|
71
|
-
%th.surcharge-tax{colspan: 2}
|
72
|
-
Tax (#{rate_to_percentage(@order.tax_rate)}) on Credit Card Processing Fee
|
73
|
-
%td.price.surcharge-tax-price
|
74
|
-
= price_to_currency(@order.surcharge_tax)
|
75
|
-
|
76
|
-
%tr
|
77
|
-
%th.total{colspan: 2}
|
78
|
-
Total amount charged to credit card
|
79
|
-
%td.price.total-price
|
80
|
-
= price_to_currency(@order.total)
|
81
|
-
|
82
|
-
- elsif @order.tax_rate.present? && !(@order.surcharge_percent.to_f > 0.0)
|
83
|
-
%tr
|
84
|
-
%th.tax{colspan: 2}
|
85
|
-
Tax (#{rate_to_percentage(@order.tax_rate)})
|
86
|
-
%td.price.tax-price
|
87
|
-
= price_to_currency(@order.tax)
|
88
|
-
|
89
|
-
%tr
|
90
|
-
%th.total{colspan: 2}
|
91
|
-
Total
|
92
|
-
%td.total-price
|
93
|
-
= price_to_currency(@order.total)
|
94
|
-
|
95
|
-
%hr
|
96
|
-
|
97
|
-
%p{style: "text-align: center;"}
|
98
|
-
- if @event.delayed_payment? && @order.delayed? && @order.deferred?
|
99
|
-
= link_to('View or modify your registration', effective_events.event_event_registration_url(@event, @event_registration))
|
100
|
-
- else
|
101
|
-
= link_to('View your registration', effective_events.event_event_registration_url(@event, @event_registration))
|