summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2018-04-28 04:44:32 +0000
committerGo MAEDA <maeda@farend.jp>2018-04-28 04:44:32 +0000
commit07f0c2791edcbb73f5a5ef01410ee5666a79c6d1 (patch)
tree212c853d0498684642dd944088c0a5c448090e74
parentea562ffa435301a73e0838f2563a6c868799c2a0 (diff)
downloadredmine-07f0c2791edcbb73f5a5ef01410ee5666a79c6d1.tar.gz
redmine-07f0c2791edcbb73f5a5ef01410ee5666a79c6d1.zip
Copy wiki attachments on project copy (#10282).
Patch by Mizuki ISHIKAWA. git-svn-id: http://svn.redmine.org/redmine/trunk@17315 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/models/project.rb1
-rw-r--r--test/unit/project_copy_test.rb5
2 files changed, 5 insertions, 1 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index 06660adc4..1268f11cd 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -930,6 +930,7 @@ class Project < ActiveRecord::Base
new_wiki_page = WikiPage.new(page.attributes.dup.except("id", "wiki_id", "created_on", "parent_id"))
new_wiki_page.content = new_wiki_content
wiki.pages << new_wiki_page
+ new_wiki_page.attachments = page.attachments.map{|attachement| attachement.copy(:container => new_wiki_page)}
wiki_pages_map[page.id] = new_wiki_page
end
diff --git a/test/unit/project_copy_test.rb b/test/unit/project_copy_test.rb
index a1292204b..56f485c76 100644
--- a/test/unit/project_copy_test.rb
+++ b/test/unit/project_copy_test.rb
@@ -303,7 +303,8 @@ class ProjectCopyTest < ActiveSupport::TestCase
assert project.wiki
end
- test "#copy should copy wiki pages and content with hierarchy" do
+ test "#copy should copy wiki pages, attachment and content with hierarchy" do
+ @source_project.wiki.pages.first.attachments << Attachment.first.copy
assert_difference 'WikiPage.count', @source_project.wiki.pages.size do
assert @project.copy(@source_project)
end
@@ -311,6 +312,8 @@ class ProjectCopyTest < ActiveSupport::TestCase
assert @project.wiki
assert_equal @source_project.wiki.pages.size, @project.wiki.pages.size
+ assert_equal @source_project.wiki.pages.first.attachments.first.filename, @project.wiki.pages.first.attachments.first.filename
+
@project.wiki.pages.each do |wiki_page|
assert wiki_page.content
assert !@source_project.wiki.pages.include?(wiki_page)