Commit 37e8887a89acef33b1f006a772c5e0c41fa6f823
1 parent
a5c0c0f3
Exists in
master
and in
29 other branches
display_content: fix edition when a selected article was removed
Showing
2 changed files
with
16 additions
and
1 deletions
Show diff stats
plugins/display_content/lib/display_content_block.rb
@@ -56,7 +56,7 @@ class DisplayContentBlock < Block | @@ -56,7 +56,7 @@ class DisplayContentBlock < Block | ||
56 | end | 56 | end |
57 | 57 | ||
58 | def parent_nodes | 58 | def parent_nodes |
59 | - @parent_nodes ||= self.holder.articles.find(nodes).map { |article| get_parent(article) }.compact.flatten | 59 | + @parent_nodes ||= self.holder.articles.where(:id => nodes).map { |article| get_parent(article) }.compact.flatten |
60 | end | 60 | end |
61 | 61 | ||
62 | VALID_CONTENT = ['RawHTMLArticle', 'TextArticle', 'TextileArticle', 'TinyMceArticle', 'Folder', 'Blog', 'Forum'] | 62 | VALID_CONTENT = ['RawHTMLArticle', 'TextArticle', 'TextileArticle', 'TinyMceArticle', 'Folder', 'Blog', 'Forum'] |
plugins/display_content/test/unit/display_content_block_test.rb
@@ -557,4 +557,19 @@ class DisplayContentBlockTest < ActiveSupport::TestCase | @@ -557,4 +557,19 @@ class DisplayContentBlockTest < ActiveSupport::TestCase | ||
557 | assert_equal [a1], block.articles_of_parent | 557 | assert_equal [a1], block.articles_of_parent |
558 | end | 558 | end |
559 | 559 | ||
560 | + should 'do not fail if a selected article was removed' do | ||
561 | + profile = create_user('testuser').person | ||
562 | + Article.delete_all | ||
563 | + f1 = fast_create(Folder, :name => 'test folder 1', :profile_id => profile.id) | ||
564 | + a1 = fast_create(TextileArticle, :name => 'test article 1', :profile_id => profile.id, :parent_id => f1.id) | ||
565 | + | ||
566 | + checked_articles= {a1.id => true} | ||
567 | + | ||
568 | + block = DisplayContentBlock.new | ||
569 | + block.stubs(:holder).returns(profile) | ||
570 | + block.checked_nodes= checked_articles | ||
571 | + a1.destroy | ||
572 | + assert_equal [], block.parent_nodes | ||
573 | + end | ||
574 | + | ||
560 | end | 575 | end |