Fixed an error when trying to copy an issue that does not exist.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8670 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
8b994475c4
commit
b4cf4fca9d
|
@ -360,7 +360,12 @@ private
|
||||||
def build_new_issue_from_params
|
def build_new_issue_from_params
|
||||||
if params[:id].blank?
|
if params[:id].blank?
|
||||||
@issue = Issue.new
|
@issue = Issue.new
|
||||||
|
begin
|
||||||
@issue.copy_from(params[:copy_from]) if params[:copy_from]
|
@issue.copy_from(params[:copy_from]) if params[:copy_from]
|
||||||
|
rescue ActiveRecord::RecordNotFound
|
||||||
|
render_404
|
||||||
|
return
|
||||||
|
end
|
||||||
@issue.project = @project
|
@issue.project = @project
|
||||||
else
|
else
|
||||||
@issue = @project.issues.visible.find(params[:id])
|
@issue = @project.issues.visible.find(params[:id])
|
||||||
|
|
|
@ -1631,6 +1631,12 @@ class IssuesControllerTest < ActionController::TestCase
|
||||||
assert_tag 'input', :attributes => {:name => 'copy_from', :value => '1'}
|
assert_tag 'input', :attributes => {:name => 'copy_from', :value => '1'}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_new_as_copy_with_invalid_issue_should_respond_with_404
|
||||||
|
@request.session[:user_id] = 2
|
||||||
|
get :new, :project_id => 1, :copy_from => 99999
|
||||||
|
assert_response 404
|
||||||
|
end
|
||||||
|
|
||||||
def test_create_as_copy_on_different_project
|
def test_create_as_copy_on_different_project
|
||||||
@request.session[:user_id] = 2
|
@request.session[:user_id] = 2
|
||||||
assert_difference 'Issue.count' do
|
assert_difference 'Issue.count' do
|
||||||
|
|
Loading…
Reference in New Issue