_recent_messages.html.haml 1.76 KB
Newer Older
Dmitriy Zaporozhets's avatar
Dmitriy Zaporozhets committed
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
- @messages.group_by{ |x| [x.noteable_id, x.noteable_type]}.each do |item, notes|
  - id, type = item[0], item[1]
  - parent = load_note_parent(id, type, @project)
  - next unless parent

  - case type
  - when "Issue"
    - css_class = "dash_issue"
    - issue = parent
    - item_code = issue.author.email
    - link_item_name = truncate(issue.title, :length => 50)
    - link_to_item = project_issue_path(@project, issue)
  - when "Snippet"
    - css_class = "dash_snippet"
    - item_code = parent.author.email
    - link_item_name = parent.title
    - link_to_item = project_snippet_path(@project, parent)
  - when "Commit"
    - css_class = "dash_commit"
    - commit = parent
    - item_code = commit.author.email
    - link_item_name = truncate_commit_message(commit, 50)
    - link_to_item = project_commit_path(@project, :id => commit.id)
  - else
    - css_class = "dash_wall"
    - item_code = @project.name
    - link_item_name = "Project Wall"
    - link_to_item = wall_project_path(@project)

  %div{ :class => "recent_message_parent #{css_class}"}
    = image_tag gravatar_icon(item_code), :class => "left", :width => 40
    %h4
      = link_to(link_item_name, link_to_item)
    %span
      = type
  .clear
  - notes.sort {|x,y| x.updated_at <=> y.updated_at }.each do |note|
    %div.message
      = image_tag gravatar_icon(note.author.email), :class => "left", :width => 24, :style => "padding-right:5px;"
      %p{:style => "margin-bottom: 3px;"}
        %span.author
          = note.author.name
        = link_to truncate(note.note, :length => 200), link_to_item + "#note_#{note.id}"
        - if note.attachment.url
          %br
          Attachment:
          = link_to note.attachment_identifier, note.attachment.url
          %br
    %br
  .append-bottom
    &nbsp;
  .clear