From c9517286e7bee94dd2230c6f08ffd3c7285f38dd Mon Sep 17 00:00:00 2001 From: Daniela Feitosa Date: Thu, 27 Aug 2015 01:46:38 +0000 Subject: [PATCH] Added option to configure if preview in posts will be displayed --- app/helpers/blog_helper.rb | 8 +++++++- app/models/article.rb | 9 ++++++++- app/models/text_article.rb | 4 ++++ app/views/content_viewer/_article_title.html.erb | 2 +- test/unit/article_test.rb | 4 ++++ test/unit/text_article_test.rb | 8 ++++++++ 6 files changed, 32 insertions(+), 3 deletions(-) diff --git a/app/helpers/blog_helper.rb b/app/helpers/blog_helper.rb index a185502..e29cf80 100644 --- a/app/helpers/blog_helper.rb +++ b/app/helpers/blog_helper.rb @@ -6,7 +6,13 @@ module BlogHelper @article = article hidden_field_tag('article[published]', 1) + hidden_field_tag('article[accept_comments]', 0) + - visibility_options(article,tokenized_children) + visibility_options(article,tokenized_children) + + content_tag('h4', _('Visualization of posts')) + + content_tag( + 'div', + check_box(:article, :display_preview) + + content_tag('label', _('I want to display the preview of posts before the text'), :for => 'article_display_preview') + ) end def cms_label_for_new_children diff --git a/app/models/article.rb b/app/models/article.rb index bdb304d..07b8c32 100644 --- a/app/models/article.rb +++ b/app/models/article.rb @@ -8,7 +8,8 @@ class Article < ActiveRecord::Base :accept_comments, :feed, :published, :source, :source_name, :highlighted, :notify_comments, :display_hits, :slug, :external_feed_builder, :display_versions, :external_link, - :image_builder, :show_to_followers + :image_builder, :show_to_followers, + :display_preview acts_as_having_image @@ -634,6 +635,12 @@ class Article < ActiveRecord::Base can_display_hits? && display_hits end + settings_items :display_preview, :type => :boolean, :default => false + + def display_preview? + false + end + def image? false end diff --git a/app/models/text_article.rb b/app/models/text_article.rb index 0d5ff76..73ff983 100644 --- a/app/models/text_article.rb +++ b/app/models/text_article.rb @@ -41,4 +41,8 @@ class TextArticle < Article end end + def display_preview? + parent && parent.kind_of?(Blog) && parent.display_preview + end + end diff --git a/app/views/content_viewer/_article_title.html.erb b/app/views/content_viewer/_article_title.html.erb index 240b8b7..241ed90 100644 --- a/app/views/content_viewer/_article_title.html.erb +++ b/app/views/content_viewer/_article_title.html.erb @@ -7,7 +7,7 @@ <% end %> <%= render :partial => "publishing_info" %> - <% unless @page.abstract.blank? %> + <% if @page.display_preview? %>
<%= @page.lead %>
diff --git a/test/unit/article_test.rb b/test/unit/article_test.rb index 68ae33f..2ae6993 100644 --- a/test/unit/article_test.rb +++ b/test/unit/article_test.rb @@ -2180,4 +2180,8 @@ class ArticleTest < ActiveSupport::TestCase article.destroy end + should 'have display_preview' do + a = Article.new(:display_preview => false) + assert !a.display_preview? + end end diff --git a/test/unit/text_article_test.rb b/test/unit/text_article_test.rb index 86fa417..28c6219 100644 --- a/test/unit/text_article_test.rb +++ b/test/unit/text_article_test.rb @@ -120,4 +120,12 @@ class TextArticleTest < ActiveSupport::TestCase assert text.translatable? end + should 'display preview when configured on parent that is a blog' do + person = fast_create(Person) + post = fast_create(TextArticle, :profile_id => person.id) + blog = Blog.new(:display_preview => true) + post.parent = blog + assert post.display_preview? + end + end -- libgit2 0.21.2