osem-fcy/app/controllers/conferences_controller.rb

58 lines
1.3 KiB
Ruby
Raw Normal View History

class ConferencesController < ApplicationController
protect_from_forgery with: :null_session
before_action :respond_to_options
load_and_authorize_resource find_by: :short_title, except: :show
2014-08-12 11:51:59 +03:00
2014-11-14 17:24:24 +01:00
def index
@current = Conference.where('end_date >= ?', Date.current).reorder(start_date: :asc)
2014-11-14 17:24:24 +01:00
@antiquated = @conferences - @current
end
def show
@conference = Conference.unscoped.eager_load(
:organization,
:splashpage,
:venue,
:registration_period,
:tickets,
:confirmed_tracks,
:call_for_events,
:event_types,
:program,
:call_for_tracks,
:lodgings,
:call_for_booths,
:confirmed_booths,
:sponsors,
:call_for_sponsors,
:contact,
highlighted_events: [:speakers],
sponsorship_levels: [:sponsors]
).order(
'sponsorship_levels.position ASC',
'sponsors.name',
'tracks.name',
'booths.title',
'lodgings.name',
'tickets.price_cents'
).find_by(conference_finder_conditions)
authorize! :show, @conference
end
2014-06-30 19:24:26 +05:30
2014-11-14 17:24:24 +01:00
private
def conference_finder_conditions
if params[:id]
{ short_title: params[:id] }
else
{ custom_domain: request.domain }
end
end
2015-10-28 18:05:15 +02:00
def respond_to_options
respond_to do |format|
format.html { head :ok }
end if request.options?
end
end