mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
57 lines
2 KiB
Ruby
57 lines
2 KiB
Ruby
module EventsHelper
|
|
##
|
|
# Includes functions related to events
|
|
##
|
|
##
|
|
# ====Returns
|
|
# * +String+ -> number of registrations / max allowed registrations
|
|
def registered_text(event)
|
|
return "Registered: #{event.registrations.count}/#{event.max_attendees}" if event.max_attendees
|
|
"Registered: #{event.registrations.count}"
|
|
end
|
|
|
|
def rating_stars(rating, max, options = {})
|
|
Array.new(max) do |counter|
|
|
content_tag(
|
|
'label',
|
|
'',
|
|
class: "rating#{' bright' if rating.to_f > counter}",
|
|
**options
|
|
)
|
|
end.join.html_safe
|
|
end
|
|
|
|
def rating_fraction(rating, max, options = {})
|
|
content_tag('span', "#{rating}/#{max}", **options)
|
|
end
|
|
|
|
def replacement_event_notice(event_schedule)
|
|
if event_schedule.present? && event_schedule.replacement?
|
|
replaced_event = (event_schedule.intersecting_event_schedules.withdrawn.first || event_schedule.intersecting_event_schedules.canceled.first).event
|
|
content_tag :span do
|
|
concat content_tag :span, 'Please note that this talk replaces '
|
|
concat link_to replaced_event.title, conference_program_proposal_path(@conference.short_title, replaced_event.id)
|
|
end
|
|
end
|
|
end
|
|
|
|
def canceled_replacement_event_label(event, event_schedule, *label_classes)
|
|
if event.state == 'canceled' || event.state == 'withdrawn'
|
|
content_tag :span, 'CANCELED', class: (['label', 'label-danger'] + label_classes)
|
|
elsif event_schedule.present? && event_schedule.replacement?
|
|
content_tag :span, 'REPLACEMENT', class: (['label', 'label-info'] + label_classes)
|
|
end
|
|
end
|
|
|
|
def track_selector_input(form)
|
|
if @program.tracks.confirmed.cfp_active.any?
|
|
form.input :track_id, as: :select,
|
|
collection: @program.tracks.confirmed.cfp_active.pluck(:name, :id),
|
|
include_blank: '(Please select)'
|
|
end
|
|
end
|
|
|
|
def rating_tooltip(event, max_rating)
|
|
"#{event.average_rating}/#{max_rating}, #{pluralize(event.voters.length, 'vote')}"
|
|
end
|
|
end
|