Merge Request -> show. Refactored. f5 support for diff

This commit is contained in:
randx 2012-06-29 21:55:22 +03:00
parent b110c6bc86
commit 2def1c7217
18 changed files with 231 additions and 170 deletions

View file

@ -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