diff --git a/app/models/user.rb b/app/models/user.rb index d387dbb..888f068 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -31,7 +31,7 @@ class User < ActiveRecord::Base after_create do |user| user.person ||= Person.new user.person.attributes = user.person_data.merge(:identifier => user.login, :user => user, :environment_id => user.environment_id) - user.person.name ||= user.login + user.person.name ||= user.name user.person.visible = false unless user.activated? user.person.save! if user.environment.enabled?('skip_new_user_email_confirmation') diff --git a/test/unit/user_test.rb b/test/unit/user_test.rb index 69fe1a5..c30bf98 100644 --- a/test/unit/user_test.rb +++ b/test/unit/user_test.rb @@ -617,6 +617,19 @@ class UserTest < ActiveSupport::TestCase end end + should 'create person with name equal to user name if a user name is defined' do + user = User.new( :login => 'quire', :email => 'quire@example.com', :password => 'quire', :password_confirmation => 'quire' ) + user.name = "Some name" + user.save + assert_equal 'Some name', user.person.name + end + + should 'create person with name equal to user login if no user name is defined' do + user = User.new( :login => 'quire', :email => 'quire@example.com', :password => 'quire', :password_confirmation => 'quire' ) + user.save + assert_equal 'quire', user.person.name + end + protected def new_user(options = {}) user = User.new({ :login => 'quire', :email => 'quire@example.com', :password => 'quire', :password_confirmation => 'quire' }.merge(options)) -- libgit2 0.21.2