effective_events 0.9.1 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
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