clarion/app/controllers/application_controller.rb

45 lines
1.2 KiB
Ruby
Raw Normal View History

2014-07-28 12:34:18 +03:00
class ApplicationController < ActionController::Base
include CurrentConferenceAssigning
2015-07-14 21:00:02 +03:00
2014-07-28 12:34:18 +03:00
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
2014-08-31 14:57:34 +03:00
before_filter :configure_permitted_parameters, if: :devise_controller?
2014-09-01 12:32:03 +03:00
before_action :set_locale
2015-08-15 03:43:41 +03:00
before_action :set_view_paths
# TODO: make this get the domain from the database
#layout Proc.new { |controller| controller.request.host }
layout 'public/application'
def self.default_url_options(options={})
if I18n.locale != I18n.default_locale
options.merge({locale: I18n.locale})
else
options
end
2014-09-01 12:32:03 +03:00
end
private
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
2015-08-15 07:20:20 +03:00
if user_signed_in? and current_user.language != I18n.locale
current_user.update(language: I18n.locale)
end
2014-09-01 12:32:03 +03:00
end
2014-08-31 14:57:34 +03:00
2015-08-15 03:43:41 +03:00
def set_view_paths
# TODO: make this get the domain from the database
prepend_view_path 'lib/initfest/views' if request.host =~ /openfest/
end
2014-08-31 14:57:34 +03:00
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:account_update) do |u|
u.permit :email, :password, :password_confirmation, :current_password, :language
2014-08-31 14:57:34 +03:00
end
end
2014-07-28 12:34:18 +03:00
end