summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorPaul Slaughter <pslaughter@gitlab.com>2018-09-23 16:15:29 -0500
committerPaul Slaughter <pslaughter@gitlab.com>2018-09-24 08:30:58 -0500
commit370f07361c6d0fb1565003ae9427f69ad6004009 (patch)
tree6427e055c38f72c753cada853f40a6879b431836 /app
parentce27f74afa4ff16eccf353b5ce1bf430c6eb64b3 (diff)
downloadgitlab-ce-370f07361c6d0fb1565003ae9427f69ad6004009.tar.gz
Auto resolve new notes of resolved discussions
**Why?** The previous behavior had resolved discussions being unresolved when commented on. This was strange UX, especially since there is a separate button for "Comment & unresolve discussion". https://gitlab.com/gitlab-org/gitlab-ce/issues/24128 **Note:** - Also adds changelog
Diffstat (limited to 'app')
-rw-r--r--app/services/notes/build_service.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/app/services/notes/build_service.rb b/app/services/notes/build_service.rb
index df5fe65de3c..7b92fe6fe14 100644
--- a/app/services/notes/build_service.rb
+++ b/app/services/notes/build_service.rb
@@ -3,6 +3,7 @@
module Notes
class BuildService < ::BaseService
def execute
+ should_resolve = false
in_reply_to_discussion_id = params.delete(:in_reply_to_discussion_id)
if in_reply_to_discussion_id.present?
@@ -15,12 +16,17 @@ module Notes
end
params.merge!(discussion.reply_attributes)
+ should_resolve = discussion.resolved?
end
note = Note.new(params)
note.project = project
note.author = current_user
+ if should_resolve
+ note.resolve_without_save(current_user)
+ end
+
note
end