Refactor reportable_url helper to focus on just the title choices.

This commit is contained in:
Andy Allan 2018-02-28 11:53:43 +08:00
parent 38efcc2f33
commit 2a89bf2e6c
3 changed files with 14 additions and 15 deletions

View file

@ -15,19 +15,18 @@ module IssuesHelper
end end
end end
def reports_url(issue) def reportable_title(reportable)
class_name = issue.reportable.class.name case reportable
case class_name when DiaryEntry
when "DiaryEntry" reportable.title
link_to issue.reportable.title, issue when User
when "User" reportable.display_name
link_to issue.reportable.display_name.to_s, issue when DiaryComment
when "DiaryComment" "#{reportable.diary_entry.title}, Comment id ##{reportable.id}"
link_to "#{issue.reportable.diary_entry.title}, Comment id ##{issue.reportable.id}", issue when Changeset
when "Changeset" "Changeset ##{reportable.id}"
link_to "Changeset ##{issue.reportable.id}", issue when Note
when "Note" "Note ##{reportable.id}"
link_to "Note ##{issue.reportable.id}", issue
end end
end end

View file

@ -37,7 +37,7 @@
<td style="text-align:center;"><%= issue.reports_count %></td> <td style="text-align:center;"><%= issue.reports_count %></td>
<td><%= l(issue.updated_at.to_datetime, :format => :friendly) %></td> <td><%= l(issue.updated_at.to_datetime, :format => :friendly) %></td>
<td><% if issue.user_updated %> <%= issue.user_updated.display_name %> <% else %> - <% end %></td> <td><% if issue.user_updated %> <%= issue.user_updated.display_name %> <% else %> - <% end %></td>
<td><%= reports_url(issue) %></td> <td><%= link_to reportable_title(issue.reportable), issue %></td>
<td><%= link_to issue.reported_user.display_name , :controller => :user, :action => :view, :display_name => issue.reported_user.display_name %></td> <td><%= link_to issue.reported_user.display_name , :controller => :user, :action => :view, :display_name => issue.reported_user.display_name %></td>
<td><%= instance_url(issue.reportable) %></td> <td><%= instance_url(issue.reportable) %></td>
</tr> </tr>

View file

@ -46,7 +46,7 @@
<% if @related_issues.count > 1 %> <% if @related_issues.count > 1 %>
<% @related_issues.each do |issue| %> <% @related_issues.each do |issue| %>
<% if issue.id != @issue.id %> <% if issue.id != @issue.id %>
<%= reports_url(issue) %> <br/> <%= link_to reportable_title(issue.reportable), issue %> <br/>
<% end %> <% end %>
<% end %> <% end %>
<% else %> <% else %>