diff options
author | Paul Slaughter <pslaughter@gitlab.com> | 2018-09-24 00:15:29 +0300 |
---|---|---|
committer | Paul Slaughter <pslaughter@gitlab.com> | 2018-09-24 16:30:58 +0300 |
commit | 370f07361c6d0fb1565003ae9427f69ad6004009 (patch) | |
tree | 6427e055c38f72c753cada853f40a6879b431836 /app/services/notes | |
parent | ce27f74afa4ff16eccf353b5ce1bf430c6eb64b3 (diff) |
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/services/notes')
-rw-r--r-- | app/services/notes/build_service.rb | 6 |
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 |