OSDN Git Service

Auto-merge: 'already can not be merged' alert
authorValery Sizov <vsv2711@gmail.com>
Mon, 16 Apr 2012 20:05:08 +0000 (23:05 +0300)
committerValery Sizov <vsv2711@gmail.com>
Mon, 16 Apr 2012 20:05:08 +0000 (23:05 +0300)
app/assets/javascripts/merge_requests.js
app/controllers/merge_requests_controller.rb
app/views/merge_requests/automerge.js.haml
app/views/merge_requests/show.html.haml

index eba9c9c..132a057 100644 (file)
@@ -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();
     }
 }
index 18ad578..1077cef 100644 (file)
@@ -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
index 5827a51..93e1844 100644 (file)
@@ -1,2 +1,7 @@
-:plain
-  location.reload();
+-if @status
+  :plain
+    location.reload();
+-else
+  :plain
+    MergeRequest.already_cannot_be_merged()
+
index aef74b8..1b23e5b 100644 (file)
     .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