mirror of
https://github.com/redmine/redmine.git
synced 2026-01-21 15:03:22 +01:00
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:
@@ -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?
|
||||
|
||||
@@ -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'
|
||||
|
||||
Reference in New Issue
Block a user