effective_events 2.30.0 → 2.30.2
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/controllers/effective/event_registrations_controller.rb +2 -0
- data/app/datatables/admin/effective_event_registrants_datatable.rb +5 -1
- data/app/datatables/admin/effective_event_tickets_datatable.rb +45 -22
- data/app/datatables/admin/effective_events_datatable.rb +2 -2
- data/app/datatables/effective_event_registrations_datatable.rb +1 -1
- data/app/models/effective/event.rb +4 -0
- data/app/models/effective/event_registrant.rb +5 -2
- data/app/views/effective/event_registrations/checkout.html.haml +1 -1
- data/app/views/effective/events/show.html.haml +1 -1
- data/config/routes.rb +1 -0
- 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: 32f5674dd0103143460a411264938785c8b8fe264caf401aa3ac7c39c4118be6
|
4
|
+
data.tar.gz: a0298a712e199e4b3e6fcef70aa1f11e9feb3d27d75266cdabb6d418b36e5518
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7631eec53e65b21d0546a009fe233989eefe5e448f34fe50c83562993ea2e01ea405c5b0f6f9dee9de5e4c5e3ca41c6e30aad6e640d5fab904fecc454bf7cdc8
|
7
|
+
data.tar.gz: b972ba664a0d9312a5fd66d04bd4442b521badb1ce34aabff9f8933e5c2b1e51b8235c37cc2d8999c4e8778769ca47cc58fcb1610e8db14675569e2bfac5e974
|
@@ -21,6 +21,7 @@ module Effective
|
|
21
21
|
return if resource.event.blank?
|
22
22
|
return if resource.submit_order&.deferred?
|
23
23
|
return if resource.event.registerable? && !resource.event.sold_out?(except: resource)
|
24
|
+
return if resource.event.registerable_when_impersonating? && view_context.try(:impersonating?)
|
24
25
|
return if resource.just_let_them_edit_tickets_and_register_anyway?
|
25
26
|
|
26
27
|
flash[:danger] = "Your selected event is not available for registration. This event registration not available."
|
@@ -33,6 +34,7 @@ module Effective
|
|
33
34
|
return if resource.event.blank?
|
34
35
|
return if resource.selection_not_expired?
|
35
36
|
return if resource.orders.any? { |order| order.declined? && order.delayed? }
|
37
|
+
return if resource.event.registerable_when_impersonating? && view_context.try(:impersonating?)
|
36
38
|
return if resource.just_let_them_edit_tickets_and_register_anyway?
|
37
39
|
|
38
40
|
resource.ticket_selection_expired!
|
@@ -86,7 +86,11 @@ module Admin
|
|
86
86
|
col :response2
|
87
87
|
col :response3
|
88
88
|
|
89
|
-
actions_col
|
89
|
+
actions_col do |registrant|
|
90
|
+
if EffectiveResources.authorized?(self, :impersonate, registrant.owner)
|
91
|
+
dropdown_link_to("Impersonate", "/admin/users/#{registrant.owner_id}/impersonate", data: { confirm: "Really impersonate #{registrant.owner}?", method: :post, remote: true })
|
92
|
+
end
|
93
|
+
end
|
90
94
|
end
|
91
95
|
|
92
96
|
collection do
|
@@ -1,54 +1,77 @@
|
|
1
1
|
module Admin
|
2
2
|
class EffectiveEventTicketsDatatable < Effective::Datatable
|
3
|
-
filters do
|
4
|
-
scope :unarchived, label: "All"
|
5
|
-
scope :archived
|
6
|
-
end
|
7
|
-
|
8
3
|
datatable do
|
9
4
|
reorder :position
|
10
5
|
|
11
6
|
col :updated_at, visible: false
|
12
7
|
col :created_at, visible: false
|
13
8
|
col :id, visible: false
|
14
|
-
col :archived
|
9
|
+
col :archived
|
15
10
|
|
16
|
-
col :event
|
17
11
|
|
12
|
+
col :event
|
18
13
|
col :title
|
19
14
|
col :category, visible: false
|
15
|
+
col :waitlist, visible: false
|
20
16
|
|
21
|
-
col :early_bird_price, as: :price, visible:
|
22
|
-
col :regular_price, as: :price
|
23
|
-
col :member_price, as: :price
|
17
|
+
col :early_bird_price, as: :price, visible: false
|
18
|
+
col :regular_price, as: :price, visible: false
|
19
|
+
col :member_price, as: :price, visible: false
|
24
20
|
|
25
|
-
col :
|
26
|
-
|
27
|
-
|
21
|
+
col :prices do |ticket|
|
22
|
+
prices = ""
|
23
|
+
|
24
|
+
if event&.early_bird_end_at.present?
|
25
|
+
prices += "#{price_to_currency(ticket.early_bird_price || 0)} early<br />"
|
26
|
+
end
|
28
27
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
28
|
+
if ticket.category == "Member Only"
|
29
|
+
prices += "#{price_to_currency(ticket.member_price)} member"
|
30
|
+
elsif ticket.category == "Regular"
|
31
|
+
prices += "#{price_to_currency(ticket.regular_price)} regular"
|
32
|
+
elsif ticket.category == ("Member or Non-Member" || "Regular")
|
33
|
+
prices +=
|
34
|
+
"
|
35
|
+
#{price_to_currency(ticket.regular_price)} regular<br />
|
36
|
+
#{price_to_currency(ticket.member_price)} member
|
37
|
+
"
|
38
|
+
else
|
39
|
+
"Invalid ticket category"
|
40
|
+
end
|
41
|
+
|
42
|
+
prices
|
43
|
+
end
|
44
|
+
|
45
|
+
col :capacity_available, visible: false
|
46
|
+
col :capacity, label: 'Capacity total', visible: false
|
47
|
+
|
48
|
+
col :registrations, label: 'Registrations' do |ticket|
|
49
|
+
if ticket.capacity.present?
|
50
|
+
"
|
51
|
+
#{ticket.capacity} capacity<br />
|
52
|
+
#{ticket.non_waitlisted_event_registrants_count.count} registered<br />
|
53
|
+
#{ticket.capacity_available} available<br />
|
54
|
+
#{ticket.waitlisted_event_registrants_count} waitlisted
|
55
|
+
"
|
56
|
+
else
|
57
|
+
"#{ticket.non_waitlisted_event_registrants_count.count} registered"
|
34
58
|
end
|
35
59
|
end
|
36
60
|
|
37
61
|
col :category, visible: false
|
38
62
|
|
39
|
-
col :registered_event_registrants_count, label: 'Registered' do |event|
|
63
|
+
col :registered_event_registrants_count, label: 'Registered', visible: false, as: :integer do |event|
|
40
64
|
event.event_registrants.registered.count
|
41
65
|
end
|
42
66
|
|
43
|
-
col :purchased_event_registrants_count, label: 'Deferred', visible: false do |event|
|
67
|
+
col :purchased_event_registrants_count, label: 'Deferred', visible: false, as: :integer do |event|
|
44
68
|
event.event_registrants.deferred.count
|
45
69
|
end
|
46
70
|
|
47
|
-
col :purchased_event_registrants_count, label: 'Purchased', visible: false do |event|
|
71
|
+
col :purchased_event_registrants_count, label: 'Purchased', visible: false, as: :integer do |event|
|
48
72
|
event.event_registrants.purchased.count
|
49
73
|
end
|
50
74
|
|
51
|
-
|
52
75
|
col :question1, visible: false
|
53
76
|
col :question2, visible: false
|
54
77
|
col :question3, visible: false
|
@@ -22,8 +22,8 @@ module Admin
|
|
22
22
|
|
23
23
|
col :draft?, as: :boolean, visible: false
|
24
24
|
col :published?, as: :boolean
|
25
|
-
col :published_start_at,
|
26
|
-
col :published_end_at,
|
25
|
+
col :published_start_at, label: "Published start", as: :datetime
|
26
|
+
col :published_end_at, label: "Published end", as: :datetime
|
27
27
|
|
28
28
|
col :start_at, label: 'Start', visible: false
|
29
29
|
col :end_at, label: 'End', visible: false
|
@@ -32,7 +32,7 @@ class EffectiveEventRegistrationsDatatable < Effective::Datatable
|
|
32
32
|
end
|
33
33
|
|
34
34
|
# Register Again
|
35
|
-
if er.event.registerable? && !er.event.sold_out?
|
35
|
+
if (er.event.registerable? && !er.event.sold_out?) || (er.event.registerable_when_impersonating? && impersonating?)
|
36
36
|
url = er.event.external_registration_url.presence || effective_events.new_event_event_registration_path(er.event)
|
37
37
|
dropdown_link_to('Register Again', url)
|
38
38
|
end
|
@@ -197,6 +197,10 @@ module Effective
|
|
197
197
|
(external_registration? && external_registration_url.present?) || event_tickets.present?
|
198
198
|
end
|
199
199
|
|
200
|
+
def registerable_when_impersonating?
|
201
|
+
(external_registration? && external_registration_url.present?) || event_tickets.present?
|
202
|
+
end
|
203
|
+
|
200
204
|
def registration_available?
|
201
205
|
return false if registration_start_at.blank? || registration_end_at.blank?
|
202
206
|
(registration_start_at..registration_end_at).cover?(Time.zone.now)
|
@@ -358,8 +358,11 @@ module Effective
|
|
358
358
|
|
359
359
|
# Manual admin action only
|
360
360
|
def send_confirmation_email!
|
361
|
-
|
362
|
-
|
361
|
+
send_order_emails!
|
362
|
+
end
|
363
|
+
|
364
|
+
def send_order_emails!
|
365
|
+
event_registration&.submit_order&.send_order_emails!
|
363
366
|
end
|
364
367
|
|
365
368
|
def event_registration_submit_order
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
- if resource.submit_order.deferred?
|
6
6
|
= render_checkout_step2(resource.submit_order, purchased_url: wizard_path(:complete), deferred_url: wizard_path(:submitted), declined_url: wizard_path(:checkout))
|
7
|
-
- elsif resource.just_let_them_edit_tickets_and_register_anyway?
|
7
|
+
- elsif resource.just_let_them_edit_tickets_and_register_anyway? || (resource.event.registerable_when_impersonating? && impersonating?)
|
8
8
|
= card do
|
9
9
|
= render_checkout_step2(resource.submit_order, purchased_url: wizard_path(:complete), deferred_url: wizard_path(:submitted), declined_url: wizard_path(:checkout))
|
10
10
|
- elsif resource.event.registerable? == false
|
@@ -14,7 +14,7 @@
|
|
14
14
|
- if @event.closed?
|
15
15
|
.alert.alert-warning.mb-3 This event is no longer available.
|
16
16
|
|
17
|
-
- if @event.registerable?
|
17
|
+
- if @event.registerable? || (impersonating? && @event.registerable_when_impersonating?)
|
18
18
|
.register.mb-4
|
19
19
|
- url = @event.external_registration_url.presence || effective_events.new_event_event_registration_path(@event)
|
20
20
|
= link_to 'Register', url, class: 'btn btn-lg btn-primary'
|
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.30.
|
4
|
+
version: 2.30.2
|
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-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|