clarion/app/controllers/management/management_controller.rb

46 lines
1.1 KiB
Ruby
Raw Normal View History

2014-09-17 12:43:17 +03:00
module Management
class ManagementController < ::ApplicationController
before_action :authenticate_user!, :authorize_user!
2014-09-17 12:43:17 +03:00
layout 'management'
private
2015-06-09 21:50:23 +03:00
def default_url_options(options = {})
2015-07-12 10:28:24 +03:00
{ current_conference: current_conference.try(:slug) }.merge(options)
2015-06-09 21:50:23 +03:00
end
def current_conference?
current_conference.present?
end
helper_method :current_conference?
2015-06-09 21:50:23 +03:00
# TODO (2015-06-09) Fetch conferences by slug only
def current_conference
2015-06-09 21:50:23 +03:00
@current_conference ||=
begin
# if params[:current_conference]
# Conference.find_by_slug(params[:current_conference])
# end
if session[:current_conference_id]
Conference.find_by(id: session[:current_conference_id])
end
end
end
helper_method :current_conference
def set_current_conference(conference)
if conference.present?
session[:current_conference_id] = conference.id
else
session.delete(:current_conference_id)
end
end
def authorize_user!
head :forbidden unless current_user.admin?
end
2014-09-17 12:43:17 +03:00
end
end