effective_events 0.10.0 → 0.10.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d470360f476ba5b09c2f4acd803fa110b24f2897d93786f7590c57fa6cdb7456
4
- data.tar.gz: cd7f329fa1a2eb7408eadff743089caa9bb35dd0bd9a2d133df826dd7632354c
3
+ metadata.gz: 6e0eded3c712c018bb91f9c90eebe522030fa7d02d5d73b9de4001bda7c5dbcf
4
+ data.tar.gz: 3dc20c280ef92ebc93dad4cfe57df506e6a283bd4433a4792f07a236b3fb5ebc
5
5
  SHA512:
6
- metadata.gz: 0c75dc24831325d021992b156f74efaea4f19d296080d3d9468745c80a099c4cacdc8a1dab03d938b68c917533f455930ce9f70b65d53a16dbb0e0e324decdbf
7
- data.tar.gz: f57f397116d450ff4646e908843a1f3c155a94563eafe3a7c7956b662abb42c1a761c5cb545584fd1440527796c282990a4693825029337b8c0ac15c82527778
6
+ metadata.gz: 43fcaa469c42cf91dcb5ac3f6c52509372a4d8983c91cac727d350f4c9a3a797f04d4cd1f4ee6793502a5eb868dbc1c660e51862b3a0ad299f1ad416a69c7220
7
+ data.tar.gz: e7fe84b88841792c065bd307a80656ab4248b60306c2cfecaeb007ba09aa3b2bc782ee13512a91640e02c5b39156bb923bcd6683e889d51b36f99b2bd349bc67
@@ -1,12 +1,13 @@
1
1
  module Effective
2
2
  class EventRegistrationsController < ApplicationController
3
-
4
3
  if defined?(Devise)
5
4
  before_action :authenticate_user!, unless: -> { action_name == 'new' || (action_name == 'show' && params[:id] == 'start') }
6
5
  end
7
6
 
8
7
  include Effective::WizardController
9
8
 
9
+ before_action :redirect_unless_registerable, only: [:new, :show]
10
+
10
11
  resource_scope -> {
11
12
  event = Effective::Event.find(params[:event_id])
12
13
  EffectiveEvents.EventRegistration.deep.where(owner: current_user, event: event)
@@ -26,5 +27,16 @@ module Effective
26
27
  resource.ready!
27
28
  end
28
29
 
30
+ # If the event is no longer registerable, do not let them continue
31
+ def redirect_unless_registerable
32
+ return if resource.blank?
33
+ return if resource.event.blank?
34
+ return if resource.event.registerable?
35
+ return if resource.submitted?
36
+
37
+ flash[:danger] = "Your selected event is no longer available for registration. This event registration is no longer available."
38
+ return redirect_to('/dashboard')
39
+ end
40
+
29
41
  end
30
42
  end
@@ -37,7 +37,7 @@ module Admin
37
37
  end
38
38
 
39
39
  collection do
40
- scope = Effective::EventRegistrant.deep.purchased_or_deferred.includes(:purchased_order, :owner)
40
+ scope = Effective::EventRegistrant.deep.purchased_or_deferred
41
41
 
42
42
  if attributes[:event_id].present?
43
43
  scope = scope.where(event: event)
@@ -77,7 +77,13 @@ module EffectiveEventsEventRegistration
77
77
  timestamps
78
78
  end
79
79
 
80
- scope :deep, -> { includes(:owner, :event, :event_registrants) }
80
+ scope :deep, -> {
81
+ includes(:owner)
82
+ .includes(event: [:rich_texts, event_products: :purchased_event_addons, event_tickets: :purchased_event_registrants])
83
+ .includes(event_registrants: [event_ticket: :purchased_event_registrants])
84
+ .includes(event_addons: [event_product: :purchased_event_addons])
85
+ }
86
+
81
87
  scope :sorted, -> { order(:id) }
82
88
 
83
89
  scope :in_progress, -> { where.not(status: [:submitted]) }
@@ -6,7 +6,6 @@ module Effective
6
6
 
7
7
  if defined?(PgSearch)
8
8
  include PgSearch::Model
9
-
10
9
  multisearchable against: [:body]
11
10
  end
12
11
 
@@ -43,7 +42,6 @@ module Effective
43
42
  acts_as_tagged if respond_to?(:acts_as_tagged)
44
43
  acts_as_role_restricted if respond_to?(:acts_as_role_restricted)
45
44
 
46
-
47
45
  effective_resource do
48
46
  title :string
49
47
 
@@ -72,7 +70,12 @@ module Effective
72
70
  end
73
71
 
74
72
  scope :sorted, -> { order(start_at: :desc) }
75
- scope :deep, -> { includes(:event_registrants, :event_tickets) }
73
+
74
+ scope :deep, -> {
75
+ base = includes(:event_registrants, :event_tickets, :rich_texts)
76
+ base = base.includes(:pg_search_document) if defined?(PgSearch)
77
+ base
78
+ }
76
79
 
77
80
  scope :published, -> { where(draft: false).where(arel_table[:published_at].lt(Time.zone.now)) }
78
81
  scope :unpublished, -> { where(draft: true).where(arel_table[:published_at].gteq(Time.zone.now)) }
@@ -45,6 +45,7 @@
45
45
  = tab 'Access' do
46
46
  = render '/admin/events/form_access', event: event
47
47
 
48
- - if event.respond_to?(:log_changes_datatable)
48
+ - if event.persisted?
49
+ - if event.respond_to?(:logs_datatable)
49
50
  = tab "Logs" do
50
- = render_inline_datatable(event.log_changes_datatable)
51
+ = render_inline_datatable(event.logs_datatable)
@@ -1,4 +1,4 @@
1
- = effective_form_with(model: event, url: event.persisted? ? effective_events.admin_event_path(event.id) : effective_events.admin_events_path) do |f|
1
+ = effective_form_with(model: [:admin, event], engine: true) do |f|
2
2
  = f.check_box :authenticate_user, label: 'Yes, the user must be be signed in to view this event', hint: 'Sign up is required to register for any event'
3
3
 
4
4
  - if EffectiveEvents.use_effective_roles
@@ -1,5 +1,6 @@
1
1
  -# In progress registration
2
- - registration = EffectiveEvents.EventRegistration.in_progress.for(current_user).first
2
+ - registration = EffectiveEvents.EventRegistration.in_progress.includes(event: :event_products).for(current_user).first
3
+
3
4
  - datatable = EffectiveResources.best('EffectiveEventRegistrationsDatatable').new(self, namespace: :effective)
4
5
 
5
6
  - if registration.present?
@@ -1,3 +1,3 @@
1
1
  module EffectiveEvents
2
- VERSION = '0.10.0'.freeze
2
+ VERSION = '0.10.2'.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.10.0
4
+ version: 0.10.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: 2023-11-24 00:00:00.000000000 Z
11
+ date: 2023-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails