diff --git a/.loadpath b/.loadpath
new file mode 100644
index 0000000000..c4415b3d01
--- /dev/null
+++ b/.loadpath
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/.project b/.project
new file mode 100644
index 0000000000..6a0b4c4076
--- /dev/null
+++ b/.project
@@ -0,0 +1,18 @@
+
+
+ trunk_fixes
+
+
+
+
+
+ org.rubypeople.rdt.core.rubybuilder
+
+
+
+
+
+ org.rubypeople.rdt.core.rubynature
+ org.radrails.rails.core.railsnature
+
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000..69197b5bd6
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,5 @@
+#Sun Nov 09 21:42:24 CET 2008
+eclipse.preferences.version=1
+encoding//app/helpers/ifpdf_helper.rb=UTF-8
+encoding//test/fixtures/mail_handler=UTF-8
+encoding/lang=UTF-8
diff --git a/app/models/user.rb b/app/models/user.rb
index f468063ed6..53453c0dc8 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -71,6 +71,11 @@ class User < ActiveRecord::Base
# update hashed_password if password was set
self.hashed_password = User.hash_password(self.password) if self.password
end
+
+ def reload(*args)
+ @name = nil
+ super
+ end
def self.active
with_scope :find => { :conditions => [ "status = ?", STATUS_ACTIVE ] } do
@@ -120,8 +125,7 @@ class User < ActiveRecord::Base
# Return user's full name for display
def name(formatter = nil)
- f = USER_FORMATS[formatter || Setting.user_format] || USER_FORMATS[:firstname_lastname]
- eval '"' + f + '"'
+ @name ||= eval('"' + (USER_FORMATS[formatter || Setting.user_format] || USER_FORMATS[:firstname_lastname]) + '"')
end
def active?
@@ -180,14 +184,9 @@ class User < ActiveRecord::Base
token && (token.created_on > Setting.autologin.to_i.day.ago) && token.user.active? ? token.user : nil
end
+ # Sort users by their display names
def <=>(user)
- if user.nil?
- -1
- elsif lastname.to_s.downcase == user.lastname.to_s.downcase
- firstname.to_s.downcase <=> user.firstname.to_s.downcase
- else
- lastname.to_s.downcase <=> user.lastname.to_s.downcase
- end
+ self.to_s.downcase <=> user.to_s.downcase
end
def to_s
diff --git a/test/unit/user_test.rb b/test/unit/user_test.rb
index 80011f4bf2..b931501a10 100644
--- a/test/unit/user_test.rb
+++ b/test/unit/user_test.rb
@@ -85,9 +85,9 @@ class UserTest < Test::Unit::TestCase
def test_name_format
assert_equal 'Smith, John', @jsmith.name(:lastname_coma_firstname)
Setting.user_format = :firstname_lastname
- assert_equal 'John Smith', @jsmith.name
+ assert_equal 'John Smith', @jsmith.reload.name
Setting.user_format = :username
- assert_equal 'jsmith', @jsmith.name
+ assert_equal 'jsmith', @jsmith.reload.name
end
def test_lock