effective_events 0.1.7 → 0.1.8

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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -5
  3. data/app/controllers/admin/{event_purchases_controller.rb → event_addons_controller.rb} +1 -2
  4. data/app/datatables/admin/{effective_event_purchases_datatable.rb → effective_event_addons_datatable.rb} +2 -2
  5. data/app/datatables/admin/effective_event_products_datatable.rb +3 -3
  6. data/app/datatables/admin/effective_event_registrations_datatable.rb +1 -1
  7. data/app/datatables/admin/effective_events_datatable.rb +1 -1
  8. data/app/datatables/{effective_event_purchases_datatable.rb → effective_event_addons_datatable.rb} +5 -5
  9. data/app/datatables/effective_event_registrants_datatable.rb +1 -1
  10. data/app/datatables/effective_event_registrations_datatable.rb +1 -1
  11. data/app/datatables/effective_events_datatable.rb +2 -2
  12. data/app/models/concerns/effective_events_event_registration.rb +9 -9
  13. data/app/models/effective/event.rb +2 -2
  14. data/app/models/effective/{event_purchase.rb → event_addon.rb} +2 -2
  15. data/app/models/effective/event_product.rb +6 -6
  16. data/app/views/admin/{event_purchases → event_addons}/_form.html.haml +2 -2
  17. data/app/views/admin/event_products/_form.html.haml +7 -4
  18. data/app/views/admin/event_tickets/_form.html.haml +7 -5
  19. data/app/views/admin/events/_form.html.haml +4 -5
  20. data/app/views/effective/event_addons/_fields.html.haml +8 -0
  21. data/app/views/effective/event_registrants/_fields.html.haml +3 -5
  22. data/app/views/effective/event_registrations/_addons.html.haml +9 -0
  23. data/app/views/effective/event_registrations/addons.html.haml +17 -0
  24. data/app/views/effective/event_registrations/registrants.html.haml +0 -2
  25. data/app/views/effective/events/_dashboard.html.haml +0 -6
  26. data/config/effective_events.rb +3 -1
  27. data/config/routes.rb +1 -1
  28. data/db/migrate/01_create_effective_events.rb.erb +2 -2
  29. data/lib/effective_events/version.rb +1 -1
  30. data/lib/effective_events.rb +1 -1
  31. data/lib/generators/effective_events/install_generator.rb +1 -1
  32. metadata +10 -10
  33. data/app/views/effective/event_purchases/_fields.html.haml +0 -10
  34. data/app/views/effective/event_registrations/_purchases.html.haml +0 -9
  35. data/app/views/effective/event_registrations/purchases.html.haml +0 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 19f4a303dbab49f23b15a28c71bce29f9d55036371c533a27f36ad3ac70ca1b4
4
- data.tar.gz: ad51623c2087ccf9a1c2a2a97d1623f89224be38cd7aae06b246aedb2108e2e3
3
+ metadata.gz: 44c51f928a7db75214d362f3809a5249cdebb8a22e9239f5cc74e0ea19db958b
4
+ data.tar.gz: '099acc31c59746278f78b679b6605430f128f40fa22bfe441c92c84cff974e15'
5
5
  SHA512:
6
- metadata.gz: 7d51690029093356830ee881f54881054b4eafa9b0aaf99d2389c9d8966a2d76b2d8456f11e9ef45ef7df92cddce73c89961094802c21a198a766b04373b0eb8
7
- data.tar.gz: 68e1785f75da39ad9916a065c89dc79a3995602c250315276e165b58f4abf43bc4ab116c45698e1ee36cccfa7b7fe2c364efefab73d382deb58bd623e8064325
6
+ metadata.gz: 623603bcfb7c8ad11228d10a6526c1799c92482fb57e0b258ff43d75c39f40d014a3449946edd11d745026987d62f5da7739667bfc5b2f427acb348341edac17
7
+ data.tar.gz: 8eac487ea782b237e1efb89163c799a0f95224f5682d82e08ad4d16930b0e0f953ba7ab6f7f9b8f5e44ad9b82443adbdb29786145bd1ce16f0a1062b762bf1d0
data/README.md CHANGED
@@ -71,7 +71,7 @@ The permissions you actually want to define are as follows (using CanCan):
71
71
  can([:index, :show], Effective::Event) { |event| !event.draft? }
72
72
  can([:new, :create], EffectiveEvents.EventRegistration)
73
73
  can([:show, :index], Effective::EventRegistrant) { |registrant| registrant.owner == user || registrant.owner.blank? }
74
- can([:show, :index], Effective::EventPurchase) { |purchase| purchase.owner == user || purchase.owner.blank? }
74
+ can([:show, :index], Effective::EventAddon) { |addon| addon.owner == user || addon.owner.blank? }
75
75
  can([:show, :index], EffectiveEvents.EventRegistration) { |registration| registration.owner == user }
76
76
  can([:update, :destroy], EffectiveEvents.EventRegistration) { |registration| registration.owner == user && !registration.was_submitted? }
77
77
 
@@ -85,15 +85,15 @@ if user.admin?
85
85
  can(:mark_paid, Effective::EventRegistrant) { |er| !er.event_registration_id.present? }
86
86
  can(:destroy, Effective::EventRegistrant) { |er| !er.purchased? }
87
87
 
88
- can(crud - [:destroy], Effective::EventPurchase)
89
- can(:mark_paid, Effective::EventPurchase) { |er| !er.event_registration_id.present? }
90
- can(:destroy, Effective::EventPurchase) { |er| !er.purchased? }
88
+ can(crud - [:destroy], Effective::EventAddon)
89
+ can(:mark_paid, Effective::EventAddon) { |er| !er.event_registration_id.present? }
90
+ can(:destroy, Effective::EventAddon) { |er| !er.purchased? }
91
91
 
92
92
  can(crud - [:destroy], Effective::EventTicket)
93
93
  can(:destroy, Effective::EventTicket) { |et| et.purchased_event_registrants_count == 0 }
94
94
 
95
95
  can(crud - [:destroy], Effective::EventProduct)
96
- can(:destroy, Effective::EventProduct) { |et| et.purchased_event_purchases_count == 0 }
96
+ can(:destroy, Effective::EventProduct) { |et| et.purchased_event_addons_count == 0 }
97
97
 
98
98
  can([:index, :show], EffectiveEvents.EventRegistration)
99
99
  end
@@ -1,11 +1,10 @@
1
1
  module Admin
2
- class EventPurchasesController < ApplicationController
2
+ class EventAddonsController < ApplicationController
3
3
  before_action(:authenticate_user!) if defined?(Devise)
4
4
  before_action { EffectiveResources.authorize!(self, :admin, :effective_events) }
5
5
 
6
6
  include Effective::CrudController
7
7
 
8
8
  submit :mark_paid, 'Save and Mark Paid'
9
-
10
9
  end
11
10
  end
@@ -1,5 +1,5 @@
1
1
  module Admin
2
- class EffectiveEventPurchasesDatatable < Effective::Datatable
2
+ class EffectiveEventAddonsDatatable < Effective::Datatable
3
3
  datatable do
4
4
  col :updated_at, visible: false
5
5
  col :created_at, visible: false
@@ -23,7 +23,7 @@ module Admin
23
23
  end
24
24
 
25
25
  collection do
26
- scope = Effective::EventPurchase.deep.purchased
26
+ scope = Effective::EventAddon.deep.purchased
27
27
 
28
28
  if attributes[:event_id].present?
29
29
  scope = scope.where(event: event)
@@ -20,12 +20,12 @@ module Admin
20
20
  end
21
21
  end
22
22
 
23
- col :purchased_event_purchases_count, label: 'Purchased'
23
+ col :purchased_event_addons_count, label: 'Purchased'
24
24
  col :capacity, visible: false
25
25
  col :capacity_available, visible: false
26
26
 
27
- col :purchased_event_purchases, label: 'Purchased by' do |product|
28
- product.purchased_event_purchases.sort_by(&:to_s).map do |purchase|
27
+ col :purchased_event_addons, label: 'Purchased by' do |product|
28
+ product.purchased_event_addons.sort_by(&:to_s).map do |purchase|
29
29
  content_tag(:div, purchase.owner.to_s, class: 'col-resource_item')
30
30
  end.join.html_safe
31
31
  end
@@ -13,7 +13,7 @@ class Admin::EffectiveEventRegistrationsDatatable < Effective::Datatable
13
13
  col :owner
14
14
 
15
15
  col :event_registrants, search: :string
16
- col :event_purchases, search: :string
16
+ col :event_addons, search: :string
17
17
  col :orders, label: 'Order'
18
18
 
19
19
  actions_col
@@ -34,7 +34,7 @@ module Admin
34
34
  col :event_tickets, search: :string
35
35
  col :event_products, search: :string
36
36
  col :event_registrants, search: :string
37
- col :event_purchases, search: :string
37
+ col :event_addons, search: :string
38
38
 
39
39
  col :roles, visible: false
40
40
  col :authenticate_user, visible: false
@@ -1,16 +1,16 @@
1
- # Used on the Event Registrations purchases step
1
+ # Used on the Event Registrations Addons step
2
2
 
3
- class EffectiveEventPurchasesDatatable < Effective::Datatable
3
+ class EffectiveEventAddonsDatatable < Effective::Datatable
4
4
  datatable do
5
5
 
6
- col :event_product, search: :string
6
+ col :event_product, search: :string, label: 'Product'
7
7
  col :price, as: :price
8
- col :notes
8
+ # col :notes
9
9
  # no actions_col
10
10
  end
11
11
 
12
12
  collection do
13
- scope = Effective::EventPurchase.deep.all
13
+ scope = Effective::EventAddon.deep.all
14
14
 
15
15
  if event.present?
16
16
  scope = scope.where(event: event)
@@ -3,7 +3,7 @@
3
3
  class EffectiveEventRegistrantsDatatable < Effective::Datatable
4
4
  datatable do
5
5
 
6
- col :event_ticket, search: :string
6
+ col :event_ticket, search: :string, label: 'Ticket'
7
7
 
8
8
  col :name do |er|
9
9
  "#{er.first_name} #{er.last_name}<br><small>#{mail_to(er.email)}</small>"
@@ -17,7 +17,7 @@ class EffectiveEventRegistrationsDatatable < Effective::Datatable
17
17
  col :owner, visible: false, search: :string
18
18
  col :status, visible: false
19
19
  col :event_registrants, label: 'Registrants', search: :string
20
- col :event_purchases, label: 'Purchases', search: :string
20
+ col :event_addons, label: 'Add-ons', search: :string
21
21
  col :orders, action: :show, visible: false, search: :string
22
22
 
23
23
  actions_col(actions: []) do |er|
@@ -10,9 +10,9 @@ class EffectiveEventsDatatable < Effective::Datatable
10
10
  order :title
11
11
  col :id, visible: false
12
12
 
13
- col :start_at, label: 'Event Date', as: :date
13
+ col :start_at, label: 'Date', as: :date
14
14
 
15
- col :title, label: 'Event' do |event|
15
+ col :title, label: 'Title' do |event|
16
16
  if event.registerable?
17
17
  link_to(event.to_s, effective_events.new_event_event_registration_path(event))
18
18
  else
