effective_events 3.0.8 → 3.0.9
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: 1eb941a4d2f674462d040e0b05bf52347917044b3fd770e97401f7fbde823db5
|
4
|
+
data.tar.gz: 6824262cb6e8dca0fcddfb19615da17a2ac15b394d5bfaf74dd466d3c4615b15
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 68af9844bec221bbadb86095975c930cd408108294c4491c38ed9943da0f867ddfa4c60ad62f02a158251647322ff22cc817c6064454bf14c612b3ec84b3274d
|
7
|
+
data.tar.gz: 15d8a426770fe83299ffb414ca6a39bf69a50bff002dc04373afad3744e38ebac8c3841e97051b3bf10126b09137b762cc967ac46c5457781fdb635e2d4ffc8b
|
@@ -146,7 +146,7 @@ module EffectiveEventsEventRegistration
|
|
146
146
|
end
|
147
147
|
end
|
148
148
|
|
149
|
-
# Validate the same registrant user isn't registered on another registration
|
149
|
+
# Validate the same registrant user isn't registered for this ticket on another registration
|
150
150
|
validate(if: -> { current_step == :details }) do
|
151
151
|
present_event_registrants.select { |er| er.user.present? }.each do |er|
|
152
152
|
existing = Effective::EventRegistrant.unarchived.registered.where(event_ticket: er.event_ticket, user: er.user).where.not(id: er)
|
@@ -158,6 +158,18 @@ module EffectiveEventsEventRegistration
|
|
158
158
|
end
|
159
159
|
end
|
160
160
|
|
161
|
+
# Validate the same registrant user isn't registered for this event (any ticket) on another registration
|
162
|
+
validate(if: -> { current_step == :details && validate_one_ticket_per_event? }) do
|
163
|
+
present_event_registrants.select { |er| er.user.present? }.each do |er|
|
164
|
+
existing = Effective::EventRegistrant.unarchived.registered.where(event: er.event, user: er.user).where.not(id: er)
|
165
|
+
|
166
|
+
if existing.present?
|
167
|
+
errors.add(:base, "Unable to register #{er.user} for #{er.event}. They've already been registered")
|
168
|
+
er.errors.add(:user_id, "Unable to register #{er.user} for #{er.event}. They've already been registered")
|
169
|
+
end
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
161
173
|
# Validate all products are available for registration
|
162
174
|
validate(if: -> { current_step == :addons }) do
|
163
175
|
unavailable_event_products.each do |event_product|
|
@@ -525,6 +537,13 @@ module EffectiveEventsEventRegistration
|
|
525
537
|
false
|
526
538
|
end
|
527
539
|
|
540
|
+
# We always validate that the user cannot register for the same event ticket more than once
|
541
|
+
# This is an additional validation where they cannot register for the same event more than once
|
542
|
+
# Can be overridden in the model if you need event specific validation.
|
543
|
+
def validate_one_ticket_per_event?
|
544
|
+
EffectiveEvents.validate_one_ticket_per_event?
|
545
|
+
end
|
546
|
+
|
528
547
|
def wizard_step_title(step)
|
529
548
|
return EffectiveEvents.code_of_conduct_page_title if step == :code_of_conduct
|
530
549
|
default_wizard_step_title(step)
|
data/config/effective_events.rb
CHANGED
@@ -23,6 +23,9 @@ EffectiveEvents.setup do |config|
|
|
23
23
|
# Turn on the validation. You must have a company or organization when filling out Ticket Details screen.
|
24
24
|
config.company_or_organization_required = false
|
25
25
|
|
26
|
+
# Prevent users from purchasing more than one ticket for themselves to an event
|
27
|
+
config.validate_one_ticket_per_event = false
|
28
|
+
|
26
29
|
# Categories
|
27
30
|
config.categories = ['Events']
|
28
31
|
|
data/lib/effective_events.rb
CHANGED
@@ -10,7 +10,7 @@ module EffectiveEvents
|
|
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
12
|
:layout, :per_page, :use_effective_roles, :categories, :events_hint_text,
|
13
|
-
:organization_enabled, :create_users, :company_or_organization_required,
|
13
|
+
:organization_enabled, :create_users, :company_or_organization_required, :validate_one_ticket_per_event,
|
14
14
|
:code_of_conduct_enabled, :code_of_conduct_slug,
|
15
15
|
:event_registration_class_name
|
16
16
|
]
|
@@ -51,6 +51,10 @@ module EffectiveEvents
|
|
51
51
|
page
|
52
52
|
end
|
53
53
|
|
54
|
+
def self.validate_one_ticket_per_event?
|
55
|
+
validate_one_ticket_per_event == true
|
56
|
+
end
|
57
|
+
|
54
58
|
# If we can create delayed payment events at all
|
55
59
|
def self.delayed?
|
56
60
|
!!EffectiveOrders.try(:delayed?)
|
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: 3.0.
|
4
|
+
version: 3.0.9
|
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-10-
|
11
|
+
date: 2025-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|