From 5e1ef575df927a1132e8991f7d5dcc2f43217456 Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Mon, 17 Sep 2012 10:08:02 -0400 Subject: Add CommitController --- app/controllers/commit_controller.rb | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 app/controllers/commit_controller.rb (limited to 'app/controllers/commit_controller.rb') diff --git a/app/controllers/commit_controller.rb b/app/controllers/commit_controller.rb new file mode 100644 index 00000000000..73a556144ed --- /dev/null +++ b/app/controllers/commit_controller.rb @@ -0,0 +1,33 @@ +# Controller for a specific Commit +# +# Not to be confused with CommitsController, plural. +class CommitController < ApplicationController + before_filter :project + layout "project" + + # Authorize + before_filter :add_project_abilities + before_filter :authorize_read_project! + before_filter :authorize_code_access! + before_filter :require_non_empty_project + + def show + result = CommitLoad.new(project, current_user, params).execute + + @commit = result[:commit] + + if @commit + @suppress_diff = result[:suppress_diff] + @note = result[:note] + @line_notes = result[:line_notes] + @notes_count = result[:notes_count] + @comments_allowed = true + else + return git_not_found! + end + + if result[:status] == :huge_commit + render "huge_commit" and return + end + end +end -- cgit v1.2.1 From 99d391332fa9a6c11e93bd19295425167661b972 Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Tue, 25 Sep 2012 18:46:19 -0400 Subject: Add a "patch" MIME type, and render it like a normal view in Commit#show --- app/controllers/commit_controller.rb | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'app/controllers/commit_controller.rb') diff --git a/app/controllers/commit_controller.rb b/app/controllers/commit_controller.rb index 73a556144ed..de0d5b2ee7d 100644 --- a/app/controllers/commit_controller.rb +++ b/app/controllers/commit_controller.rb @@ -15,19 +15,22 @@ class CommitController < ApplicationController result = CommitLoad.new(project, current_user, params).execute @commit = result[:commit] + git_not_found! unless @commit - if @commit - @suppress_diff = result[:suppress_diff] - @note = result[:note] - @line_notes = result[:line_notes] - @notes_count = result[:notes_count] - @comments_allowed = true - else - return git_not_found! - end + @suppress_diff = result[:suppress_diff] + @note = result[:note] + @line_notes = result[:line_notes] + @notes_count = result[:notes_count] + @comments_allowed = true + + respond_to do |format| + format.html do + if result[:status] == :huge_commit + render "huge_commit" and return + end + end - if result[:status] == :huge_commit - render "huge_commit" and return + format.patch end end end -- cgit v1.2.1