Better event feed for dashboard
This commit is contained in:
parent
0daf53b759
commit
6451e837bf
25
app/decorators/event_decorator.rb
Normal file
25
app/decorators/event_decorator.rb
Normal file
|
@ -0,0 +1,25 @@
|
|||
class EventDecorator < ApplicationDecorator
|
||||
decorates :event
|
||||
|
||||
def feed_title
|
||||
if self.issue?
|
||||
"#{self.author_name} #{self.action_name} issue ##{self.target_id}:" + self.issue_title
|
||||
elsif self.merge_request?
|
||||
"#{self.author_name} #{self.action_name} MR ##{self.target_id}:" + self.merge_request_title
|
||||
elsif self.push?
|
||||
"#{self.author_name} #{self.push_action_name} #{self.ref_type} " + self.ref_name
|
||||
else
|
||||
""
|
||||
end
|
||||
end
|
||||
|
||||
def feed_url
|
||||
if self.issue?
|
||||
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)
|
||||
end
|
||||
end
|
||||
end
|
|
@ -8,17 +8,10 @@ xml.feed "xmlns" => "http://www.w3.org/2005/Atom", "xmlns:media" => "http://sear
|
|||
|
||||
@events.each do |event|
|
||||
if event.allowed?
|
||||
event = EventDecorator.decorate(event)
|
||||
xml.entry do
|
||||
if event.issue?
|
||||
event_link = project_issue_url(event.project, event.issue)
|
||||
event_title = event.issue_title
|
||||
elsif event.merge_request?
|
||||
event_link = project_merge_request_url(event.project, event.merge_request)
|
||||
event_title = event.merge_request_title
|
||||
elsif event.push?
|
||||
event_link = project_commits_url(event.project, :ref => event.ref_name)
|
||||
event_title = event.ref_name
|
||||
end
|
||||
event_link = event.feed_url
|
||||
event_title = event.feed_title
|
||||
|
||||
xml.id "tag:#{request.host},#{event.created_at.strftime("%Y-%m-%d")}:#{event.id}"
|
||||
xml.link :href => event_link
|
||||
|
|
Loading…
Reference in a new issue