Skip to content
Snippets Groups Projects
Commit 8f05fbba authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Dont show comment on diff if diff line was changed after comment left

parent 2d75b454
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -38,6 +38,8 @@ module CommitsHelper
 
lines_arr = ::Gitlab::InlineDiff.processing diff_arr
lines_arr.each do |line|
raw_line = line.dup
next if line.match(/^\-\-\- \/dev\/null/)
next if line.match(/^\+\+\+ \/dev\/null/)
next if line.match(/^\-\-\- a/)
Loading
Loading
@@ -58,7 +60,7 @@ module CommitsHelper
else
type = identification_type(line)
line_code = build_line_anchor(diff, line_new, line_old)
yield(full_line, type, line_code, line_new, line_old)
yield(full_line, type, line_code, line_new, line_old, raw_line)
end
 
 
Loading
Loading
Loading
Loading
@@ -99,10 +99,21 @@ class Note < ActiveRecord::Base
diff.new_path if diff
end
 
def diff_old_line
line_code.split('_')[1].to_i
end
def diff_new_line
line_code.split('_')[2].to_i
end
 
def diff_line
if diff
@diff_line ||= diff.diff.lines.select { |line| line =~ /\A\+/ }[diff_new_line] ||
diff.diff.lines.select { |line| line =~ /\A\-/ }[diff_old_line]
end
end
def discussion_id
@discussion_id ||= [:discussion, noteable_type.try(:underscore), noteable_id || commit_id, line_code].join("-").to_sym
end
Loading
Loading
Loading
Loading
@@ -3,7 +3,7 @@
%a.supp_diff_link Diff suppressed. Click to show
 
%table.text-file{class: "#{'hide' if too_big}"}
- each_diff_line(diff, index) do |line, type, line_code, line_new, line_old|
- each_diff_line(diff, index) do |line, type, line_code, line_new, line_old, raw_line|
%tr.line_holder{ id: line_code, class: "#{type}" }
- if type == "match"
%td.old_line= "..."
Loading
Loading
@@ -20,4 +20,4 @@
- if @reply_allowed
- comments = @line_notes.select { |n| n.line_code == line_code }.sort_by(&:created_at)
- unless comments.empty?
= render "projects/notes/diff_notes_with_reply", notes: comments
= render "projects/notes/diff_notes_with_reply", notes: comments, raw_line: raw_line
- note = notes.first # example note
%tr.notes_holder
%td.notes_line{ colspan: 2 }
%span.btn.disabled
%i.icon-comment
= notes.count
%td.notes_content
%ul.notes{ rel: note.discussion_id }
= render notes
-# Check if line want not changed since comment was left
- if !defined?(raw_line) || raw_line == note.diff_line
%tr.notes_holder
%td.notes_line{ colspan: 2 }
%span.btn.disabled
%i.icon-comment
= notes.count
%td.notes_content
%ul.notes{ rel: note.discussion_id }
= render notes
 
= render "projects/notes/discussion_reply_button", note: note
= render "projects/notes/discussion_reply_button", note: note
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment