Backend tweaks

This commit is contained in:
Douwe Maan 2016-07-28 20:09:36 -06:00
parent 6d9715d877
commit 1c2eefef3f
5 changed files with 23 additions and 12 deletions

View File

@ -11,7 +11,7 @@ class Projects::DiscussionsController < Projects::ApplicationController
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 @@ class Projects::DiscussionsController < Projects::ApplicationController
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

View File

@ -72,11 +72,11 @@ class Projects::NotesController < Projects::ApplicationController
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 @@ class Projects::NotesController < Projects::ApplicationController
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 @@ class Projects::NotesController < Projects::ApplicationController
}
if note.diff_note?
discussion = Discussion.new([note])
discussion = note.as_discussion
attrs.merge!(
diff_discussion_html: diff_discussion_html(discussion),

View File

@ -76,7 +76,7 @@ class DiffNote < Note
end
def resolvable?
!system? && !for_commit?
!system? && for_merge_request?
end
def resolved?
@ -103,10 +103,21 @@ class DiffNote < Note
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

View File

@ -1,4 +1,4 @@
- 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" }

View File

@ -1,8 +1,8 @@
- 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" }