summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeger-Jan van de Weg <mail@zjvandeweg.nl>2015-11-02 20:02:51 +0100
committerZeger-Jan van de Weg <mail@zjvandeweg.nl>2015-11-02 20:15:40 +0100
commit63b234706d46f75c0c0f93bdfdc576e328981eb5 (patch)
treeb6d4bd84b9ea60f3f6ae6dbde65044a156149dbf
parent77f8a1e392b64f51326df8aebdc77e97af07bfed (diff)
downloadgitlab-ce-63b234706d46f75c0c0f93bdfdc576e328981eb5.tar.gz
MRs author can cancel automatic merge
-rw-r--r--app/controllers/projects/merge_requests_controller.rb4
-rw-r--r--app/views/projects/merge_requests/widget/open/_merge_when_build_succeeds.html.haml4
2 files changed, 5 insertions, 3 deletions
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index 2f9b8a25edf..d58dab2d666 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -150,7 +150,9 @@ class Projects::MergeRequestsController < Projects::ApplicationController
end
def cancel_merge_when_build_succeeds
- return access_denied! unless @merge_request.can_be_merged_by?(current_user)
+ unless @merge_request.can_be_merged_by?(current_user) || @merge_request.author == current_user
+ return access_denied!
+ end
if @merge_request.merge_when_build_succeeds?
@merge_request.reset_merge_when_build_succeeds
diff --git a/app/views/projects/merge_requests/widget/open/_merge_when_build_succeeds.html.haml b/app/views/projects/merge_requests/widget/open/_merge_when_build_succeeds.html.haml
index 7e5385cf8b9..f3894334968 100644
--- a/app/views/projects/merge_requests/widget/open/_merge_when_build_succeeds.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_merge_when_build_succeeds.html.haml
@@ -14,7 +14,7 @@
= succeed '.' do
The changes will be merged into
%span.label-branch= @merge_request.target_branch
- The source branch will not be removed.
+ The source branch won't be removed.
- if remove_source_branch_button || @merge_request.can_be_merged_by?(current_user)
.clearfix.prepend-top-10
@@ -22,6 +22,6 @@
= link_to merge_namespace_project_merge_request_path(@merge_request.source_project.namespace, @merge_request.source_project, @merge_request, merge_when_build_succeeds: true, should_remove_source_branch: true), remote: true, method: :post, class: "btn btn-grouped btn-primary btn-sm remove_source_branch" do
= icon('times')
Remove Source Branch When Merged
- - if @merge_request.can_be_merged_by?(current_user)
+ - if @merge_request.can_be_merged_by?(current_user) || @merge_request.author == current_user
= link_to merge_namespace_project_merge_request_path(@merge_request.source_project.namespace, @merge_request.source_project, @merge_request), remote: true, method: :delete, class: "btn btn-grouped btn-warning btn-sm" do
Cancel Automatic Merge