summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/helpers/notes_helper.rb10
-rw-r--r--app/views/commits/_text_file.html.haml2
-rw-r--r--app/views/notes/_note.html.haml6
3 files changed, 17 insertions, 1 deletions
diff --git a/app/helpers/notes_helper.rb b/app/helpers/notes_helper.rb
index ba02ca6bd49..99db8b6f6b7 100644
--- a/app/helpers/notes_helper.rb
+++ b/app/helpers/notes_helper.rb
@@ -12,5 +12,15 @@ module NotesHelper
!@mixed_targets || @main_target_type == note.noteable_type
end
+ def link_to_commit_diff_line_note(note)
+ return unless note.line_note?
+
+ commit = note.target
+ diff_index, diff_old_line, diff_new_line = note.line_code.split('_')
+
+ link_file = commit.diffs[diff_index.to_i].new_path
+ link_line = diff_new_line
+
+ link_to "#{link_file}:L#{link_line}", project_commit_path(@project, commit, anchor: note.line_code)
end
end
diff --git a/app/views/commits/_text_file.html.haml b/app/views/commits/_text_file.html.haml
index 9f5b5345d5f..02117386d71 100644
--- a/app/views/commits/_text_file.html.haml
+++ b/app/views/commits/_text_file.html.haml
@@ -4,7 +4,7 @@
%table{class: "#{'hide' if too_big}"}
- each_diff_line(diff.diff.lines.to_a, index) do |line, type, line_code, line_new, line_old|
- %tr.line_holder
+ %tr.line_holder{ id: line_code }
- if type == "match"
%td.old_line= "..."
%td.new_line= "..."
diff --git a/app/views/notes/_note.html.haml b/app/views/notes/_note.html.haml
index 57946163b56..0901e4b8302 100644
--- a/app/views/notes/_note.html.haml
+++ b/app/views/notes/_note.html.haml
@@ -7,6 +7,12 @@
= time_ago_in_words(note.updated_at)
ago
+ - unless note_for_main_target?(note)
+ - if note.commit?
+ %span.cgray
+ on #{link_to note.target.short_id, project_commit_path(@project, note.target)}
+ = link_to_commit_diff_line_note(note) if note.line_note?
+
-# only show vote if it's a note for the main target
- if note_for_main_target?(note)
- if note.upvote?