diff options
Diffstat (limited to 'app/services/merge_requests/base_service.rb')
-rw-r--r-- | app/services/merge_requests/base_service.rb | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/app/services/merge_requests/base_service.rb b/app/services/merge_requests/base_service.rb index 44be254441d..2b6a66b9dee 100644 --- a/app/services/merge_requests/base_service.rb +++ b/app/services/merge_requests/base_service.rb @@ -121,16 +121,21 @@ module MergeRequests override :handle_quick_actions def handle_quick_actions(merge_request) super - handle_wip_event(merge_request) + handle_draft_event(merge_request) end - def handle_wip_event(merge_request) - if wip_event = params.delete(:wip_event) + def handle_draft_event(merge_request) + if draft_event = params.delete(:wip_event) # We update the title that is provided in the params or we use the mr title title = params[:title] || merge_request.title - params[:title] = case wip_event - when 'wip' then MergeRequest.wip_title(title) - when 'unwip' then MergeRequest.wipless_title(title) + # Supports both `wip` and `draft` permutations of draft_event + # This support can be removed >= %15.2 + # + params[:title] = case draft_event + when 'wip' then MergeRequest.draft_title(title) + when 'draft' then MergeRequest.draft_title(title) + when 'unwip' then MergeRequest.draftless_title(title) + when 'ready' then MergeRequest.draftless_title(title) end end end @@ -185,9 +190,12 @@ module MergeRequests def create_pipeline_for(merge_request, user, async: false) if async + # TODO: pass push_options to worker MergeRequests::CreatePipelineWorker.perform_async(project.id, user.id, merge_request.id) else - MergeRequests::CreatePipelineService.new(project: project, current_user: user).execute(merge_request) + MergeRequests::CreatePipelineService + .new(project: project, current_user: user, params: params.slice(:push_options)) + .execute(merge_request) end end |