Commit a8e4f3ed888f27629a5e35174cdb19cb6c751c16

Authored by Valery Sizov
1 parent 8269a3a7

Auto-merge: 'already can not be merged' alert

app/assets/javascripts/merge_requests.js
... ... @@ -7,7 +7,7 @@ var MergeRequest = {
7 7 function(opts) {
8 8 this.opts = opts;
9 9  
10   - if($(".automerge_widget").lenght){
  10 + if($(".automerge_widget").length){
11 11 $.get(opts.url_to_automerge_check, function(data){
12 12 $(".automerge_widget").hide();
13 13 $(".automerge_widget." + data.state).show();
... ... @@ -48,5 +48,11 @@ var MergeRequest = {
48 48 $('.status').removeClass("loading");
49 49 },
50 50 dataType: "script"});
  51 + },
  52 +
  53 + already_cannot_be_merged:
  54 + function(){
  55 + $(".automerge_widget").hide();
  56 + $(".automerge_widget.already_cannot_be_merged").show();
51 57 }
52 58 }
... ...
app/controllers/merge_requests_controller.rb
... ... @@ -104,9 +104,13 @@ class MergeRequestsController < ApplicationController
104 104 end
105 105  
106 106 def automerge
107   - render_404 unless @merge_request.open? && @merge_request.can_be_merged?
108 107 return access_denied! unless can?(current_user, :accept_mr, @project)
109   - @merge_request.automerge!(current_user)
  108 + if @merge_request.open? && @merge_request.can_be_merged?
  109 + @merge_request.automerge!(current_user)
  110 + @status = true
  111 + else
  112 + @status = false
  113 + end
110 114 end
111 115  
112 116 def destroy
... ...
app/views/merge_requests/automerge.js.haml
1   -:plain
2   - location.reload();
  1 +-if @status
  2 + :plain
  3 + location.reload();
  4 +-else
  5 + :plain
  6 + MergeRequest.already_cannot_be_merged()
  7 +
... ...
app/views/merge_requests/show.html.haml
... ... @@ -71,6 +71,11 @@
71 71 .alert-message
72 72 %p
73 73 %strong Checking for ability to automatically merge…
  74 +
  75 + .automerge_widget.already_cannot_be_merged{:style => "display:none"}
  76 + .alert-message
  77 + %p
  78 + %strong This merge request already can not be merged
74 79  
75 80  
76 81  
... ...