Link to diary comments using anchors, rather than showing them alone
authorAndy Allan <git@gravitystorm.co.uk>
Wed, 28 Feb 2018 03:24:00 +0000 (11:24 +0800)
committerAndy Allan <git@gravitystorm.co.uk>
Wed, 28 Feb 2018 03:24:00 +0000 (11:24 +0800)
Neither way is perfect, but this is less surprising than seeing a diary
entry with only one comment visible.

app/controllers/diary_entry_controller.rb
app/helpers/issues_helper.rb
app/views/diary_entry/view.html.erb

index 88febbe..9e0fd49 100644 (file)
@@ -186,9 +186,6 @@ class DiaryEntryController < ApplicationController
     @entry = @this_user.diary_entries.visible.where(:id => params[:id]).first
     if @entry
       @title = t "diary_entry.view.title", :user => params[:display_name], :title => @entry.title
-      if params[:comment_id]
-        @reported_comment = DiaryComment.where(:id => params[:comment_id])
-      end
     else
       @title = t "diary_entry.no_such_entry.title", :id => params[:id]
       render :action => "no_such_entry", :status => :not_found
index 27a51c0..8452cbd 100644 (file)
@@ -7,7 +7,7 @@ module IssuesHelper
     when "User"
       link_to reportable.display_name.to_s, :controller => reportable.class.name.underscore, :action => :view, :display_name => reportable.display_name
     when "DiaryComment"
-      link_to "#{reportable.diary_entry.title}, Comment id ##{reportable.id}", :controller => reportable.diary_entry.class.name.underscore, :action => :view, :display_name => reportable.diary_entry.user.display_name, :id => reportable.diary_entry.id, :comment_id => reportable.id
+      link_to "#{reportable.diary_entry.title}, Comment id ##{reportable.id}", :controller => reportable.diary_entry.class.name.underscore, :action => :view, :display_name => reportable.diary_entry.user.display_name, :id => reportable.diary_entry.id, :anchor => "comment#{reportable.id}"
     when "Changeset"
       link_to "Changeset ##{reportable.id}", :controller => :browse, :action => :changeset, :id => reportable.id
     when "Note"
@@ -39,7 +39,7 @@ module IssuesHelper
     when "User"
       link_to "Show Instance", :controller => reportable.class.name.underscore, :action => :view, :display_name => reportable.display_name
     when "DiaryComment"
-      link_to "Show Instance", :controller => reportable.diary_entry.class.name.underscore, :action => :view, :display_name => reportable.diary_entry.user.display_name, :id => reportable.diary_entry.id, :comment_id => reportable.id
+      link_to "Show Instance", :controller => reportable.diary_entry.class.name.underscore, :action => :view, :display_name => reportable.diary_entry.user.display_name, :id => reportable.diary_entry.id, :anchor => "comment#{reportable.id}"
     when "Changeset"
       link_to "Show Instance", :controller => :browse, :action => :changeset, :id => reportable.id
     when "Note"
index 5079074..3c2264d 100644 (file)
 
 <a id="comments"></a>
 <div class='comments'>
-  <% if @reported_comment %>
-    <%= render :partial => 'diary_comment', :collection => @reported_comment %>
-  <% else %>
-    <%= render :partial => 'diary_comment', :collection => @entry.visible_comments %>
-  <% end %>
+<%= render :partial => 'diary_comment', :collection => @entry.visible_comments %>
 </div>
 <%= if_logged_in(:div) do %>
   <h3 id="newcomment"><%= t 'diary_entry.view.leave_a_comment' %></h3>