musifrat_app/app/controllers/application_controller.rb
Nicolas Bally a1aef72f7f intial
2019-02-03 15:12:58 +01:00

121 lines
1.9 KiB
Ruby

class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
before_filter :set_locale
before_filter :popups
before_filter :debug_translation
def debug_translation
if params[:debug_translation]
if current_admin
@debug_translation = true
end
end
end
def popups
end
def get_public_layout
"public"
end
def set_locale
# if params[:locale] is nil then I18n.default_locale will be used
#I18n.locale = params[:locale]#"fr" #
I18n.locale = params[:lang] || "fr"
@lang = LangSite.find_by_slug I18n.locale.to_s
end
def default_url_options(options={})
{ :lang => I18n.locale } #
end
private
def auth_admin
if !current_admin
redirect_to new_admin_admin_auth_path
end
end
def current_admin
if cookies[:admin_remember_token]
if @current_admin = Admin.find_by_remember_token(cookies[:admin_remember_token])
@current_admin = Admin.find_by_remember_token(cookies[:admin_remember_token])
else
cookies[:admin_remember_token] =nil
end
end
end
def get_specific_pref(key="")
sp = SpecificPreference.where(:key => key).first
if sp
return sp.value
else
return ""
end
end
def has_permission?(permission)
if current_admin and current_admin.has_permission?(permission)
true
else
redirect_to "/admin"
end
end
def is_super_admin
if current_admin and current_admin.super_admin
true
else
redirect_to "/admin"
end
end
helper_method :current_admin, :get_specific_pref
end