Fixed "can't convert Fixnum into String" error on projects with numerical identifier (#10135).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8804 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2012-02-06 14:44:40 +00:00
parent 6f1d553cff
commit dfbab5d61e
2 changed files with 9 additions and 1 deletions

View File

@ -274,7 +274,7 @@ class Project < ActiveRecord::Base
def to_param def to_param
# id is used for projects with a numeric identifier (compatibility) # id is used for projects with a numeric identifier (compatibility)
@to_param ||= (identifier.to_s =~ %r{^\d*$} ? id : identifier) @to_param ||= (identifier.to_s =~ %r{^\d*$} ? id.to_s : identifier)
end end
def active? def active?

View File

@ -920,6 +920,14 @@ RAW
link_to_project(project, {:action => 'settings'}, :class => "project") link_to_project(project, {:action => 'settings'}, :class => "project")
end end
def test_link_to_legacy_project_with_numerical_identifier_should_use_id
# numeric identifier are no longer allowed
Project.update_all "identifier=25", "id=1"
assert_equal '<a href="/projects/1">eCookbook</a>',
link_to_project(Project.find(1))
end
def test_principals_options_for_select_with_users def test_principals_options_for_select_with_users
User.current = nil User.current = nil
users = [User.find(2), User.find(4)] users = [User.find(2), User.find(4)]