diff options
author | twonegatives <whitewhiteheaven@gmail.com> | 2016-12-14 17:37:31 +0300 |
---|---|---|
committer | twonegatives <whitewhiteheaven@gmail.com> | 2017-01-14 12:22:30 +0300 |
commit | 85e0b99471b58078e1e50494ae26eb13430d3a9f (patch) | |
tree | df3d2fdb18a1b315cf77fdd9536bd99046d5313a /app/services | |
parent | f14228f0f2f69a967c483e4aa4ef1568e5fdc49b (diff) | |
download | gitlab-ce-85e0b99471b58078e1e50494ae26eb13430d3a9f.tar.gz |
Notify the user who set auto-merge when merge conflict occurs
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/todo_service.rb | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/app/services/todo_service.rb b/app/services/todo_service.rb index d67c166275a..1bd6ce416ab 100644 --- a/app/services/todo_service.rb +++ b/app/services/todo_service.rb @@ -123,7 +123,15 @@ class TodoService mark_pending_todos_as_done(merge_request, merge_request.author) mark_pending_todos_as_done(merge_request, merge_request.merge_user) if merge_request.merge_when_build_succeeds? end - + + # When a merge request could not be automatically merged due to its unmergeable state we should: + # + # * create a todo for a merge_user + # + def merge_request_became_unmergeable(merge_request) + create_unmergeable_todo(merge_request, merge_request.merge_user) if merge_request.merge_when_build_succeeds? + end + # When create a note we should: # # * mark all pending todos related to the noteable for the note author as done @@ -245,6 +253,11 @@ class TodoService create_todos(todo_author, attributes) end + def create_unmergeable_todo(merge_request, merge_user) + attributes = attributes_for_todo(merge_request.project, merge_request, merge_user, Todo::UNMERGEABLE) + create_todos(merge_user, attributes) + end + def attributes_for_target(target) attributes = { project_id: target.project.id, |