effective_events 3.0.4 → 3.0.6

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: 727e4c9d82e44668cf175eeb78d9cbf252dce6499e38895244e6bfdd12126c6b
4
- data.tar.gz: f734b03843f83f65231c9684a3c1309309ece9eeb0361b70af1632f4e105b9cc
3
+ metadata.gz: faa489daa2716307315f02ab83e8478874e8dbed3c415f1a7a3430188ab08475
4
+ data.tar.gz: b78169fe2686d716b00648c98c13d359254eaa1a3a1542744d50183baa0ee68a
5
5
  SHA512:
6
- metadata.gz: 708327d6eca0f1332eae5e430e7f173cf97cf8022ce7c58103f3e08023fe7362262da33eef97ba317bee4be25b47d5843e411456350f36aca0913d925dace81d
7
- data.tar.gz: 8916c88b24d4630ffdae2edfaa73ae444d342516f93694aa0fdcd9837498588409bd59bb222e43e433af74bfb6f5ca747905aed2b152a8c9797334358b8f39e6
6
+ metadata.gz: f80c9604ab423c23487a6f29de1fce40cacd1c0c95abbfe8a447fbd346441daec47f4ea49a885aaba5540bd157d56ff15d81c4a71209bf6c88bab373bb69a88f
7
+ data.tar.gz: b9835eb78443258a30d878bdf338147111cd70e6f692c83c0c4adb76c2a58ec72f02eba04d10ac34f248d6bee4ad6805717e3342bb0e9ff5926bd3ad2496c01e
@@ -21,11 +21,11 @@ module Admin
21
21
 
22
22
  col :event
23
23
 
24
- col :owner, visible: false
24
+ col :owner
25
25
  col :event_registration, visible: false
26
26
 
27
27
  if defined?(EffectiveMemberships) && EffectiveMemberships.Organization.respond_to?(:sponsors)
28
- col :sponsorship, search: EffectiveMemberships.Organization::SPONSORSHIPS do |er|
28
+ col :sponsorship, search: EffectiveMemberships.Organization::SPONSORSHIPS, visible: false do |er|
29
29
  er.user.try(:sponsorship)
30
30
  end
31
31
  end
@@ -59,9 +59,9 @@ module Admin
59
59
  elsif er.first_name.present?
60
60
  "#{er.first_name} #{er.last_name}"
61
61
  elsif er.owner.present?
62
- er.owner.to_s + ' - GUEST'
62
+ 'Pending Name'
63
63
  else
64
- 'Unknown'
64
+ 'Pending Name'
65
65
  end
66
66
  end
67
67
 
@@ -27,8 +27,15 @@ module Admin
27
27
 
28
28
  col :draft?, as: :boolean, visible: false
29
29
  col :published?, as: :boolean
30
- col :published_start_at, label: "Published start", as: :datetime
31
- col :published_end_at, label: "Published end", as: :datetime
30
+ col :published_start_at, label: "Published start", as: :datetime, visible: false
31
+ col :published_end_at, label: "Published end", as: :datetime, visible: false
32
+
33
+ # TODO
34
+ # col :total_capacity, label: 'Capacity' do |event|
35
+ # if event.event_tickets_with_capacity.present?
36
+ # "#{event.total_capacity_taken}/#{event.total_capacity}"
37
+ # end
38
+ # end
32
39
 
33
40
  col :excerpt, visible: false
34
41
 
@@ -48,14 +48,26 @@ module EffectiveEventsHelper
48
48
  guest_of_member = (ticket.guest_of_member? && (current_user.try(:membership_present?) || current_user.is_any?(:member)))
49
49
 
50
50
  prices = if event.early_bird? && ticket.early_bird_price.present?
51
- [ticket.early_bird_price]
51
+ {
52
+ ticket.early_bird_price => badge('Early Bird', 'badge-warning')
53
+ }
52
54
  elsif ticket.members?
53
- [ticket.member_price, (ticket.guest_of_member_price if guest_of_member)]
55
+ {
56
+ ticket.member_price => badge('Member'),
57
+ (ticket.guest_of_member_price if guest_of_member) => badge('Guest of Member')
58
+ }
54
59
  elsif ticket.anyone?
