Merge remote-tracking branch 'origin/merge_button'

Conflicts:
	app/assets/javascripts/merge_requests.js
	db/schema.rb
This commit is contained in:
Dmitriy Zaporozhets 2012-04-21 12:22:56 +03:00
commit 08994f3f60
13 changed files with 223 additions and 7 deletions

View file

@ -2,7 +2,7 @@ class MergeRequestsController < ApplicationController
before_filter :authenticate_user!
before_filter :project
before_filter :module_enabled
before_filter :merge_request, :only => [:edit, :update, :destroy, :show, :commits, :diffs]
before_filter :merge_request, :only => [:edit, :update, :destroy, :show, :commits, :diffs, :automerge, :automerge_check]
layout "project"
# Authorize
@ -89,6 +89,7 @@ class MergeRequestsController < ApplicationController
respond_to do |format|
if @merge_request.update_attributes(params[:merge_request].merge(:author_id_of_changes => current_user.id))
@merge_request.reload_code
@merge_request.mark_as_unchecked
format.html { redirect_to [@project, @merge_request], notice: 'Merge request was successfully updated.' }
format.json { head :ok }
else
@ -98,6 +99,23 @@ class MergeRequestsController < ApplicationController
end
end
def automerge_check
if @merge_request.unchecked?
@merge_request.check_if_can_be_merged
end
render :json => {:state => @merge_request.human_state}
end
def automerge
return access_denied! unless can?(current_user, :accept_mr, @project)
if @merge_request.open? && @merge_request.can_be_merged?
@merge_request.automerge!(current_user)
@status = true
else
@status = false
end
end
def destroy
@merge_request.destroy