mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-18 00:56:41 +10:00
Do not allow cross reference note in a mr if a mr contains mentioned commit.
This commit is contained in:
+10
-1
@@ -90,7 +90,7 @@ class Note < ActiveRecord::Base
|
||||
note_options.merge!(noteable: noteable)
|
||||
end
|
||||
|
||||
create(note_options)
|
||||
create(note_options) unless cross_reference_disallowed?(noteable, mentioner)
|
||||
end
|
||||
|
||||
def create_milestone_change_note(noteable, project, author, milestone)
|
||||
@@ -165,6 +165,15 @@ class Note < ActiveRecord::Base
|
||||
[:discussion, type.try(:underscore), id, line_code].join("-").to_sym
|
||||
end
|
||||
|
||||
# Determine if cross reference note should be created.
|
||||
# eg. mentioning a commit in MR comments which exists inside a MR
|
||||
# should not create "mentioned in" note.
|
||||
def cross_reference_disallowed?(noteable, mentioner)
|
||||
if mentioner.kind_of?(MergeRequest)
|
||||
mentioner.commits.map(&:id).include? noteable.id
|
||||
end
|
||||
end
|
||||
|
||||
# Determine whether or not a cross-reference note already exists.
|
||||
def cross_reference_exists?(noteable, mentioner)
|
||||
gfm_reference = mentioner_gfm_ref(noteable, mentioner)
|
||||
|
||||
Reference in New Issue
Block a user