55
- [ticket.member_price, (guest_of_member ? ticket.guest_of_member_price : ticket.non_member_price)]
56
- end.compact.uniq.sort
57
-
58
- prices.map { |price| price == 0 ? '$0' : price_to_currency(price) }.to_sentence(last_word_connector: ' or ', two_words_connector: ' or ')
60
+ {
61
+ ticket.member_price => badge('Member'),
62
+ (ticket.guest_of_member_price if guest_of_member) => badge('Guest of Member'),
63
+ (ticket.non_member_price unless guest_of_member) => badge('Non-member'),
64
+ }
65
+ end.delete_if { |price| price.blank? }.sort_by { |price| price }
66
+
67
+ prices
68
+ .map { |price, badge| [(price == 0 ? '$0' : price_to_currency(price)), badge].join(' ') }
69
+ .to_sentence(last_word_connector: ' or ', two_words_connector: ' or ')
70
+ .html_safe
59
71
  end
60
72
 
61
73
  def effective_events_event_tickets_collection(event, namespace = nil)
@@ -89,7 +89,7 @@ module Effective
89
89
  scope :for_sitemap, -> { published }
90
90
 
91
91
  scope :deep, -> {
92
- base = includes(:event_registrants, :event_tickets, :rich_texts)
92
+ base = includes(:event_registrants, :rich_texts, event_tickets: :event_registrants)
93
93
  base = base.includes(:pg_search_document) if defined?(PgSearch)
94
94
  base
95
95
  }
@@ -283,6 +283,22 @@ module Effective
283
283
  start_at
284
284
  end
285
285
 
286
+ def event_tickets_with_capacity
287
+ event_tickets.reject(&:archived?).select { |et| et.capacity.present? }
288
+ end
289
+
290
+ def total_capacity_available
291
+ event_tickets_with_capacity.sum { |et| et.capacity_available }
292
+ end
293
+
294
+ def total_capacity_taken
295
+ event_tickets_with_capacity.sum { |et| et.capacity_taken }
296
+ end
297
+
298
+ def total_capacity
299
+ event_tickets_with_capacity.sum { |et| et.capacity }
300
+ end
301
+
286
302
  # The amount of tickets that can be purchased except ones from an event registration
287
303
  def capacity_selectable(event_ticket:, event_registration: nil)
288
304
  return 0 if event_ticket.archived?
@@ -190,9 +190,9 @@ module Effective
190
190
  if first_name.present?
191
191
  "#{first_name} #{last_name}"
192
192
  elsif owner.present?
193
- owner.to_s + ' - GUEST'
193
+ 'Pending Name'
194
194
  else
195
- 'GUEST'
195
+ 'Pending Name'
196
196
  end
197
197
  end
198
198
 
@@ -205,9 +205,9 @@ module Effective
205
205
  ("<small>#{email}</small>" if email.present?)
206
206
  ].compact.join('<br>').html_safe
207
207
  elsif owner.present?
208
- owner.to_s + ' - GUEST'
208
+ 'Pending Name'
209
209
  else
210
- 'GUEST'
210
+ 'Pending Name'
211
211
  end
212
212
  end
213
213
 
@@ -229,7 +229,7 @@ module Effective
229
229
  end
230
230
 
231
231
  def last_first_name
232
- (first_name.present? && last_name.present?) ? "#{last_name}, #{first_name}" : "GUEST"
232
+ (first_name.present? && last_name.present?) ? "#{last_name}, #{first_name}" : "Pending Name"
233
233
  end
234
234
 
235
235
  # Anyone or Members tickets
@@ -59,12 +59,11 @@
59
59
  .effective-event-body.mb-5
60
60
  = @event.body.to_s
61
61
 
62
- - if EffectiveEvents.code_of_conduct_enabled?
63
- - page = EffectiveEvents.code_of_conduct_effective_page!
64
-
65
- .effective-event-code-of-conduct.mb-4
66
- View the
67
- = link_to(page.title, effective_pages.page_path(page), target: '_blank')
62
+ -# - if EffectiveEvents.code_of_conduct_enabled?
63
+ -# - page = EffectiveEvents.code_of_conduct_effective_page!
64
+ -# .effective-event-code-of-conduct.mb-4
65
+ -# View the
66
+ -# = link_to(page.title, effective_pages.page_path(page), target: '_blank')
68
67
 
69
68
  - if @event.registerable?
70
69
  .register.mb-4
@@ -1,3 +1,3 @@
1
1
  module EffectiveEvents
2
- VERSION = '3.0.4'.freeze
2
+ VERSION = '3.0.6'.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: 3.0.4
4
+ version: 3.0.6
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-07-28 00:00:00.000000000 Z
11
+ date: 2025-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails