]> source.dussan.org Git - redmine.git/commitdiff
Use browser language as default when registering.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Wed, 12 Dec 2012 06:05:35 +0000 (06:05 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Wed, 12 Dec 2012 06:05:35 +0000 (06:05 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10988 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/account_controller.rb
test/functional/account_controller_test.rb

index 9eaf5f6d31cb958a79501cbe1b610e7e6e113c03..c8d27d33fd4b407c675c73c0bfe2fee1ca31ece9 100644 (file)
@@ -95,7 +95,7 @@ class AccountController < ApplicationController
     redirect_to(home_url) && return unless Setting.self_registration? || session[:auth_source_registration]
     if request.get?
       session[:auth_source_registration] = nil
-      @user = User.new(:language => Setting.default_language)
+      @user = User.new(:language => current_language.to_s)
     else
       user_params = params[:user] || {}
       @user = User.new
index 08960b451300768ffc95c33f6ab3303aaddc9649..0f876963f554c08c8f10f92ff172c0f012a7af71 100644 (file)
@@ -99,6 +99,19 @@ class AccountControllerTest < ActionController::TestCase
     end
   end
 
+  def test_get_register_should_detect_user_language
+    with_settings :self_registration => '3' do
+      @request.env['HTTP_ACCEPT_LANGUAGE'] = 'fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3'
+      get :register
+      assert_response :success
+      assert_not_nil assigns(:user)
+      assert_equal 'fr', assigns(:user).language
+      assert_select 'select[name=?]', 'user[language]' do
+        assert_select 'option[value=fr][selected=selected]'
+      end
+    end
+  end
+
   def test_get_register_with_registration_off_should_redirect
     with_settings :self_registration => '0' do
       get :register