Merged r21948 from trunk to 5.0-stable (#37880).

git-svn-id: https://svn.redmine.org/redmine/branches/5.0-stable@21949 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA
2022-11-03 05:20:38 +00:00
parent 8277c7bf3a
commit 6b5432ef7f
2 changed files with 35 additions and 2 deletions

View File

@@ -239,11 +239,28 @@ class AttachmentsController < ApplicationController
if @attachments.sum(&:filesize) > bulk_download_max_size
flash[:error] = l(:error_bulk_download_size_too_big,
:max_size => number_to_human_size(bulk_download_max_size.to_i))
redirect_to back_url
redirect_back_or_default(container_url, referer: true)
return
end
end
def container_url
case @container
when Message
url_for(@container.event_url)
when Project
# project attachments are listed in the files view
project_files_url(@container)
when Version
# version attachments are listed in its project's files view
project_files_url(@container.project)
when WikiPage
project_wiki_page_url @container.wiki.project, @container
else
url_for(@container)
end
end
# Checks that the file exists and is readable
def file_readable
if @attachment.readable?

View File

@@ -631,7 +631,23 @@ class AttachmentsControllerTest < Redmine::ControllerTest
:params => {
:object_type => 'issues',
:object_id => '2',
:back_url => '/issues/2'
:back_url => '/issues/123'
}
)
assert_redirected_to '/issues/123'
assert_equal flash[:error], 'These attachments cannot be bulk downloaded because the total file size exceeds the maximum allowed size (0 Bytes)'
end
end
def test_download_all_redirects_to_container_url_on_error
with_settings :bulk_download_max_size => 0 do
@request.session[:user_id] = 2
get(
:download_all,
:params => {
:object_type => 'issues',
:object_id => '2',
:back_url => 'https://example.com'
}
)
assert_redirected_to '/issues/2'