summaryrefslogtreecommitdiff
path: root/app/services/issues
diff options
context:
space:
mode:
authorJacopo <beschi.jacopo@gmail.com>2018-10-19 09:16:58 +0200
committerJacopo <beschi.jacopo@gmail.com>2018-11-14 15:16:19 +0100
commit6b0ea951cac3905437abb2bbacaf422371f097e0 (patch)
tree55b61f7c3a5a4447fb70733780fca614ac1a73ef /app/services/issues
parentf5e3ce5ed612c9b247e362ed7c667557331e5bfd (diff)
downloadgitlab-ce-6b0ea951cac3905437abb2bbacaf422371f097e0.tar.gz
Creates /create_merge_request quickaction40085-add-a-create_merge_request-quick-action
With this quick action the user can create a new MR starting from the current issue using as `source_branch` the given `branch name` and as `target_branch` the project default branch. If the `branch name` is omitted a name is automatically created starting from the issue title.
Diffstat (limited to 'app/services/issues')
-rw-r--r--app/services/issues/update_service.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/services/issues/update_service.rb b/app/services/issues/update_service.rb
index fba252b0bae..a1d0cc0e568 100644
--- a/app/services/issues/update_service.rb
+++ b/app/services/issues/update_service.rb
@@ -11,6 +11,12 @@ module Issues
move_issue_to_new_project(issue) || update(issue)
end
+ def update(issue)
+ create_merge_request_from_quick_action
+
+ super
+ end
+
def before_update(issue)
spam_check(issue, current_user)
end
@@ -93,6 +99,13 @@ module Issues
private
+ def create_merge_request_from_quick_action
+ create_merge_request_params = params.delete(:create_merge_request)
+ return unless create_merge_request_params
+
+ MergeRequests::CreateFromIssueService.new(project, current_user, create_merge_request_params).execute
+ end
+
def handle_milestone_change(issue)
return if skip_milestone_email