Commit 89736c33f46e8942c6c061e6685a89bebfbc2048
1 parent
b343396f
Exists in
master
and in
22 other branches
ActionItem591: copy homepage setting with article tree
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@2451 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
2 changed files
with
17 additions
and
1 deletions
Show diff stats
app/models/profile.rb
... | ... | @@ -356,6 +356,9 @@ class Profile < ActiveRecord::Base |
356 | 356 | |
357 | 357 | def copy_article_tree(article, parent=nil) |
358 | 358 | article_copy = article.copy(:profile => self, :parent => parent) |
359 | + if article.profile.home_page == article | |
360 | + self.home_page = article_copy | |
361 | + end | |
359 | 362 | article.children.each do |a| |
360 | 363 | copy_article_tree a, article_copy |
361 | 364 | end | ... | ... |
test/unit/profile_test.rb
... | ... | @@ -839,7 +839,20 @@ class ProfileTest < Test::Unit::TestCase |
839 | 839 | assert_equal 'some child article', child_art.name |
840 | 840 | end |
841 | 841 | |
842 | - should 'copy homepage from template' | |
842 | + should 'copy homepage from template' do | |
843 | + template = create_user('test_template').person | |
844 | + template.articles.destroy_all | |
845 | + a1 = template.articles.create(:name => 'some xyz article') | |
846 | + template.home_page = a1 | |
847 | + template.save! | |
848 | + | |
849 | + Profile.any_instance.stubs(:template).returns(template) | |
850 | + | |
851 | + p = Profile.create!(:name => 'test_profile', :identifier => 'test_profile') | |
852 | + | |
853 | + assert_not_nil p.home_page | |
854 | + assert_equal 'some xyz article', p.home_page.name | |
855 | + end | |
843 | 856 | |
844 | 857 | should 'copy set of boxes from profile template' do |
845 | 858 | template = Profile.create!(:name => 'test template', :identifier => 'test_template') | ... | ... |