Commit 1c2eefef authored by Douwe Maan's avatar Douwe Maan
Browse files

Backend tweaks

parent 6d9715d8
......@@ -11,7 +11,7 @@ def resolve
render json: {
resolved_by: discussion.resolved_by.try(:name),
updated_html: view_to_html_string('discussions/_headline', discussion: discussion)
discussion_headline_html: view_to_html_string('discussions/_headline', discussion: discussion)
}
end
......@@ -21,7 +21,7 @@ def unresolve
discussion.unresolve!
render json: {
updated_html: view_to_html_string('discussions/_headline', discussion: discussion)
discussion_headline_html: view_to_html_string('discussions/_headline', discussion: discussion)
}
end
......
......@@ -72,11 +72,11 @@ def resolve
note.resolve!(current_user)
discussion = note.noteable.discussions.find { |d| d.id == note.discussion_id } || render_404
discussion = note.discussion
render json: {
resolved_by: note.resolved_by.try(:name),
updated_html: view_to_html_string('discussions/_headline', discussion: discussion)
discussion_headline_html: (view_to_html_string('discussions/_headline', discussion: discussion) if discussion)
}
end
......@@ -85,10 +85,10 @@ def unresolve
note.unresolve!
discussion = note.noteable.discussions.find { |d| d.id == note.discussion_id } || render_404
discussion = note.discussion
render json: {
updated_html: view_to_html_string('discussions/_headline', discussion: discussion)
discussion_headline_html: (view_to_html_string('discussions/_headline', discussion: discussion) if discussion)
}
end
......@@ -164,7 +164,7 @@ def note_json(note)
}
if note.diff_note?
discussion = Discussion.new([note])
discussion = note.as_discussion
attrs.merge!(
diff_discussion_html: diff_discussion_html(discussion),
......
......@@ -76,7 +76,7 @@ def active?(diff_refs = nil)
end
def resolvable?
!system? && !for_commit?
!system? && for_merge_request?
end
def resolved?
......@@ -103,10 +103,21 @@ def unresolve!
save!
end
def discussion
return unless resolvable?
discussion_notes = self.noteable.notes.fresh.select { |n| n.discussion_id == self.discussion_id }
Discussion.new(discussion_notes)
end
def as_discussion
Discussion.new([self])
end
private
def supported?
!self.for_merge_request? || self.noteable.support_new_diff_notes?
for_commit? || self.noteable.support_new_diff_notes?
end
def set_original_position
......
- discussion = local_assigns.fetch(:discussion, false)
- discussion = local_assigns.fetch(:discussion, nil)
%jump-to-discussion{ "inline-template" => true, ":discussion-id" => "'#{discussion.try(:id)}'" }
.btn-group{ role: "group",
"v-show" => "!allResolved" }
......
- if discussion.can_resolve?(current_user) && discussion.resolvable?
- if discussion.can_resolve?(current_user)
%resolve-all-btn{ ":namespace-path" => "'#{discussion.project.namespace.path}'",
":project-path" => "'#{discussion.project.path}'",
":discussion-id" => "'#{discussion.id}'",
":merge-request-id" => "#{discussion.first_note.noteable.try(:iid)}",
":merge-request-id" => "#{discussion.noteable.iid}",
"inline-template" => true,
"v-cloak" => true }
%button.btn.btn-default{ type: "button", "@click" => "resolve", ":disabled" => "loading" }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment