Skip to content
Snippets Groups Projects
Commit fa4a6135 authored by Douwe Maan's avatar Douwe Maan
Browse files

Add 'Resolved all discussions' system note

parent 220b82a4
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -9,6 +9,8 @@ class Projects::DiscussionsController < Projects::ApplicationController
 
discussion.resolve!(current_user)
 
MergeRequests::AllDiscussionsResolvedService.new(project, current_user).execute(merge_request)
render json: {
resolved_by: discussion.resolved_by.try(:name),
discussion_headline_html: view_to_html_string('discussions/_headline', discussion: discussion)
Loading
Loading
Loading
Loading
@@ -72,6 +72,8 @@ class Projects::NotesController < Projects::ApplicationController
 
note.resolve!(current_user)
 
MergeRequests::AllDiscussionsResolvedService.new(project, current_user).execute(note.noteable)
discussion = note.discussion
 
render json: {
Loading
Loading
Loading
Loading
@@ -401,6 +401,11 @@ class MergeRequest < ActiveRecord::Base
discussions
end
 
def discussions_resolved?
all_discussions = discussions
all_discussions.any?(&:resolvable?) && all_discussions.none?(&:to_be_resolved?)
end
def hook_attrs
attrs = {
source: source_project.try(:hook_attrs),
Loading
Loading
module MergeRequests
class AllDiscussionsResolvedService < MergeRequests::BaseService
def execute(merge_request)
return unless merge_request.discussions_resolved?
SystemNoteService.resolve_all_discussions(merge_request, project, current_user)
end
end
end
Loading
Loading
@@ -3,6 +3,10 @@ module Notes
def execute(note)
note.destroy
note.reset_events_cache
if note.resolvable?
MergeRequests::AllDiscussionsResolvedService.new(project, current_user).execute(note.noteable)
end
end
end
end
Loading
Loading
@@ -156,6 +156,12 @@ class SystemNoteService
create_note(noteable: noteable, project: project, author: author, note: body)
end
 
def self.resolve_all_discussions(merge_request, project, author)
body = "Resolved all discussions"
create_note(noteable: merge_request, project: project, author: author, note: body)
end
# Called when the title of a Noteable is changed
#
# noteable - Noteable object that responds to `title`
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment