Il selettore lingua funziona sul web e sulle app native; su Android la preferenza è persistita e applicata al riavvio. Incluse anche eliminazione replay a scope e campi pagina pubblica squadra. Co-authored-by: Cursor <cursoragent@cursor.com>
45 lines
998 B
Ruby
45 lines
998 B
Ruby
module Public
|
|
class SiteBaseController < ActionController::Base
|
|
layout "marketing"
|
|
|
|
include ::SeoHelper
|
|
include ::LegalHelper
|
|
helper ApplicationHelper
|
|
helper_method :current_user, :logged_in?, :current_locale, :language_options, :current_language_option
|
|
|
|
protect_from_forgery with: :exception
|
|
before_action :set_site_locale
|
|
|
|
private
|
|
|
|
def set_site_locale
|
|
I18n.locale = LocaleResolver.resolve(
|
|
cookie_jar: request.cookie_jar,
|
|
accept_language: request.get_header("HTTP_ACCEPT_LANGUAGE")
|
|
)
|
|
end
|
|
|
|
def current_locale
|
|
I18n.locale
|
|
end
|
|
|
|
def language_options
|
|
LocaleResolver.language_options
|
|
end
|
|
|
|
def current_language_option
|
|
LocaleResolver.current_language_option
|
|
end
|
|
|
|
def current_user
|
|
return @current_user if defined?(@current_user)
|
|
|
|
@current_user = User.find_by(id: session[:user_id]) if session[:user_id]
|
|
end
|
|
|
|
def logged_in?
|
|
current_user.present?
|
|
end
|
|
end
|
|
end
|