Browse Source

Fixed invalid search link on the new project form (#20565).

git-svn-id: http://svn.redmine.org/redmine/trunk@14614 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/3.2.0
Jean-Philippe Lang 8 years ago
parent
commit
eb57fa4847
3 changed files with 21 additions and 2 deletions
  1. 6
    2
      app/models/project.rb
  2. 9
    0
      test/functional/projects_controller_test.rb
  3. 6
    0
      test/unit/project_test.rb

+ 6
- 2
app/models/project.rb View 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?

+ 9
- 0
test/functional/projects_controller_test.rb View 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


+ 6
- 0
test/unit/project_test.rb View 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?) }

Loading…
Cancel
Save