summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Van Landuyt <bob@vanlanduyt.co>2017-03-02 10:13:30 +0100
committerBob Van Landuyt <bob@gitlab.com>2017-03-13 08:27:51 +0100
commitb9aa6c3583578d3ddd971139b91fb6226a49102a (patch)
tree3c3ccd11215162d0f4f3a92f13a7c5de7762aa11
parentf0dd2a54b31b46e2fa22a4041d902c7d9cc9c4dc (diff)
downloadgitlab-ce-b9aa6c3583578d3ddd971139b91fb6226a49102a.tar.gz
Optimize finding `discussions_to_resolve`
-rw-r--r--app/services/issues/resolve_discussions.rb14
1 files changed, 9 insertions, 5 deletions
diff --git a/app/services/issues/resolve_discussions.rb b/app/services/issues/resolve_discussions.rb
index 62a89ae4c0b..485838e66c4 100644
--- a/app/services/issues/resolve_discussions.rb
+++ b/app/services/issues/resolve_discussions.rb
@@ -25,11 +25,15 @@ module Issues
def discussions_to_resolve
return [] unless merge_request_for_resolving_discussions
- @discussions_to_resolve ||= NotesFinder.new(project, current_user, {
- discussion_id: discussion_to_resolve_id,
- target_type: MergeRequest.name.underscore,
- target_id: merge_request_for_resolving_discussions.id
- }).execute.discussions.select(&:to_be_resolved?)
+ @discussions_to_resolve ||= begin
+ if discussion_to_resolve_id
+ Array(merge_request_for_resolving_discussions.
+ find_diff_discussion(discussion_to_resolve_id))
+ else
+ merge_request_for_resolving_discussions
+ .resolvable_discussions
+ end
+ end
end
end
end