Fixed: error raised when copying project wiki with wiki module disabled (#13097).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11332 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
eece12ddfd
commit
2cd749955e
|
@ -772,7 +772,7 @@ class Project < ActiveRecord::Base
|
|||
def copy_wiki(project)
|
||||
# Check that the source project has a wiki first
|
||||
unless project.wiki.nil?
|
||||
self.wiki ||= Wiki.new
|
||||
wiki = self.wiki || Wiki.new
|
||||
wiki.attributes = project.wiki.attributes.dup.except("id", "project_id")
|
||||
wiki_pages_map = {}
|
||||
project.wiki.pages.each do |page|
|
||||
|
@ -784,6 +784,8 @@ class Project < ActiveRecord::Base
|
|||
wiki.pages << new_wiki_page
|
||||
wiki_pages_map[page.id] = new_wiki_page
|
||||
end
|
||||
|
||||
self.wiki = wiki
|
||||
wiki.save
|
||||
# Reproduce page hierarchy
|
||||
project.wiki.pages.each do |page|
|
||||
|
|
|
@ -233,6 +233,15 @@ class ProjectCopyTest < ActiveSupport::TestCase
|
|||
assert_equal "Start page", @project.wiki.start_page
|
||||
end
|
||||
|
||||
test "#copy should copy wiki without wiki module" do
|
||||
project = Project.new(:name => 'Copy Test', :identifier => 'copy-test', :enabled_module_names => [])
|
||||
assert_difference 'Wiki.count' do
|
||||
assert project.copy(@source_project)
|
||||
end
|
||||
|
||||
assert project.wiki
|
||||
end
|
||||
|
||||
test "#copy should copy wiki pages and content with hierarchy" do
|
||||
assert_difference 'WikiPage.count', @source_project.wiki.pages.size do
|
||||
assert @project.copy(@source_project)
|
||||
|
|
Loading…
Reference in New Issue