]> source.dussan.org Git - redmine.git/commitdiff
Fixed invalid search link on the new project form (#20565).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 20 Sep 2015 11:50:21 +0000 (11:50 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 20 Sep 2015 11:50:21 +0000 (11:50 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@14614 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/project.rb
test/functional/projects_controller_test.rb
test/unit/project_test.rb

index 25f0d3fc595f6864d25eefeb6aeba9d2aebbff2e..2138773cfabec71af424e4dceade92432a152cd9 100644 (file)
@@ -332,8 +332,12 @@ class Project < ActiveRecord::Base
   end
 
   def to_param
-    # id is used for projects with a numeric identifier (compatibility)
-    @to_param ||= (identifier.to_s =~ %r{^\d*$} ? id.to_s : identifier)
+    if new_record?
+      nil
+    else
+      # id is used for projects with a numeric identifier (compatibility)
+      @to_param ||= (identifier.to_s =~ %r{^\d*$} ? id.to_s : identifier)
+    end
   end
 
   def active?
index 2efb98ccdedb1a6e53c4ae94a212561a96d1f0bc..0bf3cf9a517d0c7862ba957bd35a9275ba87ef4c 100644 (file)
@@ -118,6 +118,15 @@ class ProjectsControllerTest < ActionController::TestCase
     end
   end
 
+  def test_new_should_not_display_invalid_search_link
+    @request.session[:user_id] = 1
+
+    get :new
+    assert_response :success
+    assert_select '#quick-search form[action=?]', '/search'
+    assert_select '#quick-search a[href=?]', '/search'
+  end
+
   test "#create by admin user should create a new project" do
     @request.session[:user_id] = 1
 
index c76272e7b8bf30b38656043acca86915d516efd5..ffb514aa3a0b7d3f27ff5fe9b47315cdd0a02140 100644 (file)
@@ -142,6 +142,12 @@ class ProjectTest < ActiveSupport::TestCase
     assert_equal true, Project.find(1).identifier_frozen?
   end
 
+  def test_to_param_should_be_nil_for_new_records
+    project = Project.new
+    project.identifier = "foo"
+    assert_nil project.to_param
+  end
+
   def test_members_should_be_active_users
     Project.all.each do |project|
       assert_nil project.members.detect {|m| !(m.user.is_a?(User) && m.user.active?) }