Refactor event title generation for more consistent messages.
Example: "User joined project Namespace / Project" rather than "User joined project at Namespace / Project"
This commit is contained in:
parent
07d05d2df7
commit
522efa43fe
5 changed files with 85 additions and 58 deletions
|
@ -10,11 +10,15 @@ module EventsHelper
|
|||
end
|
||||
|
||||
def event_action_name(event)
|
||||
target = if event.target_type
|
||||
event.target_type.titleize.downcase
|
||||
else
|
||||
'project'
|
||||
end
|
||||
target = if event.target_type
|
||||
if event.note?
|
||||
event.note_target_type
|
||||
else
|
||||
event.target_type.titleize.downcase
|
||||
end
|
||||
else
|
||||
'project'
|
||||
end
|
||||
|
||||
[event.action_name, target].join(" ")
|
||||
end
|
||||
|
@ -42,21 +46,30 @@ module EventsHelper
|
|||
end
|
||||
|
||||
def event_feed_title(event)
|
||||
if event.issue?
|
||||
"#{event.author_name} #{event.action_name} issue ##{event.target_iid}: #{event.issue_title} at #{event.project_name}"
|
||||
elsif event.merge_request?
|
||||
"#{event.author_name} #{event.action_name} MR ##{event.target_iid}: #{event.merge_request_title} at #{event.project_name}"
|
||||
elsif event.push?
|
||||
"#{event.author_name} #{event.push_action_name} #{event.ref_type} #{event.ref_name} at #{event.project_name}"
|
||||
elsif event.membership_changed?
|
||||
"#{event.author_name} #{event.action_name} #{event.project_name}"
|
||||
elsif event.note? && event.note_commit?
|
||||
"#{event.author_name} commented on #{event.note_target_type} #{event.note_short_commit_id} at #{event.project_name}"
|
||||
elsif event.note?
|
||||
"#{event.author_name} commented on #{event.note_target_type} ##{truncate event.note_target_iid} at #{event.project_name}"
|
||||
else
|
||||
""
|
||||
words = []
|
||||
words << event.author_name
|
||||
words << event_action_name(event)
|
||||
|
||||
if event.push?
|
||||
words << event.ref_type
|
||||
words << event.ref_name
|
||||
words << "at"
|
||||
elsif event.commented?
|
||||
if event.note_commit?
|
||||
words << event.note_short_commit_id
|
||||
else
|
||||
words << "##{truncate event.note_target_iid}"
|
||||
end
|
||||
words << "at"
|
||||
elsif event.target
|
||||
words << "##{event.target_iid}:"
|
||||
words << event.target.title if event.target.respond_to?(:title)
|
||||
words << "at"
|
||||
end
|
||||
|
||||
words << event.project_name
|
||||
|
||||
words.join(" ")
|
||||
end
|
||||
|
||||
def event_feed_url(event)
|
||||
|
@ -96,8 +109,6 @@ module EventsHelper
|
|||
render "events/event_push", event: event
|
||||
elsif event.merge_request?
|
||||
render "events/event_merge_request", merge_request: event.merge_request
|
||||
elsif event.push?
|
||||
render "events/event_push", event: event
|
||||
elsif event.note?
|
||||
render "events/event_note", note: event.note
|
||||
end
|
||||
|
|
|
@ -75,25 +75,43 @@ class Event < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def target_title
|
||||
if target && target.respond_to?(:title)
|
||||
target.title
|
||||
end
|
||||
target.title if target && target.respond_to?(:title)
|
||||
end
|
||||
|
||||
def created?
|
||||
action == CREATED
|
||||
end
|
||||
|
||||
def push?
|
||||
action == self.class::PUSHED && valid_push?
|
||||
action == PUSHED && valid_push?
|
||||
end
|
||||
|
||||
def merged?
|
||||
action == self.class::MERGED
|
||||
action == MERGED
|
||||
end
|
||||
|
||||
def closed?
|
||||
action == self.class::CLOSED
|
||||
action == CLOSED
|
||||
end
|
||||
|
||||
def reopened?
|
||||
action == self.class::REOPENED
|
||||
action == REOPENED
|
||||
end
|
||||
|
||||
def joined?
|
||||
action == JOINED
|
||||
end
|
||||
|
||||
def left?
|
||||
action == LEFT
|
||||
end
|
||||
|
||||
def commented?
|
||||
action == COMMENTED
|
||||
end
|
||||
|
||||
def membership_changed?
|
||||
joined? || left?
|
||||
end
|
||||
|
||||
def milestone?
|
||||
|
@ -112,32 +130,32 @@ class Event < ActiveRecord::Base
|
|||
target_type == "MergeRequest"
|
||||
end
|
||||
|
||||
def joined?
|
||||
action == JOINED
|
||||
end
|
||||
|
||||
def left?
|
||||
action == LEFT
|
||||
end
|
||||
|
||||
def membership_changed?
|
||||
joined? || left?
|
||||
def milestone
|
||||
target if milestone?
|
||||
end
|
||||
|
||||
def issue
|
||||
target if target_type == "Issue"
|
||||
target if issue?
|
||||
end
|
||||
|
||||
def merge_request
|
||||
target if target_type == "MergeRequest"
|
||||
target if merge_request?
|
||||
end
|
||||
|
||||
def note
|
||||
target if target_type == "Note"
|
||||
target if note?
|
||||
end
|
||||
|
||||
def action_name
|
||||
if closed?
|
||||
if push?
|
||||
if new_ref?
|
||||
"pushed new"
|
||||
elsif rm_ref?
|
||||
"deleted"
|
||||
else
|
||||
"pushed to"
|
||||
end
|
||||
elsif closed?
|
||||
"closed"
|
||||
elsif merged?
|
||||
"accepted"
|
||||
|
@ -145,6 +163,8 @@ class Event < ActiveRecord::Base
|
|||
'joined'
|
||||
elsif left?
|
||||
'left'
|
||||
elsif commented?
|
||||
"commented on"
|
||||
else
|
||||
"opened"
|
||||
end
|
||||
|
@ -213,16 +233,6 @@ class Event < ActiveRecord::Base
|
|||
tag? ? "tag" : "branch"
|
||||
end
|
||||
|
||||
def push_action_name
|
||||
if new_ref?
|
||||
"pushed new"
|
||||
elsif rm_ref?
|
||||
"deleted"
|
||||
else
|
||||
"pushed to"
|
||||
end
|
||||
end
|
||||
|
||||
def push_with_commits?
|
||||
md_ref? && commits.any? && commit_from && commit_to
|
||||
end
|
||||
|
|
|
@ -1,15 +1,17 @@
|
|||
.event-title
|
||||
%span.author_name= link_to_author event
|
||||
%span.event_label{class: event.action_name}= event_action_name(event)
|
||||
%span.event_label{class: event.action_name}
|
||||
= event_action_name(event)
|
||||
|
||||
- if event.target
|
||||
%strong= link_to "##{event.target_iid}", [event.project, event.target]
|
||||
- else
|
||||
%strong= gfm event.target_title
|
||||
at
|
||||
at
|
||||
|
||||
- if event.project
|
||||
= link_to_project event.project
|
||||
- else
|
||||
= event.project_name
|
||||
|
||||
- if event.target.respond_to?(:title)
|
||||
.event-body
|
||||
.event-note
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
.event-title
|
||||
%span.author_name= link_to_author event
|
||||
%span.event_label commented on #{event_note_title_html(event)} at
|
||||
%span.event_label
|
||||
= event.action_name
|
||||
= event_note_title_html(event)
|
||||
at
|
||||
|
||||
- if event.project
|
||||
= link_to_project event.project
|
||||
- else
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.event-title
|
||||
%span.author_name= link_to_author event
|
||||
%span.event_label.pushed #{event.push_action_name} #{event.ref_type}
|
||||
%span.event_label.pushed #{event.action_name} #{event.ref_type}
|
||||
- if event.rm_ref?
|
||||
%strong= event.ref_name
|
||||
- else
|
||||
|
|
Loading…
Reference in a new issue