]> source.dussan.org Git - redmine.git/commitdiff
Copy wiki attachments on project copy (#10282).
authorGo MAEDA <maeda@farend.jp>
Sat, 28 Apr 2018 04:44:32 +0000 (04:44 +0000)
committerGo MAEDA <maeda@farend.jp>
Sat, 28 Apr 2018 04:44:32 +0000 (04:44 +0000)
Patch by  Mizuki ISHIKAWA.

git-svn-id: http://svn.redmine.org/redmine/trunk@17315 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/project.rb
test/unit/project_copy_test.rb

index 06660adc4fd8fc14249802c6c137195134a4b0bb..1268f11cd7eedb3d8ad4184d8b9b596d95ece933 100644 (file)
@@ -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
 
index a1292204b1b86929a0669fd4597a84603bdc22da..56f485c7647324cbabd2b3bbc75749324d0ee73e 100644 (file)
@@ -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)