diff --git a/app/assets/javascripts/merge_requests.js b/app/assets/javascripts/merge_requests.js index eba9c9cab43192ee7d52800e01b2c67734c32e3b..132a05739d9e221defefdea2ca4b2f597d9ad495 100644 --- a/app/assets/javascripts/merge_requests.js +++ b/app/assets/javascripts/merge_requests.js @@ -7,7 +7,7 @@ var MergeRequest = { function(opts) { this.opts = opts; - if($(".automerge_widget").lenght){ + if($(".automerge_widget").length){ $.get(opts.url_to_automerge_check, function(data){ $(".automerge_widget").hide(); $(".automerge_widget." + data.state).show(); @@ -48,5 +48,11 @@ var MergeRequest = { $('.status').removeClass("loading"); }, dataType: "script"}); + }, + + already_cannot_be_merged: + function(){ + $(".automerge_widget").hide(); + $(".automerge_widget.already_cannot_be_merged").show(); } } diff --git a/app/controllers/merge_requests_controller.rb b/app/controllers/merge_requests_controller.rb index 18ad578fc831c8c0566ed6c70f0d71010dc00b3f..1077cef718de97311d09c33b2dfb7f0848c44f07 100644 --- a/app/controllers/merge_requests_controller.rb +++ b/app/controllers/merge_requests_controller.rb @@ -104,9 +104,13 @@ class MergeRequestsController < ApplicationController end def automerge - render_404 unless @merge_request.open? && @merge_request.can_be_merged? return access_denied! unless can?(current_user, :accept_mr, @project) - @merge_request.automerge!(current_user) + if @merge_request.open? && @merge_request.can_be_merged? + @merge_request.automerge!(current_user) + @status = true + else + @status = false + end end def destroy diff --git a/app/views/merge_requests/automerge.js.haml b/app/views/merge_requests/automerge.js.haml index 5827a518b511b73ec0ead0e6f76d368452e4289c..93e184455af7fe094c4f973ed01ed6ac708e8829 100644 --- a/app/views/merge_requests/automerge.js.haml +++ b/app/views/merge_requests/automerge.js.haml @@ -1,2 +1,7 @@ -:plain - location.reload(); +-if @status + :plain + location.reload(); +-else + :plain + MergeRequest.already_cannot_be_merged() + diff --git a/app/views/merge_requests/show.html.haml b/app/views/merge_requests/show.html.haml index aef74b8dce69088aa218b8ca390f938541027906..1b23e5b225f80ef23a6a285974589a366bb4c204 100644 --- a/app/views/merge_requests/show.html.haml +++ b/app/views/merge_requests/show.html.haml @@ -71,6 +71,11 @@ .alert-message %p %strong Checking for ability to automatically merge… + + .automerge_widget.already_cannot_be_merged{:style => "display:none"} + .alert-message + %p + %strong This merge request already can not be merged