diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb index fb872a13f74..5f5c76d3722 100644 --- a/app/helpers/events_helper.rb +++ b/app/helpers/events_helper.rb @@ -1,4 +1,15 @@ module EventsHelper + ICON_NAMES_BY_EVENT_TYPE = { + 'pushed to' => 'icon_commit', + 'pushed new' => 'icon_commit', + 'created' => 'icon_status_open', + 'opened' => 'icon_status_open', + 'closed' => 'icon_status_closed', + 'accepted' => 'icon_code_fork', + 'commented on' => 'icon_comment_o', + 'deleted' => 'icon_trash_o' + }.freeze + def link_to_author(event) author = event.author @@ -183,4 +194,21 @@ module EventsHelper "event-inline" end end + + def icon_for_event(note) + icon_name = ICON_NAMES_BY_EVENT_TYPE[note] + custom_icon(icon_name) if icon_name + end + + def icon_for_profile_event(event) + if current_path?('users#show') + content_tag :div, class: "system-note-image #{event.action_name.parameterize}-icon" do + icon_for_event(event.action_name) + end + else + content_tag :div, class: 'system-note-image user-avatar' do + author_avatar(event, size: 32) + end + end + end end diff --git a/app/helpers/system_note_helper.rb b/app/helpers/system_note_helper.rb index efe661a646a..1ea60e39386 100644 --- a/app/helpers/system_note_helper.rb +++ b/app/helpers/system_note_helper.rb @@ -1,12 +1,9 @@ module SystemNoteHelper ICON_NAMES_BY_ACTION = { 'commit' => 'icon_commit', - 'pushed to' => 'icon_commit', - 'pushed new' => 'icon_commit', 'merge' => 'icon_merge', 'merged' => 'icon_merged', 'opened' => 'icon_status_open', - 'created' => 'icon_status_open', 'closed' => 'icon_status_closed', 'time_tracking' => 'icon_stopwatch', 'assignee' => 'icon_user', @@ -15,30 +12,15 @@ module SystemNoteHelper 'label' => 'icon_tags', 'cross_reference' => 'icon_random', 'branch' => 'icon_code_fork', - 'accepted' => 'icon_code_fork', 'confidential' => 'icon_eye_slash', 'visible' => 'icon_eye', 'milestone' => 'icon_clock_o', 'discussion' => 'icon_comment_o', - 'commented on' => 'icon_comment_o', - 'moved' => 'icon_arrow_circle_o_right', - 'deleted' => 'icon_trash_o' + 'moved' => 'icon_arrow_circle_o_right' }.freeze def icon_for_system_note(note) - icon_name = ICON_NAMES_BY_ACTION[note] + icon_name = ICON_NAMES_BY_ACTION[note.system_note_metadata&.action] custom_icon(icon_name) if icon_name end - - def icon_for_profile_event(event) - if current_path?('users#show') - content_tag :div, class: "system-note-image #{event.action_name}-icon" do - icon_for_system_note(event.action_name) - end - else - content_tag :div, class: 'system-note-image user-avatar' do - author_avatar(event, size: 32) - end - end - end end diff --git a/app/views/projects/notes/_note.html.haml b/app/views/projects/notes/_note.html.haml index 5892c1aa3d1..c12c05eeb73 100644 --- a/app/views/projects/notes/_note.html.haml +++ b/app/views/projects/notes/_note.html.haml @@ -6,7 +6,7 @@ .timeline-entry-inner .timeline-icon - if note.system - = icon_for_system_note(note.system_note_metadata&.action) + = icon_for_system_note(note) - else %a{ href: user_path(note.author) } = image_tag avatar_icon(note.author), alt: '', class: 'avatar s40'