summaryrefslogtreecommitdiff
path: root/app/helpers/dashboard_helper.rb
blob: 6115ae4def5c67761d548ef6ac92b22ada4edeca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
module DashboardHelper
  def dashboard_feed_path(project, object)
    case object.class.name.to_s
    when "Issue" then project_issue_path(project, project.issues.find(object.id))
    when "Grit::Commit" then project_commit_path(project, project.repo.commits(object.id).first)
    when "Note"
      then
      note = object
      case note.noteable_type
      when "Issue" then project_issue_path(project, note.noteable_id)
      when "Snippet" then project_snippet_path(project, note.noteable_id)
      when "Commit" then project_commit_path(project, :id => note.noteable_id)
      else wall_project_path(project)
      end
    else wall_project_path(project)
    end
  rescue
    "#"
  end

  def dashboard_feed_title(object)
    klass = object.class.to_s.split("::").last

    title = case klass
            when "Note" then markdown(object.note)
            when "Issue" then object.title
            when "Commit" then object.safe_message
            else return "Project Wall"
            end

    "[#{klass}] #{truncate(sanitize(title, :tags => []), :length => 60)} "
  end
end