Show all diary comments to administrators
This commit is contained in:
parent
fdffd22cca
commit
9e158a5d39
4 changed files with 22 additions and 2 deletions
|
@ -74,6 +74,7 @@ class DiaryEntriesController < ApplicationController
|
||||||
|
|
||||||
def comment
|
def comment
|
||||||
@entry = DiaryEntry.find(params[:id])
|
@entry = DiaryEntry.find(params[:id])
|
||||||
|
@comments = @entry.visible_comments
|
||||||
@diary_comment = @entry.comments.build(comment_params)
|
@diary_comment = @entry.comments.build(comment_params)
|
||||||
@diary_comment.user = current_user
|
@diary_comment.user = current_user
|
||||||
if @diary_comment.save
|
if @diary_comment.save
|
||||||
|
@ -202,6 +203,7 @@ class DiaryEntriesController < ApplicationController
|
||||||
@entry = @user.diary_entries.visible.where(:id => params[:id]).first
|
@entry = @user.diary_entries.visible.where(:id => params[:id]).first
|
||||||
if @entry
|
if @entry
|
||||||
@title = t "diary_entries.show.title", :user => params[:display_name], :title => @entry.title
|
@title = t "diary_entries.show.title", :user => params[:display_name], :title => @entry.title
|
||||||
|
@comments = current_user&.administrator? ? @entry.comments : @entry.visible_comments
|
||||||
else
|
else
|
||||||
@title = t "diary_entries.no_such_entry.title", :id => params[:id]
|
@title = t "diary_entries.no_such_entry.title", :id => params[:id]
|
||||||
render :action => "no_such_entry", :status => :not_found
|
render :action => "no_such_entry", :status => :not_found
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<div class="clearfix diary-comment">
|
<div class="clearfix diary-comment<%= ' deemphasize' unless diary_comment.visible? %>">
|
||||||
<%= user_thumbnail diary_comment.user %>
|
<%= user_thumbnail diary_comment.user %>
|
||||||
<p class="deemphasize comment-heading" id="comment<%= diary_comment.id %>"><%= raw(t(".comment_from", :link_user => (link_to h(diary_comment.user.display_name), user_path(diary_comment.user)), :comment_created_at => link_to(l(diary_comment.created_at, :format => :friendly), :anchor => "comment#{diary_comment.id}"))) %>
|
<p class="deemphasize comment-heading" id="comment<%= diary_comment.id %>"><%= raw(t(".comment_from", :link_user => (link_to h(diary_comment.user.display_name), user_path(diary_comment.user)), :comment_created_at => link_to(l(diary_comment.created_at, :format => :friendly), :anchor => "comment#{diary_comment.id}"))) %>
|
||||||
<% if current_user and diary_comment.user.id != current_user.id %>
|
<% if current_user and diary_comment.user.id != current_user.id %>
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
<a id="comments"></a>
|
<a id="comments"></a>
|
||||||
<div class='comments'>
|
<div class='comments'>
|
||||||
<%= render :partial => "diary_comment", :collection => @entry.visible_comments %>
|
<%= render :partial => "diary_comment", :collection => @comments %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
|
|
|
@ -43,4 +43,22 @@ class DiaryEntrySystemTest < ApplicationSystemTestCase
|
||||||
|
|
||||||
assert_not page.has_content? @deleted_entry.title
|
assert_not page.has_content? @deleted_entry.title
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "deleted diary comments should be hidden for regular users" do
|
||||||
|
@deleted_comment = create(:diary_comment, :diary_entry => @diary_entry, :visible => false)
|
||||||
|
|
||||||
|
sign_in_as(create(:user))
|
||||||
|
visit diary_entry_path(@diary_entry.user, @diary_entry)
|
||||||
|
|
||||||
|
assert_not page.has_content? @deleted_comment.body
|
||||||
|
end
|
||||||
|
|
||||||
|
test "deleted diary comments should be shown to administrators" do
|
||||||
|
@deleted_comment = create(:diary_comment, :diary_entry => @diary_entry, :visible => false)
|
||||||
|
|
||||||
|
sign_in_as(create(:administrator_user))
|
||||||
|
visit diary_entry_path(@diary_entry.user, @diary_entry)
|
||||||
|
|
||||||
|
assert page.has_content? @deleted_comment.body
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue