diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index e844d242..6014116b 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -115,7 +115,8 @@ class IssuesController < ApplicationController @issue = Issue.new @issue.copy_from(params[:copy_from]) if params[:copy_from] @issue.project = @project - @issue.tracker ||= @project.trackers.find(params[:tracker_id] ? params[:tracker_id] : :first) + # Tracker must be set before custom field values + @issue.tracker ||= @project.trackers.find((params[:issue] && params[:issue][:tracker_id]) || params[:tracker_id] || :first) if @issue.tracker.nil? flash.now[:error] = 'No tracker is associated to this project. Please check the Project settings.' render :nothing => true, :layout => true diff --git a/test/fixtures/projects_trackers.yml b/test/fixtures/projects_trackers.yml index 8eb7d85a..31f7f943 100644 --- a/test/fixtures/projects_trackers.yml +++ b/test/fixtures/projects_trackers.yml @@ -38,3 +38,7 @@ projects_trackers_010: projects_trackers_011: project_id: 4 tracker_id: 2 +projects_trackers_012: + project_id: 1 + tracker_id: 3 + \ No newline at end of file diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index ac1f4f83..22f9a3ba 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -199,7 +199,7 @@ class IssuesControllerTest < Test::Unit::TestCase def test_post_new @request.session[:user_id] = 2 post :new, :project_id => 1, - :issue => {:tracker_id => 1, + :issue => {:tracker_id => 3, :subject => 'This is the test_new issue', :description => 'This is the description', :priority_id => 5, @@ -210,6 +210,7 @@ class IssuesControllerTest < Test::Unit::TestCase issue = Issue.find_by_subject('This is the test_new issue') assert_not_nil issue assert_equal 2, issue.author_id + assert_equal 3, issue.tracker_id assert_nil issue.estimated_hours v = issue.custom_values.find_by_custom_field_id(2) assert_not_nil v