Fixed that bulk copy raises an error on validation failure (#13943).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11788 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2013-05-04 15:18:16 +00:00
parent 70bdb86c53
commit d69de691a7
2 changed files with 13 additions and 4 deletions

View File

@ -260,13 +260,15 @@ class IssuesController < ApplicationController
@issues.reject! {|issue| @issues.detect {|other| issue.is_descendant_of?(other)}}
end
@issues.each do |issue|
issue.reload
@issues.each do |orig_issue|
orig_issue.reload
if @copy
issue = issue.copy({},
issue = orig_issue.copy({},
:attachments => params[:copy_attachments].present?,
:subtasks => params[:copy_subtasks].present?
)
else
issue = orig_issue
end
journal = issue.init_journal(User.current, params[:notes])
issue.safe_attributes = attributes
@ -274,7 +276,7 @@ class IssuesController < ApplicationController
if issue.save
saved_issues << issue
else
unsaved_issues << issue
unsaved_issues << orig_issue
end
end

View File

@ -3821,6 +3821,13 @@ class IssuesControllerTest < ActionController::TestCase
assert_redirected_to :controller => 'issues', :action => 'show', :id => issue
end
def test_bulk_copy_with_all_failures_should_display_errors
@request.session[:user_id] = 2
post :bulk_update, :ids => [1, 2], :copy => '1', :issue => {:start_date => 'foo'}
assert_response :success
end
def test_destroy_issue_with_no_time_entries
assert_nil TimeEntry.find_by_issue_id(2)
@request.session[:user_id] = 2