##// END OF EJS Templates
Fixes project wiki copy....
Jean-Philippe Lang -
r2855:a9fb11c0f570
parent child
Show More
@@ -31,7 +31,8 class EnabledModule < ActiveRecord::Base
31 when 'wiki'
31 when 'wiki'
32 # Create a wiki with a default start page
32 # Create a wiki with a default start page
33 if project && project.wiki.nil?
33 if project && project.wiki.nil?
34 #Wiki.create(:project => project, :start_page => 'Wiki')
34 logger.debug("after_create module_enabled")
35 Wiki.create(:project => project, :start_page => 'Wiki')
35 end
36 end
36 end
37 end
37 end
38 end
@@ -412,11 +412,14 class Project < ActiveRecord::Base
412 to_be_copied = to_be_copied & options[:only].to_a unless options[:only].nil?
412 to_be_copied = to_be_copied & options[:only].to_a unless options[:only].nil?
413
413
414 Project.transaction do
414 Project.transaction do
415 to_be_copied.each do |name|
415 if save
416 send "copy_#{name}", project
416 reload
417 to_be_copied.each do |name|
418 send "copy_#{name}", project
419 end
420 Redmine::Hook.call_hook(:model_project_copy_before_save, :source_project => project, :destination_project => self)
421 save
417 end
422 end
418 Redmine::Hook.call_hook(:model_project_copy_before_save, :source_project => project, :destination_project => self)
419 self.save
420 end
423 end
421 end
424 end
422
425
@@ -447,12 +450,16 class Project < ActiveRecord::Base
447
450
448 # Copies wiki from +project+
451 # Copies wiki from +project+
449 def copy_wiki(project)
452 def copy_wiki(project)
450 self.wiki = Wiki.new(project.wiki.attributes.dup.except("project_id"))
453 # Check that the source project has a wiki first
451 project.wiki.pages.each do |page|
454 unless project.wiki.nil?
452 new_wiki_content = WikiContent.new(page.content.attributes.dup.except("page_id"))
455 self.wiki ||= Wiki.new
453 new_wiki_page = WikiPage.new(page.attributes.dup.except("wiki_id"))
456 wiki.attributes = project.wiki.attributes.dup.except("project_id")
454 new_wiki_page.content = new_wiki_content
457 project.wiki.pages.each do |page|
455 self.wiki.pages << new_wiki_page
458 new_wiki_content = WikiContent.new(page.content.attributes.dup.except("page_id"))
459 new_wiki_page = WikiPage.new(page.attributes.dup.except("wiki_id"))
460 new_wiki_page.content = new_wiki_content
461 wiki.pages << new_wiki_page
462 end
456 end
463 end
457 end
464 end
458
465
General Comments 0
You need to be logged in to leave comments. Login now