diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2015-09-20 11:18:53 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2015-09-20 11:18:53 +0000 |
commit | a5de0fec9e97a7951a0bef465451d0a1d16bf7b4 (patch) | |
tree | 5421a652b8d82ce2d4fee3b96eb78a704dafa36e | |
parent | 49604a3bae39e22507b5069fb4fba832c30ab032 (diff) | |
download | redmine-a5de0fec9e97a7951a0bef465451d0a1d16bf7b4.tar.gz redmine-a5de0fec9e97a7951a0bef465451d0a1d16bf7b4.zip |
Internal error when moving an issue to a project without trackers (#20463).
git-svn-id: http://svn.redmine.org/redmine/trunk@14612 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/models/issue.rb | 5 | ||||
-rw-r--r-- | app/views/issues/edit.html.erb | 2 | ||||
-rw-r--r-- | test/functional/issues_controller_test.rb | 11 |
3 files changed, 17 insertions, 1 deletions
diff --git a/app/models/issue.rb b/app/models/issue.rb index c7ad2a063..13299b60e 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -873,6 +873,11 @@ class Issue < ActiveRecord::Base end end + # Returns the original tracker + def tracker_was + Tracker.find_by_id(tracker_id_was) + end + # Returns the users that should be notified def notified_users notified = [] diff --git a/app/views/issues/edit.html.erb b/app/views/issues/edit.html.erb index 1cd61b783..da80a0834 100644 --- a/app/views/issues/edit.html.erb +++ b/app/views/issues/edit.html.erb @@ -1,4 +1,4 @@ -<h2><%= "#{@issue.tracker.name} ##{@issue.id}" %></h2> +<h2><%= "#{@issue.tracker_was} ##{@issue.id}" %></h2> <%= render :partial => 'edit' %> <% content_for :header_tags do %> diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb index a69b85630..d02fb1b6d 100644 --- a/test/functional/issues_controller_test.rb +++ b/test/functional/issues_controller_test.rb @@ -3057,6 +3057,17 @@ class IssuesControllerTest < ActionController::TestCase assert_mail_body_match "Project changed from eCookbook to OnlineStore", mail end + def test_put_update_trying_to_move_issue_to_project_without_tracker_should_not_error + target = Project.generate!(:tracker_ids => []) + assert target.trackers.empty? + issue = Issue.generate! + @request.session[:user_id] = 1 + + put :update, :id => issue.id, :issue => {:project_id => target.id} + assert_response :success + assert_template 'edit' + end + def test_put_update_with_tracker_change @request.session[:user_id] = 2 ActionMailer::Base.deliveries.clear |