summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2015-05-23 07:08:53 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2015-05-23 07:08:53 +0000
commit09b935b44ed897afc3f0abcc614558bf6356b6ba (patch)
tree52d08b1b6e703b677f59c4ed3517bb0b8cdcadf0
parent24d6211f4e4b2979693fdc8826c9d0b09ac510d6 (diff)
downloadredmine-09b935b44ed897afc3f0abcc614558bf6356b6ba.tar.gz
redmine-09b935b44ed897afc3f0abcc614558bf6356b6ba.zip
Fixed that copying issues always copy subtasks and attachments even if option is unchecked (#11787).
git-svn-id: http://svn.redmine.org/redmine/trunk@14268 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/controllers/issues_controller.rb9
-rw-r--r--test/functional/issues_controller_test.rb4
2 files changed, 8 insertions, 5 deletions
diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb
index 4525aa390..2f7aa5315 100644
--- a/app/controllers/issues_controller.rb
+++ b/app/controllers/issues_controller.rb
@@ -248,7 +248,10 @@ class IssuesController < ApplicationController
def bulk_update
@issues.sort!
@copy = params[:copy].present?
+
attributes = parse_params_for_bulk_issue_attributes(params)
+ copy_subtasks = (params[:copy_subtasks] == '1')
+ copy_attachments = (params[:copy_attachments] == '1')
if @copy
unless User.current.allowed_to?(:copy_issues, @projects)
@@ -266,7 +269,7 @@ class IssuesController < ApplicationController
unsaved_issues = []
saved_issues = []
- if @copy && params[:copy_subtasks].present?
+ if @copy && copy_subtasks
# Descendant issues will be copied with the parent task
# Don't copy them twice
@issues.reject! {|issue| @issues.detect {|other| issue.is_descendant_of?(other)}}
@@ -276,8 +279,8 @@ class IssuesController < ApplicationController
orig_issue.reload
if @copy
issue = orig_issue.copy({},
- :attachments => params[:copy_attachments].present?,
- :subtasks => params[:copy_subtasks].present?,
+ :attachments => copy_attachments,
+ :subtasks => copy_subtasks,
:link => link_copy?(params[:link_copy])
)
else
diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb
index c3ebaf4a3..f4403e893 100644
--- a/test/functional/issues_controller_test.rb
+++ b/test/functional/issues_controller_test.rb
@@ -4025,7 +4025,7 @@ class IssuesControllerTest < ActionController::TestCase
assert_difference 'Issue.count', 1 do
assert_no_difference 'Attachment.count' do
- post :bulk_update, :ids => [3], :copy => '1',
+ post :bulk_update, :ids => [3], :copy => '1', :copy_attachments => '0',
:issue => {
:project_id => ''
}
@@ -4066,7 +4066,7 @@ class IssuesControllerTest < ActionController::TestCase
@request.session[:user_id] = 2
assert_difference 'Issue.count', 1 do
- post :bulk_update, :ids => [issue.id], :copy => '1',
+ post :bulk_update, :ids => [issue.id], :copy => '1', :copy_subtasks => '0',
:issue => {
:project_id => ''
}