effective_events 0.9.1 → 0.9.3

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: e5dcd64cdf1ccbe55bc223df3126dd42527a472fbdc7ab2d6b33145d49a66e01
4
- data.tar.gz: 037d3a736841f99a94d1824140871a789c8256683a732f37e764512e8cb560d7
3
+ metadata.gz: 82816ca9bcbe094f896c1ed69dc9ed52e73eeb96e496c8a92b53f3b17478b183
4
+ data.tar.gz: a508d7f01b1a9dda0d79ba93690b129444e3acf6c1feddf1a3b0de7ad8e043fc
5
5
  SHA512:
6
- metadata.gz: 98e99331f42c62f330dd1a2156dec3cef6ca246b24505629a54fd28f57d7bd7901a6951351fde089c9b171893f7d2dc41b0b9fba8a517b30d7f41075a3dcadea
7
- data.tar.gz: 1a880b47a4a92783a933e9268a3e868500cdc4f0b17ba65191301733f2463f5c94193863caf2de8df9efd6a8465494492531a01418da48e45da05c60f88c7ed7
6
+ metadata.gz: bad7ad39adc838a4e65ec253261472dcae6bc4d646821e450e3d2b3023d608847a158952bbfde0b1368604fb5fb761f277cec1c608718788b591c7bdb0034de0
7
+ data.tar.gz: b9479522e0ef4962da64ed39ca391a23b18cf4fe1c0d8ceb2d3084d8d8c7fb7bd04c5ae68ba8cf08411fda0feed2664040fee86876315deed7a7c597bb75bc94
@@ -12,5 +12,19 @@ module Effective
12
12
  EffectiveEvents.EventRegistration.deep.where(owner: current_user, event: event)
13
13
  }
14
14
 
15
+ # Override ready_checkout to also check for any currently sold out tickets or addons
16
+ # Prevents people from coming back and purchasing them
17
+ def ready_checkout
18
+ return unless step == :checkout
19
+ return unless resource.class.try(:acts_as_purchasable_wizard?)
20
+
21
+ if resource.sold_out_event_registrants.present? || resource.sold_out_event_addons.present?
22
+ flash[:danger] = "Your selected event tickets are sold out. This event registration is no longer available."
23
+ return redirect_to('/dashboard')
24
+ end
25
+
26
+ resource.ready!
27
+ end
28
+
15
29
  end
16
30
  end
@@ -11,6 +11,7 @@ module Admin
11
11
  col :updated_at, visible: false
12
12
  col :created_at, visible: false
13
13
  col :id, visible: false
14
+ col :archived, visible: false
14
15
 
15
16
  col :event
16
17
 
@@ -11,6 +11,7 @@ module Admin
11
11
  col :updated_at, visible: false
12
12
  col :created_at, visible: false
13
13
  col :id, visible: false
14
+ col :archived, visible: false
14
15
 
15
16
  col :event
16
17
 
@@ -11,6 +11,7 @@ module Admin
11
11
  col :updated_at, visible: false
12
12
  col :created_at, visible: false
13
13
  col :id, visible: false
14
+ col :archived, visible: false
14
15
 
15
16
  col :event
16
17
 
@@ -11,6 +11,7 @@ module Admin
11
11
  col :updated_at, visible: false
12
12
  col :created_at, visible: false
13
13
  col :id, visible: false
14
+ col :archived, visible: false
14
15
 
15
16
  col :event
16
17
 
@@ -94,12 +94,12 @@ module EffectiveEventsEventRegistration
94
94
 
95
95
  # Validate all items are available
96
96
  validate(unless: -> { current_step == :checkout || done? }) do
97
- event_registrants.reject { |er| er.purchased? || er.event_ticket&.available? }.each do |item|
97
+ sold_out_event_registrants.each do |item|
98
98
  errors.add(:base, "The #{item.event_ticket} ticket is sold out and no longer available for purchase")
99
99
  item.errors.add(:event_ticket_id, "#{item.event_ticket} is unavailable for purchase")
100
100
  end
101
101
 
102
- event_addons.reject { |ep| ep.purchased? || ep.event_product&.available? }.each do |item|
102
+ sold_out_event_addons.each do |item|
103
103
  errors.add(:base, "The #{item.event_product} product is sold out and no longer available for purchase")
104
104
  item.errors.add(:event_product_id, "#{item.event_product} is unavailable for purchase")
105
105
  end
@@ -120,6 +120,14 @@ module EffectiveEventsEventRegistration
120
120
  notifications.each { |notification| notification.notify!(event_registrants: event_registrants) }
121
121
  end
122
122
 
123
+ def sold_out_event_registrants
124
+ event_registrants.reject { |er| er.purchased? || er.event_ticket&.available? }
125
+ end
126
+
127
+ def sold_out_event_addons
128
+ event_addons.reject { |ep| ep.purchased? || ep.event_product&.available? }
129
+ end
130
+
123
131
  end
124
132
 
125
133
  # Instance Methods
@@ -1,3 +1,3 @@
1
1
  module EffectiveEvents
2
- VERSION = '0.9.1'.freeze
2
+ VERSION = '0.9.3'.freeze
3
3
  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: 0.9.1
4
+ version: 0.9.3
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: 2023-10-26 00:00:00.000000000 Z
11
+ date: 2023-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails