From 6ec69965ca3d6d7e79ef6e76661962ce525dec47 Mon Sep 17 00:00:00 2001 From: Victor Costa Date: Mon, 11 Nov 2013 09:50:26 -0300 Subject: [PATCH] Fix pagination for parent contents at context content block --- plugins/context_content/lib/context_content_block.rb | 2 +- plugins/context_content/test/unit/context_content_block_test.rb | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/plugins/context_content/lib/context_content_block.rb b/plugins/context_content/lib/context_content_block.rb index 87068b4..de449e9 100644 --- a/plugins/context_content/lib/context_content_block.rb +++ b/plugins/context_content/lib/context_content_block.rb @@ -41,7 +41,7 @@ class ContextContentBlock < Block return @children unless @children.blank? if page @children = page.children.with_types(types).paginate(:per_page => limit, :page => p) - (@children.blank? && show_parent_content) ? contents(page.parent) : @children + (@children.blank? && show_parent_content) ? contents(page.parent, p) : @children else nil end diff --git a/plugins/context_content/test/unit/context_content_block_test.rb b/plugins/context_content/test/unit/context_content_block_test.rb index 0ae677b..8c72e88 100644 --- a/plugins/context_content/test/unit/context_content_block_test.rb +++ b/plugins/context_content/test/unit/context_content_block_test.rb @@ -48,6 +48,24 @@ class ContextContentBlockTest < ActiveSupport::TestCase assert_equal 2, @block.contents(folder).length end + should 'show contents for next page' do + @block.limit = 2 + folder = fast_create(Folder) + article1 = fast_create(TinyMceArticle, :parent_id => folder.id) + article2 = fast_create(TinyMceArticle, :parent_id => folder.id) + article3 = fast_create(TinyMceArticle, :parent_id => folder.id) + assert_equal [article3], @block.contents(folder, 2) + end + + should 'show parent contents for next page' do + @block.limit = 2 + folder = fast_create(Folder) + article1 = fast_create(TinyMceArticle, :parent_id => folder.id) + article2 = fast_create(TinyMceArticle, :parent_id => folder.id) + article3 = fast_create(TinyMceArticle, :parent_id => folder.id) + assert_equal [article3], @block.contents(article1, 2) + end + should 'return parent children if page has no children' do folder = fast_create(Folder) article = fast_create(TinyMceArticle, :parent_id => folder.id) -- libgit2 0.21.2