Merge Request -> show. Refactored. f5 support for diff
This commit is contained in:
parent
b110c6bc86
commit
2def1c7217
18 changed files with 231 additions and 170 deletions
|
@ -3,6 +3,8 @@ class MergeRequestsController < ApplicationController
|
|||
before_filter :project
|
||||
before_filter :module_enabled
|
||||
before_filter :merge_request, :only => [:edit, :update, :destroy, :show, :commits, :diffs, :automerge, :automerge_check]
|
||||
before_filter :validates_merge_request, :only => [:show, :diffs]
|
||||
before_filter :define_show_vars, :only => [:show, :diffs]
|
||||
layout "project"
|
||||
|
||||
# Authorize
|
||||
|
@ -20,6 +22,7 @@ class MergeRequestsController < ApplicationController
|
|||
# Allow destroy merge_request
|
||||
before_filter :authorize_admin_merge_request!, :only => [:destroy]
|
||||
|
||||
|
||||
def index
|
||||
@merge_requests = @project.merge_requests
|
||||
|
||||
|
@ -34,20 +37,6 @@ class MergeRequestsController < ApplicationController
|
|||
end
|
||||
|
||||
def show
|
||||
# Show git not found page if target branch doesnt exist
|
||||
return git_not_found! unless @project.repo.heads.map(&:name).include?(@merge_request.target_branch)
|
||||
|
||||
# Show git not found page if source branch doesnt exist
|
||||
# and there is no saved commits between source & target branch
|
||||
return git_not_found! if !@project.repo.heads.map(&:name).include?(@merge_request.source_branch) && @merge_request.commits.blank?
|
||||
|
||||
# Build a note object for comment form
|
||||
@note = @project.notes.new(:noteable => @merge_request)
|
||||
|
||||
# Get commits from repository
|
||||
# or from cache if already merged
|
||||
@commits = @merge_request.commits
|
||||
|
||||
respond_to do |format|
|
||||
format.html
|
||||
format.js
|
||||
|
@ -142,4 +131,22 @@ class MergeRequestsController < ApplicationController
|
|||
def module_enabled
|
||||
return render_404 unless @project.merge_requests_enabled
|
||||
end
|
||||
|
||||
def validates_merge_request
|
||||
# Show git not found page if target branch doesnt exist
|
||||
return git_not_found! unless @project.repo.heads.map(&:name).include?(@merge_request.target_branch)
|
||||
|
||||
# Show git not found page if source branch doesnt exist
|
||||
# and there is no saved commits between source & target branch
|
||||
return git_not_found! if !@project.repo.heads.map(&:name).include?(@merge_request.source_branch) && @merge_request.commits.blank?
|
||||
end
|
||||
|
||||
def define_show_vars
|
||||
# Build a note object for comment form
|
||||
@note = @project.notes.new(:noteable => @merge_request)
|
||||
|
||||
# Get commits from repository
|
||||
# or from cache if already merged
|
||||
@commits = @merge_request.commits
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue