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 5 .event_label {
6 6 &.pushed {
7 7 padding:0 2px;
8   - @extend .alert;
9   - @extend .alert-info;
10 8 }
11 9  
12 10 &.opened {
13 11 padding:0 2px;
14   - @extend .alert;
15   - @extend .alert-success;
16 12 }
17 13  
18 14 &.closed {
19 15 padding:0 2px;
20   - @extend .alert;
21   - @extend .alert-error;
22 16 }
23 17  
24 18 &.merged {
25 19 padding:0 2px;
26   - @extend .alert;
27   - @extend .alert-success;
28 20 }
29 21  
30 22 &.left,
31 23 &.joined {
32 24 padding:0 2px;
33   - @extend .alert;
34 25 float:none;
35 26 }
36 27 }
... ...
app/helpers/events_helper.rb 0 → 100644
... ... @@ -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 33 classes
34 34 end
35 35  
36   - def issue_tags
  36 + def issue_tags
37 37 @project.issues.tag_counts_on(:labels).map(&:name)
38 38 end
39 39  
... ...
app/helpers/projects_helper.rb
... ... @@ -6,5 +6,9 @@ module ProjectsHelper
6 6 def remove_from_team_message(project, member)
7 7 "You are going to remove #{member.user_name} from #{project.name}. Are you sure?"
8 8 end
  9 +
  10 + def link_to_project project
  11 + link_to project.name, project
  12 + end
9 13 end
10 14  
... ...
app/models/event.rb
... ... @@ -58,6 +58,10 @@ class Event < ActiveRecord::Base
58 58 end
59 59 end
60 60  
  61 + def target_title
  62 + target.try :title
  63 + end
  64 +
61 65 def push?
62 66 action == self.class::Pushed && valid_push?
63 67 end
... ...
app/views/events/_event.html.haml
1 1 - if event.allowed?
2 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 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 8 %span.cgray.right
16 9 = time_ago_in_words(event.created_at)
... ...
app/views/events/_event_common.html.haml 0 → 100644
... ... @@ -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   -= 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   -= 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   -- 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 3 = image_tag gravatar_icon(event.author_email), class: "avatar"
4 4  
5 5 .event-title
6   - %strong.author_name #{event.author_name}
  6 + %span.author_name= link_to_author event
7 7 %span.event_label.pushed #{event.push_action_name} #{event.ref_type}
8 8 = link_to project_commits_path(event.project, event.ref_name) do
9 9 %strong= event.ref_name
... ...