From 1db54e228d98d20536133bf52a8af0ce67616dc3 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 17 Jul 2016 09:22:42 +0000 Subject: [PATCH] Don't respond with the error template when annotate is not available. git-svn-id: http://svn.redmine.org/redmine/trunk@15694 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/repositories_controller.rb | 19 +++++++++++-------- app/views/repositories/annotate.html.erb | 5 ++++- .../repositories_git_controller_test.rb | 4 ++-- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 9bee5b837..07f1db0b4 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -211,14 +211,17 @@ class RepositoriesController < ApplicationController @annotate = @repository.scm.annotate(@path, @rev) if @annotate.nil? || @annotate.empty? - (render_error l(:error_scm_annotate); return) - end - ann_buf_size = 0 - @annotate.lines.each do |buf| - ann_buf_size += buf.size - end - if ann_buf_size > Setting.file_max_size_displayed.to_i.kilobyte - (render_error l(:error_scm_annotate_big_text_file); return) + @annotate = nil + @error_message = l(:error_scm_annotate) + else + ann_buf_size = 0 + @annotate.lines.each do |buf| + ann_buf_size += buf.size + end + if ann_buf_size > Setting.file_max_size_displayed.to_i.kilobyte + @annotate = nil + @error_message = l(:error_scm_annotate_big_text_file) + end end @changeset = @repository.find_changeset_by_name(@rev) end diff --git a/app/views/repositories/annotate.html.erb b/app/views/repositories/annotate.html.erb index fcb6d3d84..79a548f7e 100644 --- a/app/views/repositories/annotate.html.erb +++ b/app/views/repositories/annotate.html.erb @@ -8,8 +8,8 @@ <%= render :partial => 'link_to_functions' %> +<% if @annotate %> <% colors = Hash.new {|k,v| k[v] = (k.size % 12) } %> -
@@ -38,6 +38,9 @@
+<% else %> +

<%= @error_message %>

+<% end %> <% html_title(l(:button_annotate)) -%> diff --git a/test/functional/repositories_git_controller_test.rb b/test/functional/repositories_git_controller_test.rb index 4ec419c53..4c2939e35 100644 --- a/test/functional/repositories_git_controller_test.rb +++ b/test/functional/repositories_git_controller_test.rb @@ -449,7 +449,7 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest with_settings :default_language => 'en' do get :annotate, :id => PRJ_ID, :path => repository_path_hash(['images', 'edit.png'])[:param] - assert_response 500 + assert_response 200 assert_select 'p#errorExplanation', :text => /cannot be annotated/ end end @@ -459,7 +459,7 @@ class RepositoriesGitControllerTest < Redmine::ControllerTest get :annotate, :id => PRJ_ID, :path => repository_path_hash(['sources', 'watchers_controller.rb'])[:param], :rev => 'deff712f' - assert_response 500 + assert_response 200 assert_select 'p#errorExplanation', :text => /exceeds the maximum text file size/ get :annotate, :id => PRJ_ID, -- 2.39.5