diff options
author | Grzegorz Bizon <grzegorz@gitlab.com> | 2017-05-24 19:00:26 +0000 |
---|---|---|
committer | Grzegorz Bizon <grzegorz@gitlab.com> | 2017-05-24 19:00:26 +0000 |
commit | af50d334e70851164eb1b9bb5468581dd5c7dd4f (patch) | |
tree | be42ab33febc8101c87db771220ddd055f8e20c8 /app/models/diff_note.rb | |
parent | a1330526691fc4b0b2ab7cc28dfe04f7bd42e99b (diff) | |
parent | 0bf339f0ed2f91a805e99fc7483572ad7d22093a (diff) | |
download | gitlab-ce-af50d334e70851164eb1b9bb5468581dd5c7dd4f.tar.gz |
Merge branch 'dm-outdated-system-note' into 'master'
Add system note with link to diff comparison when MR discussion becomes outdated
Closes #30058
See merge request !11584
Diffstat (limited to 'app/models/diff_note.rb')
-rw-r--r-- | app/models/diff_note.rb | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/app/models/diff_note.rb b/app/models/diff_note.rb index 76c59199afd..1764004078e 100644 --- a/app/models/diff_note.rb +++ b/app/models/diff_note.rb @@ -8,6 +8,7 @@ class DiffNote < Note serialize :original_position, Gitlab::Diff::Position serialize :position, Gitlab::Diff::Position + serialize :change_position, Gitlab::Diff::Position validates :original_position, presence: true validates :position, presence: true @@ -25,7 +26,7 @@ class DiffNote < Note DiffDiscussion end - %i(original_position position).each do |meth| + %i(original_position position change_position).each do |meth| define_method "#{meth}=" do |new_position| if new_position.is_a?(String) new_position = JSON.parse(new_position) rescue nil @@ -36,6 +37,8 @@ class DiffNote < Note new_position = Gitlab::Diff::Position.new(new_position) end + return if new_position == read_attribute(meth) + super(new_position) end end @@ -45,7 +48,7 @@ class DiffNote < Note end def diff_line - @diff_line ||= diff_file.line_for_position(self.original_position) if diff_file + @diff_line ||= diff_file&.line_for_position(self.original_position) end def for_line?(line) |