debian-mirror-gitlab/app/models/diff_discussion.rb
2017-08-17 22:00:37 +05:30

45 lines
924 B
Ruby

# A discussion on merge request or commit diffs consisting of `DiffNote` notes.
#
# A discussion of this type can be resolvable.
class DiffDiscussion < Discussion
include DiscussionOnDiff
def self.note_class
DiffNote
end
delegate :position,
:original_position,
to: :first_note
def legacy_diff_discussion?
false
end
def merge_request_version_params
return unless for_merge_request?
if active?
{}
else
diff_refs = position.diff_refs
if diff = noteable.merge_request_diff_for(diff_refs)
{ diff_id: diff.id }
elsif diff = noteable.merge_request_diff_for(diff_refs.head_sha)
{
diff_id: diff.id,
start_sha: diff_refs.start_sha
}
end
end
end
def reply_attributes
super.merge(
original_position: original_position.to_json,
position: position.to_json,
)
end
end