Refactor link to new diff note rendering
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
parent
bc6a17a682
commit
2aef3b00cf
3 changed files with 29 additions and 6 deletions
|
@ -42,4 +42,23 @@ module NotesHelper
|
|||
project_id: noteable.project.id,
|
||||
}.to_json
|
||||
end
|
||||
|
||||
def link_to_new_diff_note(line_code)
|
||||
discussion_id = Note.build_discussion_id(
|
||||
@comments_target[:noteable_type],
|
||||
@comments_target[:noteable_id] || @comments_target[:commit_id],
|
||||
line_code
|
||||
)
|
||||
|
||||
data = {
|
||||
noteable_type: @comments_target[:noteable_type],
|
||||
noteable_id: @comments_target[:noteable_id],
|
||||
commit_id: @comments_target[:commit_id],
|
||||
line_code: line_code,
|
||||
discussion_id: discussion_id
|
||||
}
|
||||
|
||||
link_to "", "javascript:;", class: "add-diff-note js-add-diff-note-button",
|
||||
data: data, title: "Add a comment to this line"
|
||||
end
|
||||
end
|
||||
|
|
|
@ -122,11 +122,15 @@ class Note < ActiveRecord::Base
|
|||
|
||||
discussions
|
||||
end
|
||||
end
|
||||
|
||||
# Determine whether or not a cross-reference note already exists.
|
||||
def self.cross_reference_exists?(noteable, mentioner)
|
||||
where(noteable_id: noteable.id, system: true, note: "_mentioned in #{mentioner.gfm_reference}_").any?
|
||||
def build_discussion_id(type, id, line_code)
|
||||
[:discussion, type.try(:underscore), id, line_code].join("-").to_sym
|
||||
end
|
||||
|
||||
# Determine whether or not a cross-reference note already exists.
|
||||
def cross_reference_exists?(noteable, mentioner)
|
||||
where(noteable_id: noteable.id, system: true, note: "_mentioned in #{mentioner.gfm_reference}_").any?
|
||||
end
|
||||
end
|
||||
|
||||
def commit_author
|
||||
|
@ -194,7 +198,7 @@ class Note < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def discussion_id
|
||||
@discussion_id ||= [:discussion, noteable_type.try(:underscore), noteable_id || commit_id, line_code].join("-").to_sym
|
||||
@discussion_id ||= Note.build_discussion_id(noteable_type, noteable_id || commit_id, line_code)
|
||||
end
|
||||
|
||||
# Returns true if this is a downvote note,
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
%td.old_line
|
||||
= link_to raw(type == "new" ? " " : line_old), "##{line_code}", id: line_code
|
||||
- if @comments_allowed
|
||||
= render "projects/notes/diff_note_link", line_code: line_code
|
||||
= link_to_new_diff_note(line_code)
|
||||
%td.new_line= link_to raw(type == "old" ? " " : line_new) , "##{line_code}", id: line_code
|
||||
%td.line_content{class: "noteable_line #{type} #{line_code}", "line_code" => line_code}= raw diff_line_content(line)
|
||||
|
||||
|
|
Loading…
Reference in a new issue