From 296c53a6851a6daade71548558755f6e03192ff8 Mon Sep 17 00:00:00 2001 From: alda519 Date: Tue, 13 Sep 2011 19:57:55 +0200 Subject: [PATCH 1/3] fixes new user's language setting --- app/models/user.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/app/models/user.rb b/app/models/user.rb index 2080ef511..02915fadc 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -360,7 +360,6 @@ class User < ActiveRecord::Base def setup(opts) self.username = opts[:username] self.email = opts[:email] - self.language ||= 'en' self.valid? errors = self.errors errors.delete :person From 0906f21bddff5179456f6d68d7f7a4fddff61243 Mon Sep 17 00:00:00 2001 From: alda519 Date: Wed, 14 Sep 2011 10:43:30 +0200 Subject: [PATCH 2/3] fixed spec --- spec/models/user_spec.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 890b70ec5..bf4bb386f 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -202,7 +202,8 @@ describe User do it "should save with current language if blank" do I18n.locale = :fr - user = Factory(:user, :language => nil) + user = User.build(:username => 'max', :email => 'foo@bar.com', :password => 'password', :password_confirmation => 'password') + user.save! user.language.should == 'fr' end end From a9e4b4ce99c1552c50a723e880d1028c96af8a07 Mon Sep 17 00:00:00 2001 From: alda519 Date: Wed, 14 Sep 2011 20:46:52 +0200 Subject: [PATCH 3/3] fixed broken test, spec added --- app/models/user.rb | 2 ++ spec/models/user_spec.rb | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/models/user.rb b/app/models/user.rb index 02915fadc..9c1f3d7cc 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -360,6 +360,8 @@ class User < ActiveRecord::Base def setup(opts) self.username = opts[:username] self.email = opts[:email] + self.language = opts[:language] + self.language ||= I18n.locale.to_s self.valid? errors = self.errors errors.delete :person diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index bf4bb386f..d564ddc5f 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -203,9 +203,14 @@ describe User do it "should save with current language if blank" do I18n.locale = :fr user = User.build(:username => 'max', :email => 'foo@bar.com', :password => 'password', :password_confirmation => 'password') - user.save! user.language.should == 'fr' end + + it "should save with language what is set" do + I18n.locale = :fr + user = User.build(:username => 'max', :email => 'foo@bar.com', :password => 'password', :password_confirmation => 'password', :language => 'de') + user.language.should == 'de' + end end end