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-12 16:53:43 -0500
commit7e5db6b07a41597c8f0e513196c6747cfa32db71 (patch)
treec2a2bab909981e5590ef1f2e6191724efc44744c
parentda254ddfdf71eeba55140281ba0ade42aa319b71 (diff)
downloadgitlab-ce-rs-event-titles.tar.gz
Reduce duplication and branching logic in EventsHelperrs-event-titles
Remove unused methods from Event model
-rw-r--r--app/helpers/events_helper.rb52
-rw-r--r--app/models/event.rb21
-rw-r--r--app/models/project.rb2
3 files changed, 25 insertions, 50 deletions
diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb
index 2221c068410..41c08ee4cfe 100644
--- a/app/helpers/events_helper.rb
+++ b/app/helpers/events_helper.rb
@@ -66,11 +66,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
@@ -99,12 +95,7 @@ module EventsHelper
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)
+ event_note_target_path(event)
else
event_note_target_path(event)
end
@@ -144,42 +135,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 418b85e028a..04ee04a986d 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -49,6 +49,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'