summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Speicher <rspeicher@gmail.com>2016-05-12 16:47:45 -0500
committerRobert Speicher <rspeicher@gmail.com>2016-05-16 14:52:04 -0500
commit020e616822f0e634932bf948013f94eb7ef413bb (patch)
treed70fc9d8e31bfabe636d99e492e015de2143d78f
parent0ec2ee71b31ea604a677e28ffb84f3ded1701395 (diff)
downloadgitlab-ce-020e616822f0e634932bf948013f94eb7ef413bb.tar.gz
Reduce duplication and branching logic in EventsHelper
Remove unused methods from Event model
-rw-r--r--app/helpers/events_helper.rb56
-rw-r--r--app/models/event.rb21
-rw-r--r--app/models/project.rb2
3 files changed, 25 insertions, 54 deletions
diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb
index 19281e3f3aa..e1489381706 100644
--- a/app/helpers/events_helper.rb
+++ b/app/helpers/events_helper.rb
@@ -57,11 +57,7 @@ module EventsHelper
words << event.ref_name
words << "at"
elsif event.commented?
- if event.commit_note?
- words << event.note_short_commit_id
- else
- words << "##{truncate event.note_target_iid}"
- end
+ words << event.note_target_reference
words << "at"
elsif event.milestone?
words << "##{event.target_iid}" if event.target_iid
@@ -89,16 +85,7 @@ module EventsHelper
event.note_target)
elsif event.note?
if event.note_target
- if event.commit_note?
- namespace_project_commit_path(event.project.namespace, event.project,
- event.note_commit_id,
- anchor: dom_id(event.target))
- elsif event.project_snippet_note?
- namespace_project_snippet_path(event.project.namespace,
- event.project, event.note_target)
- else
- event_note_target_path(event)
- end
+ event_note_target_path(event)
end
elsif event.push?
push_event_feed_url(event)
@@ -135,42 +122,29 @@ module EventsHelper
def event_note_target_path(event)
if event.note? && event.commit_note?
- namespace_project_commit_path(event.project.namespace, event.project,
- event.note_target)
+ namespace_project_commit_path(event.project.namespace,
+ event.project,
+ event.note_target,
+ anchor: dom_id(event.target))
+ elsif event.project_snippet_note?
+ namespace_project_snippet_path(event.project.namespace,
+ event.project,
+ event.note_target,
+ anchor: dom_id(event.target))
else
polymorphic_path([event.project.namespace.becomes(Namespace),
event.project, event.note_target],
- anchor: dom_id(event.target))
+ anchor: dom_id(event.target))
end
end
def event_note_title_html(event)
if event.note_target
- if event.commit_note?
- link_to(
- namespace_project_commit_path(event.project.namespace, event.project,
- event.note_commit_id,
- anchor: dom_id(event.target)),
- title: event.target_title,
- class: "commit_short_id"
- ) do
- "#{event.note_target_type} #{event.note_short_commit_id}"
- end
- elsif event.project_snippet_note?
- link_to(namespace_project_snippet_path(event.project.namespace,
- event.project,
- event.note_target), title: event.project.name) do
- "#{event.note_target_type} #{truncate event.note_target.to_reference}"
- end
- else
- link_to event_note_target_path(event), title: event.target_title do
- "#{event.note_target_type} #{truncate event.note_target.to_reference}"
- end
+ link_to(event_note_target_path(event), title: event.target_title, class: 'has-tooltip') do
+ "#{event.note_target_type} #{event.note_target_reference}"
end
else
- content_tag :strong do
- "(deleted)"
- end
+ content_tag(:strong, '(deleted)')
end
end
diff --git a/app/models/event.rb b/app/models/event.rb
index 2e9da42deaa..716039fb54b 100644
--- a/app/models/event.rb
+++ b/app/models/event.rb
@@ -266,18 +266,10 @@ class Event < ActiveRecord::Base
branch? && project.default_branch != branch_name
end
- def note_commit_id
- target.commit_id
- end
-
def target_iid
target.respond_to?(:iid) ? target.iid : target_id
end
- def note_short_commit_id
- Commit.truncate_sha(note_commit_id)
- end
-
def commit_note?
target.for_commit?
end
@@ -302,12 +294,15 @@ class Event < ActiveRecord::Base
end
end
- def note_target_iid
- if note_target.respond_to?(:iid)
- note_target.iid
+ def note_target_reference
+ return unless note_target
+
+ # Commit#to_reference returns the full SHA, but we want the short one here
+ if commit_note?
+ note_target.short_id
else
- note_target_id
- end.to_s
+ note_target.to_reference
+ end
end
def note_target_type
diff --git a/app/models/project.rb b/app/models/project.rb
index 6e85841db44..a3c4f1d8e9b 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -50,6 +50,8 @@ class Project < ActiveRecord::Base
attr_accessor :new_default_branch
attr_accessor :old_path_with_namespace
+ alias_attribute :title, :name
+
# Relations
belongs_to :creator, foreign_key: 'creator_id', class_name: 'User'
belongs_to :group, -> { where(type: Group) }, foreign_key: 'namespace_id'