Add a more verbose dashboard event feed

- Add project name to event title
- Push: Entry links to single commit or commits overview depending on number of pushed commits
- Push: Display first 15 commits with commit message and author and link to single commit
- Issues: Display issue description
This commit is contained in:
Alex Leutgöb 2012-09-24 11:01:44 +02:00
parent 8ec956421c
commit 0b8e956f32
4 changed files with 40 additions and 5 deletions

View file

@ -3,11 +3,11 @@ class EventDecorator < ApplicationDecorator
def feed_title
if self.issue?
"#{self.author_name} #{self.action_name} issue ##{self.target_id}:" + self.issue_title
"#{self.author_name} #{self.action_name} issue ##{self.target_id}: #{self.issue_title} at #{self.project.name}"
elsif self.merge_request?
"#{self.author_name} #{self.action_name} MR ##{self.target_id}:" + self.merge_request_title
"#{self.author_name} #{self.action_name} MR ##{self.target_id}: #{self.merge_request_title} at #{self.project.name}"
elsif self.push?
"#{self.author_name} #{self.push_action_name} #{self.ref_type} " + self.ref_name
"#{self.author_name} #{self.push_action_name} #{self.ref_type} #{self.ref_name} at #{self.project.name}"
elsif self.membership_changed?
"#{self.author_name} #{self.action_name} #{self.project.name}"
else
@ -20,8 +20,26 @@ class EventDecorator < ApplicationDecorator
h.project_issue_url(self.project, self.issue)
elsif self.merge_request?
h.project_merge_request_url(self.project, self.merge_request)
elsif self.push?
h.project_commits_url(self.project, ref: self.ref_name)
if self.push_with_commits?
if self.commits_count > 1
h.compare_project_commits_path(self.project, :from => self.parent_commit.id, :to => self.last_commit.id)
else
h.project_commit_path(self.project, :id => self.last_commit.id)
end
else
h.project_commits_url(self.project, ref: self.ref_name)
end
end
end
def feed_summary
if self.issue?
h.render "events/event_issue", issue: self.issue
elsif self.push?
h.render "events/event_push", event: self
end
end
end