Commit c265698665dfd0ae007706b61a6ccf83549e61b6
1 parent
b2cd2f0b
Exists in
master
and in
29 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 | ... | ... |