From 1a4c689ee6fcbeca5edd934e2bdc08992c7d9a3c Mon Sep 17 00:00:00 2001 From: saurabhbhatia Date: Thu, 28 Nov 2013 12:28:43 +0800 Subject: [PATCH] Fixed application locale --- app/controllers/application_controller.rb | 5 ++++- app/views/admin/items/_site_bar.html.erb | 2 +- app/views/admin/sites/_side_bar.html.erb | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index bded1cb3..5ce9657e 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -147,6 +147,7 @@ class ApplicationController < ActionController::Base session[:locale] = params[:locale] if params[:locale] browser_locale = condition = nil default_locale = condition = nil + backup_locale = condition = nil # check if locale is valid for non site pages if LIST[:forbidden_item_names].include?(env['PATH_INFO'].split('/')[1].to_s) @@ -161,9 +162,11 @@ class ApplicationController < ActionController::Base #check enable langauge detection browser_locale = request.env['HTTP_ACCEPT_LANGUAGE'].scan(/^[a-z]{2}/).first rescue nil condition = @site.in_use_locales.include?(browser_locale) + elsif (@site.default_locale.nil? && @site.enable_language_detection.eql?(false)) + condition = @site.valid_locales.first end - session[:locale] = condition ? (browser_locale || session[:locale] || default_locale) : I18n.default_locale.to_s + session[:locale] = condition ? (browser_locale || session[:locale] || default_locale || backup_locale) : I18n.default_locale.to_s I18n.locale = session[:locale].to_sym @site_in_use_locales = @site.in_use_locales @site_valid_locales = site_locales_default_head(@site.valid_locales) diff --git a/app/views/admin/items/_site_bar.html.erb b/app/views/admin/items/_site_bar.html.erb index 85f71f59..cc4525a7 100644 --- a/app/views/admin/items/_site_bar.html.erb +++ b/app/views/admin/items/_site_bar.html.erb @@ -14,7 +14,7 @@
  • <%= link_to admin_site_site_info_path(@site), :class => active_for_action('sites', 'site_info') do %><%end%>
  • -
  • <%= link_to admin_site_responsive_setting_path(@site), :class => active_for_action('sites', 'responsive_setting') do %><%end%>
  • +
  • <%= link_to admin_site_responsive_setting_path(@site), :class => active_for_action('sites', 'responsive_setting') do %><%end%>
  • <%= link_to admin_site_search_engine_path(@site), :class => active_for_action('sites', 'search_engine') do %><%end%>
  • diff --git a/app/views/admin/sites/_side_bar.html.erb b/app/views/admin/sites/_side_bar.html.erb index 85f71f59..cc4525a7 100644 --- a/app/views/admin/sites/_side_bar.html.erb +++ b/app/views/admin/sites/_side_bar.html.erb @@ -14,7 +14,7 @@
  • <%= link_to admin_site_site_info_path(@site), :class => active_for_action('sites', 'site_info') do %><%end%>
  • -
  • <%= link_to admin_site_responsive_setting_path(@site), :class => active_for_action('sites', 'responsive_setting') do %><%end%>
  • +
  • <%= link_to admin_site_responsive_setting_path(@site), :class => active_for_action('sites', 'responsive_setting') do %><%end%>
  • <%= link_to admin_site_search_engine_path(@site), :class => active_for_action('sites', 'search_engine') do %><%end%>