Commit 3824f9b372fe9451d101eec478440d129fb2d0b2
1 parent
411d84f3
Exists in
master
and in
4 other branches
Unverify MR on every push. Ajax for MR accept. better UI
Showing
5 changed files
with
18 additions
and
9 deletions
Show diff stats
app/controllers/merge_requests_controller.rb
@@ -90,6 +90,7 @@ class MergeRequestsController < ApplicationController | @@ -90,6 +90,7 @@ class MergeRequestsController < ApplicationController | ||
90 | respond_to do |format| | 90 | respond_to do |format| |
91 | if @merge_request.update_attributes(params[:merge_request].merge(:author_id_of_changes => current_user.id)) | 91 | if @merge_request.update_attributes(params[:merge_request].merge(:author_id_of_changes => current_user.id)) |
92 | @merge_request.reload_code | 92 | @merge_request.reload_code |
93 | + @merge_request.mark_as_unchecked | ||
93 | format.html { redirect_to [@project, @merge_request], notice: 'Merge request was successfully updated.' } | 94 | format.html { redirect_to [@project, @merge_request], notice: 'Merge request was successfully updated.' } |
94 | format.json { head :ok } | 95 | format.json { head :ok } |
95 | else | 96 | else |
@@ -101,8 +102,7 @@ class MergeRequestsController < ApplicationController | @@ -101,8 +102,7 @@ class MergeRequestsController < ApplicationController | ||
101 | 102 | ||
102 | def automerge | 103 | def automerge |
103 | render_404 unless @merge_request.open? && @merge_request.can_be_merged? | 104 | render_404 unless @merge_request.open? && @merge_request.can_be_merged? |
104 | - message = @merge_request.automerge! ? "Successfully merged" : "Can not be merged" | ||
105 | - redirect_to [@merge_request.project, @merge_request], :alert => message | 105 | + @merge_request.automerge!(current_user) |
106 | end | 106 | end |
107 | 107 | ||
108 | def destroy | 108 | def destroy |
app/models/merge_request.rb
@@ -64,6 +64,10 @@ class MergeRequest < ActiveRecord::Base | @@ -64,6 +64,10 @@ class MergeRequest < ActiveRecord::Base | ||
64 | state == UNCHECKED | 64 | state == UNCHECKED |
65 | end | 65 | end |
66 | 66 | ||
67 | + def mark_as_unchecked | ||
68 | + self.update_attributes(:state => UNCHECKED) | ||
69 | + end | ||
70 | + | ||
67 | def can_be_merged? | 71 | def can_be_merged? |
68 | state == CAN_BE_MERGED | 72 | state == CAN_BE_MERGED |
69 | end | 73 | end |
@@ -170,7 +174,7 @@ class MergeRequest < ActiveRecord::Base | @@ -170,7 +174,7 @@ class MergeRequest < ActiveRecord::Base | ||
170 | ) | 174 | ) |
171 | end | 175 | end |
172 | 176 | ||
173 | - def automerge! | 177 | + def automerge!(current_user) |
174 | if GitlabMerge.new(self).merge | 178 | if GitlabMerge.new(self).merge |
175 | self.merge!(current_user.id) | 179 | self.merge!(current_user.id) |
176 | true | 180 | true |
app/models/project/hooks_trait.rb
@@ -19,7 +19,7 @@ module Project::HooksTrait | @@ -19,7 +19,7 @@ module Project::HooksTrait | ||
19 | 19 | ||
20 | # Update code for merge requests | 20 | # Update code for merge requests |
21 | mrs = self.merge_requests.opened.find_all_by_branch(branch_name).all | 21 | mrs = self.merge_requests.opened.find_all_by_branch(branch_name).all |
22 | - mrs.each { |merge_request| merge_request.reload_code } | 22 | + mrs.each { |merge_request| merge_request.reload_code; merge_request.mark_as_unchecked } |
23 | 23 | ||
24 | # Close merge requests | 24 | # Close merge requests |
25 | mrs = self.merge_requests.opened.where(:target_branch => branch_name).all | 25 | mrs = self.merge_requests.opened.where(:target_branch => branch_name).all |
app/views/merge_requests/show.html.haml
@@ -54,12 +54,11 @@ | @@ -54,12 +54,11 @@ | ||
54 | 54 | ||
55 | - if @merge_request.open? && @commits.any? | 55 | - if @merge_request.open? && @commits.any? |
56 | - if @merge_request.can_be_merged? | 56 | - if @merge_request.can_be_merged? |
57 | - .alert-message.info | 57 | + .ui-box.padded |
58 | %p | 58 | %p |
59 | - You can accept this request automatically. If you still want to do it manually - #{link_to "click here", "#", :class => "how_to_merge_link cwhite", :title => "How To Merge"} for instructions | ||
60 | - .alert-actions | ||
61 | - = link_to "Accept Merge Request", automerge_project_merge_request_path(@project, @merge_request), :class => "btn small info" | ||
62 | - | 59 | + You can accept this request automatically. If you still want to do it manually - #{link_to "click here", "#", :class => "how_to_merge_link vlink", :title => "How To Merge"} for instructions |
60 | + = link_to "Accept Merge Request", automerge_project_merge_request_path(@project, @merge_request), :class => "btn small info accept_merge_request", :remote => true | ||
61 | + | ||
63 | 62 | ||
64 | - else | 63 | - else |
65 | .alert-message | 64 | .alert-message |
@@ -88,6 +87,10 @@ | @@ -88,6 +87,10 @@ | ||
88 | :javascript | 87 | :javascript |
89 | $(function(){ | 88 | $(function(){ |
90 | MergeRequest.init(); | 89 | MergeRequest.init(); |
90 | + | ||
91 | + $(".accept_merge_request").live("ajax:beforeSend", function() { | ||
92 | + $(this).replaceWith('#{image_tag "ajax_loader.gif"}'); | ||
93 | + }) | ||
91 | }) | 94 | }) |
92 | 95 | ||
93 | = render "notes/per_line_form" | 96 | = render "notes/per_line_form" |