@@ -37,7 +37,7 @@ module EffectiveEventsEventRegistration
37
37
  acts_as_wizard(
38
38
  start: 'Start',
39
39
  registrants: 'Registrants',
40
- purchases: 'Purchases',
40
+ addons: 'Add-ons',
41
41
  summary: 'Review',
42
42
  billing: 'Billing Address',
43
43
  checkout: 'Checkout',
@@ -58,8 +58,8 @@ module EffectiveEventsEventRegistration
58
58
  has_many :event_registrants, -> { order(:id) }, class_name: 'Effective::EventRegistrant', inverse_of: :event_registration, dependent: :destroy
59
59
  accepts_nested_attributes_for :event_registrants, reject_if: :all_blank, allow_destroy: true
60
60
 
61
- has_many :event_purchases, -> { order(:id) }, class_name: 'Effective::EventPurchase', inverse_of: :event_registration, dependent: :destroy
62
- accepts_nested_attributes_for :event_purchases, reject_if: :all_blank, allow_destroy: true
61
+ has_many :event_addons, -> { order(:id) }, class_name: 'Effective::EventAddon', inverse_of: :event_registration, dependent: :destroy
62
+ accepts_nested_attributes_for :event_addons, reject_if: :all_blank, allow_destroy: true
63
63
 
64
64
  has_many :orders, -> { order(:id) }, as: :parent, class_name: 'Effective::Order', dependent: :nullify
65
65
  accepts_nested_attributes_for :orders
@@ -102,7 +102,7 @@ module EffectiveEventsEventRegistration
102
102
  item.errors.add(:event_ticket_id, "#{item.event_ticket} is unavailable for purchase")
103
103
  end
104
104
 
105
- event_purchases.reject { |ep| ep.purchased? || ep.event_product&.available? }.each do |item|
105
+ event_addons.reject { |ep| ep.purchased? || ep.event_product&.available? }.each do |item|
106
106
  errors.add(:base, "The #{item.event_product} product is sold out and no longer available for purchase")
107
107
  item.errors.add(:event_product_id, "#{item.event_product} is unavailable for purchase")
108
108
  end
@@ -110,12 +110,12 @@ module EffectiveEventsEventRegistration
110
110
 
111
111
  def required_steps
112
112
  return self.class.test_required_steps if Rails.env.test? && self.class.test_required_steps.present?
113
- event&.event_products.present? ? wizard_step_keys : (wizard_step_keys - [:purchases])
113
+ event&.event_products.present? ? wizard_step_keys : (wizard_step_keys - [:addons])
114
114
  end
115
115
 
116
116
  # All Fees and Orders
117
117
  def submit_fees
118
- (event_registrants + event_purchases)
118
+ (event_registrants + event_addons)
119
119
  end
120
120
 
121
121
  end
@@ -140,9 +140,9 @@ module EffectiveEventsEventRegistration
140
140
  end
141
141
 
142
142
  # Find or build. But it's not gonna work with more than 1. This is for testing only really.
143
- def event_purchase(event_product:)
144
- purchase = event_purchases.find { |ep| ep.event_product == event_product }
145
- purchase || event_purchases.build(event_product: event_product, owner: owner)
143
+ def event_addon(event_product:)
144
+ addon = event_addons.find { |ep| ep.event_product == event_product }
145
+ addon || event_addons.build(event_product: event_product, owner: owner)
146
146
  end
147
147
 
148
148
  # This builds the default event registrants used by the wizard form
@@ -11,8 +11,8 @@ module Effective
11
11
  has_many :event_registrants, -> { order(:event_ticket_id, :created_at) }, inverse_of: :event
12
12
  accepts_nested_attributes_for :event_registrants, allow_destroy: true
13
13
 
14
- has_many :event_purchases, -> { order(:event_product_id, :created_at) }, inverse_of: :event
15
- accepts_nested_attributes_for :event_purchases, allow_destroy: true
14
+ has_many :event_addons, -> { order(:event_product_id, :created_at) }, inverse_of: :event
15
+ accepts_nested_attributes_for :event_addons, allow_destroy: true
16
16
 
17
17
  # rich_text_body - Used by the select step
18
18
  has_many_rich_texts
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Just like each EventRegistration has EventTickets and EventRegistrants
4
- # An Event Registration has EventProducts and EventPurchases
4
+ # An Event Registration has EventProducts and EventAddons
5
5
 
6
6
  module Effective
7
- class EventPurchase < ActiveRecord::Base
7
+ class EventAddon < ActiveRecord::Base
8
8
  acts_as_purchasable
9
9
 
10
10
  log_changes(to: :event) if respond_to?(:log_changes)
@@ -4,8 +4,8 @@ module Effective
4
4
  class EventProduct < ActiveRecord::Base
5
5
  belongs_to :event
6
6
 
7
- has_many :event_purchases
8
- has_many :purchased_event_purchases, -> { EventPurchase.purchased }, class_name: 'Effective::EventPurchase'
7
+ has_many :event_addons
8
+ has_many :purchased_event_addons, -> { EventAddon.purchased }, class_name: 'Effective::EventAddon'
9
9
 
10
10
  log_changes(to: :event) if respond_to?(:log_changes)
11
11
 
@@ -28,7 +28,7 @@ module Effective
28
28
  end
29
29
 
30
30
  scope :sorted, -> { order(:position) }
31
- scope :deep, -> { with_rich_text_body.includes(:purchased_event_purchases) }
31
+ scope :deep, -> { with_rich_text_body.includes(:purchased_event_addons) }
32
32
 
33
33
  scope :archived, -> { where(archived: true) }
34
34
  scope :unarchived, -> { where(archived: false) }
@@ -56,11 +56,11 @@ module Effective
56
56
 
57
57
  def capacity_available
58
58
  return nil if capacity.blank?
59
- [(capacity - purchased_event_purchases_count), 0].max
59
+ [(capacity - purchased_event_addons_count), 0].max
60
60
  end
61
61
 
62
- def purchased_event_purchases_count
63
- purchased_event_purchases.length
62
+ def purchased_event_addons_count
63
+ purchased_event_addons.length
64
64
  end
65
65
 
66
66
  end
@@ -1,4 +1,4 @@
1
- = effective_form_with(model: [:admin, event_purchase], engine: true) do |f|
1
+ = effective_form_with(model: [:admin, event_addon], engine: true) do |f|
2
2
  = f.hidden_field :event_id
3
3
 
4
4
  - if f.object.new_record?
@@ -6,7 +6,7 @@
6
6
  - else
7
7
  = f.static_field :owner
8
8
 
9
- = render 'effective/event_purchases/fields', f: f, event: event_purchase.event
9
+ = render 'effective/event_addons/fields', f: f, event: event_addon.event
10
10
 
11
11
  - if f.object.new_record?
12
12
  = f.submit 'Save and Mark Paid'
@@ -2,11 +2,14 @@
2
2
  = f.hidden_field :event_id
3
3
 
4
4
  = f.text_field :title
5
- = f.number_field :capacity, hint: 'The number of online purchases will be limited to capacity.'
6
- = f.check_box :archived, label: 'Yes, archive this product and make it unavailable for purchase'
5
+ = f.number_field :capacity, hint: 'The number of addons will be limited to this capacity. Leave blank for unlimited capacity.'
7
6
 
8
- = f.price_field :price
9
- = f.text_field :qb_item_name, label: 'Quickbooks item name'
7
+ = f.price_field :price, hint: 'A price of $0 will allow a checkout for free.'
10
8
  = f.check_box :tax_exempt
11
9
 
10
+ - if defined?(EffectiveQbSync)
11
+ = f.text_field :qb_item_name, label: 'QuickBooks item name'
12
+
13
+ = f.check_box :archived, label: 'Archive this product. It will be unavailable for purchase.'
14
+
12
15
  = effective_submit(f)
@@ -2,13 +2,15 @@
2
2
  = f.hidden_field :event_id
3
3
 
4
4
  = f.text_field :title
5
- = f.number_field :capacity, hint: 'The number of online purchases will be limited to capacity.'
6
- = f.check_box :archived, label: 'Yes, archive this ticket and make it unavailable for purchase'
5
+ = f.number_field :capacity, hint: 'The number of registrations will be limited to capacity. Leave blank for unlimited capacity.'
7
6
 
8
- = f.price_field :regular_price
9
- = f.price_field :early_bird_price
10
- = f.text_field :qb_item_name, label: 'Quickbooks item name'
7
+ = f.price_field :regular_price, hint: 'A price of $0 will allow a checkout for free.'
8
+ = f.price_field :early_bird_price, hint: 'A price of $0 will allow a checkout for free.'
11
9
  = f.check_box :tax_exempt
12
10
 
11
+ - if defined?(EffectiveQbSync)
12
+ = f.text_field :qb_item_name, label: 'QuickBooks item name'
13
+
14
+ = f.check_box :archived, label: 'Archive this ticket. It will be unavailable for purchase.'
13
15
 
14
16
  = effective_submit(f)
@@ -7,8 +7,6 @@
7
7
  = render '/admin/events/form_content', event: event
8
8
 
9
9
  = tab 'Tickets' do
10
- %p An event must have tickets before registration can begin
11
-
12
10
  %h2 Tickets
13
11
  - datatable = Admin::EffectiveEventTicketsDatatable.new(event_id: event.id)
14
12
  = render_inline_datatable(datatable)
@@ -28,9 +26,10 @@
28
26
  - datatable = Admin::EffectiveEventRegistrantsDatatable.new(event_id: event.id)
29
27
  .mb-4= render_inline_datatable(datatable)
30
28
 
31
- %h2 Purchases
32
- - datatable = Admin::EffectiveEventPurchasesDatatable.new(event_id: event.id)
33
- = render_inline_datatable(datatable)
29
+ = tab 'Add-ons' do
30
+ %h2 Add-ons
31
+ - datatable = Admin::EffectiveEventAddonsDatatable.new(event_id: event.id)
32
+ .mb-4= render_inline_datatable(datatable)
34
33
 
35
34
  = tab 'Wizard' do
36
35
  = render '/admin/events/form_event_registration_content', event: event
@@ -0,0 +1,8 @@
1
+ .card.mb-4
2
+ .card-body
3
+ - if f.object.purchased?
4
+ = f.static_field :event_product, label: 'Purchased event add-ons'
5
+ - else
6
+ = f.select :event_product_id, effective_events_event_products_collection(event), label: false
7
+
8
+ -# = f.text_area :notes, label: 'Notes'
@@ -1,11 +1,9 @@
1
- .card
1
+ .card.mb-4
2
2
  .card-body
3
- %h5.card-title Event Registrant
4
-
5
3
  - if f.object.purchased?
6
- = f.static_field :event_ticket, label: 'Purchased event ticket'
4
+ = f.static_field :event_ticket, label: 'Purchased ticket'
7
5
  - else
8
- = f.select :event_ticket_id, effective_events_event_tickets_collection(event)
6
+ = f.select :event_ticket_id, effective_events_event_tickets_collection(event), label: 'Ticket'
9
7
 
10
8
  .row
11
9
  .col-lg= f.text_field :first_name
@@ -0,0 +1,9 @@
1
+ = card do
2
+ .row
3
+ .col-sm
4
+ %h5.card-title= event_registration.wizard_step_title(:addons)
5
+ .col-sm-auto.text-right
6
+ = link_to('Edit', wizard_path(:addons)) if edit_effective_event_registrations_wizard?
7
+
8
+ - datatable = EffectiveEventAddonsDatatable.new(event_registration: event_registration)
9
+ .mb-4= render_simple_datatable(datatable)
@@ -0,0 +1,17 @@
1
+ = render 'layout' do
2
+ = render 'effective/event_registrations/content', resource: resource
3
+
4
+ %p
5
+ Add-ons are free or paid additional items that can be included in your registration.
6
+ %br
7
+ If you are registering for multiple people, you need to include an add-on for each person.
8
+
9
+ .card
10
+ .card-body
11
+ = effective_form_with(model: resource, url: wizard_path(step), method: :put) do |f|
12
+ = f.hidden_field :id
13
+
14
+ = f.has_many :event_addons do |fp|
15
+ = render('effective/event_addons/fields', f: fp, event: f.object.event)
16
+
17
+ = f.save 'Save and Continue'
@@ -3,8 +3,6 @@
3
3
 
4
4
  .card
5
5
  .card-body
6
- %p Please add one or more registrant.
7
-
8
6
  = effective_form_with(model: resource, url: wizard_path(step), method: :put) do |f|
9
7
  = f.hidden_field :id
10
8
 
@@ -2,12 +2,6 @@
2
2
 
3
3
  - upcoming = Effective::Event.events(user: current_user).upcoming.count
4
4
 
5
- %p
6
- - if upcoming == 1
7
- There is 1 upcoming event.
8
- - else
9
- There are #{upcoming} upcoming events.
10
-
11
5
  - datatable = EffectiveEventsDatatable.new(self, namespace: :effective)
12
6
  = render_datatable(datatable, simple: true)
13
7
 
@@ -3,7 +3,7 @@ EffectiveEvents.setup do |config|
3
3
  config.event_tickets_table_name = :event_tickets
4
4
  config.event_products_table_name = :event_products
5
5
  config.event_registrants_table_name = :event_registrants
6
- config.event_purchases_table_name = :event_purchases
6
+ config.event_addons_table_name = :event_addons
7
7
  config.event_registrations_table_name = :event_registrations
8
8
 
9
9
  # Layout Settings
@@ -13,7 +13,9 @@ EffectiveEvents.setup do |config|
13
13
  # Event Settings
14
14
  # config.event_registrations_class_name = 'Effective::EventRegistration'
15
15
 
16
+ # Pagination length on the Events#index page
16
17
  config.per_page = 10
17
18
 
19
+ # Events can be restricted by role
18
20
  config.use_effective_roles = true
19
21
  end
data/config/routes.rb CHANGED
@@ -19,7 +19,7 @@ EffectiveEvents::Engine.routes.draw do
19
19
  resources :event_tickets, except: [:show]
20
20
  resources :event_products, except: [:show]
21
21
  resources :event_registrants, except: [:show]
22
- resources :event_purchases, except: [:show]
22
+ resources :event_addons, except: [:show]
23
23
  resources :event_registrations, only: [:index, :show]
24
24
  end
25
25
 
@@ -14,7 +14,7 @@ class CreateEffectiveEvents < ActiveRecord::Migration[6.0]
14
14
  t.datetime :early_bird_end_at
15
15
 
16
16
  t.integer :event_registrants_count, default: 0
17
- t.integer :event_purchases_count, default: 0
17
+ t.integer :event_addons_count, default: 0
18
18
 
19
19
  t.integer :roles_mask
20
20
  t.boolean :authenticate_user, default: false
@@ -84,7 +84,7 @@ class CreateEffectiveEvents < ActiveRecord::Migration[6.0]
84
84
  t.timestamps
85
85
  end
86
86
 
87
- create_table <%= @event_purchases_table_name %> do |t|
87
+ create_table <%= @event_addons_table_name %> do |t|
88
88
  t.integer :event_id
89
89
  t.integer :event_product_id
90
90
 
@@ -1,3 +1,3 @@
1
1
  module EffectiveEvents
2
- VERSION = '0.1.7'.freeze
2
+ VERSION = '0.1.8'.freeze
3
3
  end
@@ -7,7 +7,7 @@ module EffectiveEvents
7
7
  def self.config_keys
8
8
  [
9
9
  :events_table_name, :event_registrants_table_name, :event_tickets_table_name,
10
- :event_registrations_table_name, :event_products_table_name, :event_purchases_table_name,
10
+ :event_registrations_table_name, :event_products_table_name, :event_addons_table_name,
11
11
  :layout, :per_page, :use_effective_roles,
12
12
  :event_registration_class_name
13
13
  ]
@@ -22,7 +22,7 @@ module EffectiveEvents
22
22
  def create_migration_file
23
23
  @events_table_name = ':' + EffectiveEvents.events_table_name.to_s
24
24
  @event_products_table_name = ':' + EffectiveEvents.event_products_table_name.to_s
25
- @event_purchases_table_name = ':' + EffectiveEvents.event_purchases_table_name.to_s
25
+ @event_addons_table_name = ':' + EffectiveEvents.event_addons_table_name.to_s
26
26
  @event_registrants_table_name = ':' + EffectiveEvents.event_registrants_table_name.to_s
27
27
  @event_registrations_table_name = ':' + EffectiveEvents.event_registrations_table_name.to_s
28
28
  @event_tickets_table_name = ':' + EffectiveEvents.event_tickets_table_name.to_s
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.1.7
4
+ version: 0.1.8
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: 2022-01-13 00:00:00.000000000 Z
11
+ date: 2022-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -179,34 +179,34 @@ files:
179
179
  - app/assets/javascripts/effective_events/base.js
180
180
  - app/assets/stylesheets/effective_events.scss
181
181
  - app/assets/stylesheets/effective_events/base.scss
182
+ - app/controllers/admin/event_addons_controller.rb
182
183
  - app/controllers/admin/event_products_controller.rb
183
- - app/controllers/admin/event_purchases_controller.rb
184
184
  - app/controllers/admin/event_registrants_controller.rb
185
185
  - app/controllers/admin/event_registrations_controller.rb
186
186
  - app/controllers/admin/event_tickets_controller.rb
187
187
  - app/controllers/admin/events_controller.rb
188
188
  - app/controllers/effective/event_registrations_controller.rb
189
189
  - app/controllers/effective/events_controller.rb
190
+ - app/datatables/admin/effective_event_addons_datatable.rb
190
191
  - app/datatables/admin/effective_event_products_datatable.rb
191
- - app/datatables/admin/effective_event_purchases_datatable.rb
192
192
  - app/datatables/admin/effective_event_registrants_datatable.rb
193
193
  - app/datatables/admin/effective_event_registrations_datatable.rb
194
194
  - app/datatables/admin/effective_event_tickets_datatable.rb
195
195
  - app/datatables/admin/effective_events_datatable.rb
196
- - app/datatables/effective_event_purchases_datatable.rb
196
+ - app/datatables/effective_event_addons_datatable.rb
197
197
  - app/datatables/effective_event_registrants_datatable.rb
198
198
  - app/datatables/effective_event_registrations_datatable.rb
199
199
  - app/datatables/effective_events_datatable.rb
200
200
  - app/helpers/effective_events_helper.rb
201
201
  - app/models/concerns/effective_events_event_registration.rb
202
202
  - app/models/effective/event.rb
203
+ - app/models/effective/event_addon.rb
203
204
  - app/models/effective/event_product.rb
204
- - app/models/effective/event_purchase.rb
205
205
  - app/models/effective/event_registrant.rb
206
206
  - app/models/effective/event_registration.rb
207
207
  - app/models/effective/event_ticket.rb
208
+ - app/views/admin/event_addons/_form.html.haml
208
209
  - app/views/admin/event_products/_form.html.haml
209
- - app/views/admin/event_purchases/_form.html.haml
210
210
  - app/views/admin/event_registrants/_form.html.haml
211
211
  - app/views/admin/event_tickets/_form.html.haml
212
212
  - app/views/admin/events/_form.html.haml
@@ -214,19 +214,19 @@ files:
214
214
  - app/views/admin/events/_form_content.html.haml
215
215
  - app/views/admin/events/_form_event.html.haml
216
216
  - app/views/admin/events/_form_event_registration_content.html.haml
217
- - app/views/effective/event_purchases/_fields.html.haml
217
+ - app/views/effective/event_addons/_fields.html.haml
218
218
  - app/views/effective/event_registrants/_fields.html.haml
219
+ - app/views/effective/event_registrations/_addons.html.haml
219
220
  - app/views/effective/event_registrations/_content.html.haml
220
221
  - app/views/effective/event_registrations/_dashboard.html.haml
221
222
  - app/views/effective/event_registrations/_event_registration.html.haml
222
223
  - app/views/effective/event_registrations/_layout.html.haml
223
224
  - app/views/effective/event_registrations/_orders.html.haml
224
- - app/views/effective/event_registrations/_purchases.html.haml
225
225
  - app/views/effective/event_registrations/_registrants.html.haml
226
226
  - app/views/effective/event_registrations/_summary.html.haml
227
+ - app/views/effective/event_registrations/addons.html.haml
227
228
  - app/views/effective/event_registrations/billing.html.haml
228
229
  - app/views/effective/event_registrations/checkout.html.haml
229
- - app/views/effective/event_registrations/purchases.html.haml
230
230
  - app/views/effective/event_registrations/registrants.html.haml
231
231
  - app/views/effective/event_registrations/start.html.haml
232
232
  - app/views/effective/event_registrations/submitted.html.haml
@@ -1,10 +0,0 @@
1
- .card
2
- .card-body
3
- %h5.card-title Event Purchase
4
-
5
- - if f.object.purchased?
6
- = f.static_field :event_product, label: 'Purchased event product'
7
- - else
8
- = f.select :event_product_id, effective_events_event_products_collection(event)
9
-
10
- = f.text_area :notes, label: 'Notes'
@@ -1,9 +0,0 @@
1
- = card do
2
- .row
3
- .col-sm
4
- %h5.card-title= event_registration.wizard_step_title(:purchases)
5
- .col-sm-auto.text-right
6
- = link_to('Edit', wizard_path(:purchases)) if edit_effective_event_registrations_wizard?
7
-
8
- - datatable = EffectiveEventPurchasesDatatable.new(event_registration: event_registration)
9
- .mb-4= render_simple_datatable(datatable)
@@ -1,14 +0,0 @@
1
- = render 'layout' do
2
- = render 'effective/event_registrations/content', resource: resource
3
-
4
- .card
5
- .card-body
6
- %p Please add one or more products.
7
-
8
- = effective_form_with(model: resource, url: wizard_path(step), method: :put) do |f|
9
- = f.hidden_field :id
10
-
11
- = f.has_many :event_purchases do |fp|
12
- = render('effective/event_purchases/fields', f: fp, event: f.object.event)
13
-
14
- = f.save 'Save and Continue'