Refactor reportable_url to just return the url

Allows removal of the largely duplicate instance_url helper (which
returned the same urls, but with a hard-coded title).
This commit is contained in:
Andy Allan 2018-02-28 12:15:45 +08:00
parent 2a89bf2e6c
commit 3bd06529c7
5 changed files with 15 additions and 31 deletions

View file

@ -1,17 +1,16 @@
module IssuesHelper
def reportable_url(reportable)
class_name = reportable.class.name
case class_name
when "DiaryEntry"
link_to reportable.title, :controller => reportable.class.name.underscore, :action => :view, :display_name => reportable.user.display_name, :id => reportable.id
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, :anchor => "comment#{reportable.id}"
when "Changeset"
link_to "Changeset ##{reportable.id}", :controller => :browse, :action => :changeset, :id => reportable.id
when "Note"
link_to "Note ##{reportable.id}", :controller => :browse, :action => :note, :id => reportable.id
case reportable
when DiaryEntry
url_for(:controller => reportable.class.name.underscore, :action => :view, :display_name => reportable.user.display_name, :id => reportable.id)
when User
url_for(:controller => reportable.class.name.underscore, :action => :view, :display_name => reportable.display_name)
when DiaryComment
url_for(: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
url_for(:controller => :browse, :action => :changeset, :id => reportable.id)
when Note
url_for(:controller => :browse, :action => :note, :id => reportable.id)
end
end
@ -29,20 +28,4 @@ module IssuesHelper
"Note ##{reportable.id}"
end
end
def instance_url(reportable)
class_name = reportable.class.name
case class_name
when "DiaryEntry"
link_to "Show Instance", :controller => reportable.class.name.underscore, :action => :view, :display_name => reportable.user.display_name, :id => reportable.id
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, :anchor => "comment#{reportable.id}"
when "Changeset"
link_to "Show Instance", :controller => :browse, :action => :changeset, :id => reportable.id
when "Note"
link_to "Show Instance", :controller => :browse, :action => :note, :id => reportable.id
end
end
end