Commit c265698665dfd0ae007706b61a6ccf83549e61b6
1 parent
b2cd2f0b
Exists in
master
and in
28 other branches
Removed comments message when it's not enabled on article
(ActionItem1888)
Showing
2 changed files
with
28 additions
and
2 deletions
Show diff stats
app/helpers/content_viewer_helper.rb
| ... | ... | @@ -20,14 +20,18 @@ module ContentViewerHelper |
| 20 | 20 | unless args[:no_link] |
| 21 | 21 | title = content_tag('h1', link_to(article.name, article.url), :class => 'title') |
| 22 | 22 | end |
| 23 | - comments = args[:no_comments] ? '' : (("- %s") % link_to_comments(article)) | |
| 23 | + comments = '' | |
| 24 | + unless args[:no_comments] || !article.accept_comments | |
| 25 | + comments = ("- %s") % link_to_comments(article) | |
| 26 | + end | |
| 24 | 27 | title << content_tag('span', _("%s, by %s %s") % [show_date(article.published_at), link_to(article.author_name, article.author.url), comments], :class => 'created-at') |
| 25 | 28 | end |
| 26 | 29 | title |
| 27 | 30 | end |
| 28 | 31 | |
| 29 | 32 | def link_to_comments(article, args = {}) |
| 30 | - link_to( number_of_comments(article), article.url.merge(:anchor => 'comments_list') ) | |
| 33 | + return '' unless article.accept_comments? | |
| 34 | + link_to(number_of_comments(article), article.url.merge(:anchor => 'comments_list') ) | |
| 31 | 35 | end |
| 32 | 36 | |
| 33 | 37 | def article_translations(article) | ... | ... |
test/unit/content_viewer_helper_test.rb
| ... | ... | @@ -46,6 +46,20 @@ class ContentViewerHelperTest < Test::Unit::TestCase |
| 46 | 46 | assert_no_match /a href='#{article.url}'>#{article.name}</, result |
| 47 | 47 | end |
| 48 | 48 | |
| 49 | + should 'not create link to comments if called with no_comments' do | |
| 50 | + blog = fast_create(Blog, :name => 'Blog test', :profile_id => profile.id) | |
| 51 | + article = fast_create(TextileArticle, :name => 'art test', :profile_id => profile.id, :parent_id => blog.id) | |
| 52 | + result = article_title(article, :no_comments => true) | |
| 53 | + assert_no_match(/a href='.*comments_list.*>No comments yet</, result) | |
| 54 | + end | |
| 55 | + | |
| 56 | + should 'not create link to comments if the article doesn\'t allow comments' do | |
| 57 | + blog = fast_create(Blog, :name => 'Blog test', :profile_id => profile.id) | |
| 58 | + article = fast_create(TextileArticle, :name => 'art test', :profile_id => profile.id, :parent_id => blog.id, :accept_comments => false) | |
| 59 | + result = article_title(article) | |
| 60 | + assert_no_match(/a href='.*comments_list.*>No comments yet</, result) | |
| 61 | + end | |
| 62 | + | |
| 49 | 63 | should 'count total of comments from post' do |
| 50 | 64 | article = TextileArticle.new(:name => 'first post for test', :body => 'first post for test', :profile => profile) |
| 51 | 65 | article.stubs(:url).returns({}) |
| ... | ... | @@ -54,6 +68,14 @@ class ContentViewerHelperTest < Test::Unit::TestCase |
| 54 | 68 | assert_match /One comment/, result |
| 55 | 69 | end |
| 56 | 70 | |
| 71 | + should 'not display total of comments if the article doesn\'t allow comments' do | |
| 72 | + article = TextileArticle.new(:name => 'first post for test', :body => 'first post for test', :profile => profile, :accept_comments => false) | |
| 73 | + article.stubs(:url).returns({}) | |
| 74 | + article.stubs(:comments).returns([Comment.new(:author => profile, :title => 'test', :body => 'test')]) | |
| 75 | + result = link_to_comments(article) | |
| 76 | + assert_equal '', result | |
| 77 | + end | |
| 78 | + | |
| 57 | 79 | should 'not list feed article' do |
| 58 | 80 | profile.articles << Blog.new(:name => 'Blog test', :profile => profile) |
| 59 | 81 | assert_includes profile.blog.children.map{|i| i.class}, RssFeed | ... | ... |