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
def reports_url(issue)
class_name = issue.reportable.class.name
case class_name
when "DiaryEntry"
link_to issue.reportable.title, issue
when "User"
link_to issue.reportable.display_name.to_s, issue
when "DiaryComment"
link_to "#{issue.reportable.diary_entry.title}, Comment id ##{issue.reportable.id}", issue
when "Changeset"
link_to "Changeset ##{issue.reportable.id}", issue
when "Note"
link_to "Note ##{issue.reportable.id}", issue
def reportable_title(reportable)
case reportable
when DiaryEntry
reportable.title
when User
reportable.display_name
when DiaryComment
"#{reportable.diary_entry.title}, Comment id ##{reportable.id}"
when Changeset
"Changeset ##{reportable.id}"
when Note
"Note ##{reportable.id}"
end
end

View file

@ -37,7 +37,7 @@
<td style="text-align:center;"><%= issue.reports_count %></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><%= 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><%= instance_url(issue.reportable) %></td>
</tr>

View file

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