Hide hidden notes and comments correctly in the data browser

This commit is contained in:
Tom Hughes 2015-08-12 17:20:30 +01:00
parent 1b6c214ab5
commit caa1a0128a
3 changed files with 39 additions and 6 deletions

View file

@ -76,7 +76,14 @@ class BrowseController < ApplicationController
def note
@type = "note"
@note = Note.find(params[:id])
if @user && @user.moderator?
@note = Note.find(params[:id])
@note_comments = @note.comments.unscope(:where => :visible)
else
@note = Note.visible.find(params[:id])
@note_comments = @note.comments
end
rescue ActiveRecord::RecordNotFound
render :action => "not_found", :status => :not_found
end

View file

@ -8,25 +8,25 @@
<div class="browse-section">
<h4><%= t('browse.note.description') %></h4>
<div class="note-description">
<%= h(@note.comments.first.body.to_html) %>
<%= h(@note_comments.first.body.to_html) %>
</div>
<div class="details" data-coordinates="<%= @note.lat %>,<%= @note.lon %>" data-status="<%= @note.status %>">
<%= note_event('open', @note.created_at, @note.author) %>
<% if @note.status == "closed" %>
<br/>
<%= note_event(@note.status, @note.closed_at, @note.comments.last.author) %>
<%= note_event(@note.status, @note.closed_at, @note_comments.last.author) %>
<% end %>
</div>
<% if @note.comments.find { |comment| comment.author.nil? } -%>
<% if @note_comments.find { |comment| comment.author.nil? } -%>
<p class='warning'><%= t "javascripts.notes.show.anonymous_warning" %></p>
<% end -%>
<% if @note.comments.length > 1 %>
<% if @note_comments.length > 1 %>
<div class='note-comments'>
<ul>
<% @note.comments[1..-1].each do |comment| %>
<% @note_comments[1..-1].each do |comment| %>
<li id="c<%= comment.id %>">
<small class='deemphasize'><%= note_event(comment.event, comment.created_at, comment.author) %></small>
<%= comment.body.to_html %>