This was originally introduced since we saved the user and showed
the result on the same action. Now that the preferences controller
saves and redirects, the user model and associated language preferences
are reloaded between requests, and this code is no longer required.
- def preferred_languages(reset: false)
- @preferred_languages = nil if reset
+ def preferred_languages
@preferred_languages ||= if params[:locale]
Locale.list(params[:locale])
elsif current_user
@preferred_languages ||= if params[:locale]
Locale.list(params[:locale])
elsif current_user
helper_method :preferred_languages
helper_method :preferred_languages
- def set_locale(reset: false)
if current_user&.languages&.empty? && !http_accept_language.user_preferred_languages.empty?
current_user.languages = http_accept_language.user_preferred_languages
current_user.save
end
if current_user&.languages&.empty? && !http_accept_language.user_preferred_languages.empty?
current_user.languages = http_accept_language.user_preferred_languages
current_user.save
end
- I18n.locale = Locale.available.preferred(preferred_languages(:reset => reset))
+ I18n.locale = Locale.available.preferred(preferred_languages)
response.headers["Vary"] = "Accept-Language"
response.headers["Content-Language"] = I18n.locale.to_s
response.headers["Vary"] = "Accept-Language"
response.headers["Content-Language"] = I18n.locale.to_s
before_save :encrypt_password
before_save :update_tile
after_save :spam_check
before_save :encrypt_password
before_save :update_tile
after_save :spam_check
- after_save :reset_preferred_languages
def to_param
display_name
def to_param
display_name
@preferred_languages ||= Locale.list(languages)
end
@preferred_languages ||= Locale.list(languages)
end
- def reset_preferred_languages
- @preferred_languages = nil
- end
-
def nearby(radius = Settings.nearby_radius, num = Settings.nearby_users)
if home_lon && home_lat
gc = OSM::GreatCircle.new(home_lat, home_lon)
def nearby(radius = Settings.nearby_radius, num = Settings.nearby_users)
if home_lon && home_lat
gc = OSM::GreatCircle.new(home_lat, home_lon)