mirror of
https://github.com/meineerde/redmine.git
synced 2026-03-11 03:33:07 +00: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:
parent
8277c7bf3a
commit
6b5432ef7f
@ -239,11 +239,28 @@ class AttachmentsController < ApplicationController
|
|||||||
if @attachments.sum(&:filesize) > bulk_download_max_size
|
if @attachments.sum(&:filesize) > bulk_download_max_size
|
||||||
flash[:error] = l(:error_bulk_download_size_too_big,
|
flash[:error] = l(:error_bulk_download_size_too_big,
|
||||||
:max_size => number_to_human_size(bulk_download_max_size.to_i))
|
: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
|
return
|
||||||
end
|
end
|
||||||
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
|
# Checks that the file exists and is readable
|
||||||
def file_readable
|
def file_readable
|
||||||
if @attachment.readable?
|
if @attachment.readable?
|
||||||
|
|||||||
@ -631,7 +631,23 @@ class AttachmentsControllerTest < Redmine::ControllerTest
|
|||||||
:params => {
|
:params => {
|
||||||
:object_type => 'issues',
|
:object_type => 'issues',
|
||||||
:object_id => '2',
|
: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'
|
assert_redirected_to '/issues/2'
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user