Commit 663dd6fad6e0a992f7ba1ccff4e58de84463abe6

Authored by Dmitriy Zaporozhets
1 parent 433387be

Refactored events output. Added links to authors of events

app/assets/stylesheets/sections/events.scss
@@ -5,32 +5,23 @@ @@ -5,32 +5,23 @@
5 .event_label { 5 .event_label {
6 &.pushed { 6 &.pushed {
7 padding:0 2px; 7 padding:0 2px;
8 - @extend .alert;  
9 - @extend .alert-info;  
10 } 8 }
11 9
12 &.opened { 10 &.opened {
13 padding:0 2px; 11 padding:0 2px;
14 - @extend .alert;  
15 - @extend .alert-success;  
16 } 12 }
17 13
18 &.closed { 14 &.closed {
19 padding:0 2px; 15 padding:0 2px;
20 - @extend .alert;  
21 - @extend .alert-error;  
22 } 16 }
23 17
24 &.merged { 18 &.merged {
25 padding:0 2px; 19 padding:0 2px;
26 - @extend .alert;  
27 - @extend .alert-success;  
28 } 20 }
29 21
30 &.left, 22 &.left,
31 &.joined { 23 &.joined {
32 padding:0 2px; 24 padding:0 2px;
33 - @extend .alert;  
34 float:none; 25 float:none;
35 } 26 }
36 } 27 }
app/helpers/events_helper.rb 0 → 100644
@@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
  1 +module EventsHelper
  2 + def link_to_author(event)
  3 + project = event.project
  4 + tm = project.team_member_by_id(event.author_id)
  5 +
  6 + if tm
  7 + link_to event.author_name, project_team_member_path(project, tm)
  8 + else
  9 + event.author_name
  10 + end
  11 + end
  12 +
  13 + def event_action_name(event)
  14 + target = if event.target_type
  15 + event.target_type.titleize.downcase
  16 + else
  17 + 'project'
  18 + end
  19 +
  20 + [event.action_name, target].join(" ")
  21 + end
  22 +end
app/helpers/issues_helper.rb
@@ -33,7 +33,7 @@ module IssuesHelper @@ -33,7 +33,7 @@ module IssuesHelper
33 classes 33 classes
34 end 34 end
35 35
36 - def issue_tags 36 + def issue_tags
37 @project.issues.tag_counts_on(:labels).map(&:name) 37 @project.issues.tag_counts_on(:labels).map(&:name)
38 end 38 end
39 39
app/helpers/projects_helper.rb
@@ -6,5 +6,9 @@ module ProjectsHelper @@ -6,5 +6,9 @@ module ProjectsHelper
6 def remove_from_team_message(project, member) 6 def remove_from_team_message(project, member)
7 "You are going to remove #{member.user_name} from #{project.name}. Are you sure?" 7 "You are going to remove #{member.user_name} from #{project.name}. Are you sure?"
8 end 8 end
  9 +
  10 + def link_to_project project
  11 + link_to project.name, project
  12 + end
9 end 13 end
10 14
app/models/event.rb
@@ -58,6 +58,10 @@ class Event < ActiveRecord::Base @@ -58,6 +58,10 @@ class Event < ActiveRecord::Base
58 end 58 end
59 end 59 end
60 60
  61 + def target_title
  62 + target.try :title
  63 + end
  64 +
61 def push? 65 def push?
62 action == self.class::Pushed && valid_push? 66 action == self.class::Pushed && valid_push?
63 end 67 end
app/views/events/_event.html.haml
1 - if event.allowed? 1 - if event.allowed?
2 %div.event-item 2 %div.event-item
3 - - if event.issue?  
4 - = render "events/event_issue", event: event  
5 -  
6 - - elsif event.merge_request?  
7 - = render "events/event_merge_request", event: event  
8 -  
9 - - elsif event.push? 3 + - if event.push?
10 = render "events/event_push", event: event 4 = render "events/event_push", event: event
11 -  
12 - - elsif event.membership_changed?  
13 - = render "events/event_membership_changed", event: event 5 + - else
  6 + = render "events/event_common", event: event
14 7
15 %span.cgray.right 8 %span.cgray.right
16 = time_ago_in_words(event.created_at) 9 = time_ago_in_words(event.created_at)
app/views/events/_event_common.html.haml 0 → 100644
@@ -0,0 +1,8 @@ @@ -0,0 +1,8 @@
  1 += image_tag gravatar_icon(event.author_email), class: "avatar"
  2 +.event-title
  3 + %span.author_name= link_to_author event
  4 + %span.event_label{class: event.action_name}= event_action_name(event)
  5 + = link_to [event.project, event.target] do
  6 + %strong= truncate event.target_title
  7 + at
  8 + = link_to_project event.project
app/views/events/_event_issue.html.haml
@@ -1,8 +0,0 @@ @@ -1,8 +0,0 @@
1 -= image_tag gravatar_icon(event.author_email), class: "avatar"  
2 -.event-title  
3 - %strong.author_name #{event.author_name}  
4 - %span.event_label{class: event.action_name} #{event.action_name} issue  
5 - = link_to project_issue_path(event.project, event.issue) do  
6 - %strong= truncate event.issue_title  
7 - at  
8 - %strong= link_to event.project.name, event.project  
app/views/events/_event_membership_changed.html.haml
@@ -1,9 +0,0 @@ @@ -1,9 +0,0 @@
1 -= image_tag gravatar_icon(event.author_email), class: "avatar"  
2 -.event-title  
3 - %strong.author_name #{event.author_name}  
4 - %span.event_label{class: event.action_name} #{event.action_name} project  
5 - %strong= link_to event.project_name, event.project  
6 - %span.cgray  
7 - = time_ago_in_words(event.created_at)  
8 - ago.  
9 -  
app/views/events/_event_merge_request.html.haml
@@ -1,16 +0,0 @@ @@ -1,16 +0,0 @@
1 -- if event.action_name == "merged"  
2 - .event_icon= image_tag "event_mr_merged.png"  
3 -= image_tag gravatar_icon(event.author_email), class: "avatar"  
4 -.event-title  
5 - %strong.author_name #{event.author_name}  
6 - %span.event_label{class: event.action_name} #{event.action_name} merge request  
7 - = link_to project_merge_request_path(event.project, event.merge_request) do  
8 - %strong= truncate event.merge_request_title  
9 - at  
10 - %strong= link_to event.project.name, event.project  
11 -.event-body  
12 - .event-info  
13 - %span= event.merge_request.source_branch  
14 - →  
15 - %span= event.merge_request.target_branch  
16 -  
app/views/events/_event_push.html.haml
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 = image_tag gravatar_icon(event.author_email), class: "avatar" 3 = image_tag gravatar_icon(event.author_email), class: "avatar"
4 4
5 .event-title 5 .event-title
6 - %strong.author_name #{event.author_name} 6 + %span.author_name= link_to_author event
7 %span.event_label.pushed #{event.push_action_name} #{event.ref_type} 7 %span.event_label.pushed #{event.push_action_name} #{event.ref_type}
8 = link_to project_commits_path(event.project, event.ref_name) do 8 = link_to project_commits_path(event.project, event.ref_name) do
9 %strong= event.ref_name 9 %strong= event.ref_name