Patch #23376 ยป 0001-Allow-to-download-javascript-attachments-again.patch
app/controllers/attachments_controller.rb | ||
---|---|---|
22 | 22 |
before_action :delete_authorize, :only => :destroy |
23 | 23 |
before_action :authorize_global, :only => :upload |
24 | 24 | |
25 |
# Disable check for same origin requests for JS files, i.e. attachments with |
|
26 |
# MIME type text/javascript. |
|
27 |
skip_after_filter :verify_same_origin_request, :only => :download |
|
28 | ||
25 | 29 |
accept_api_auth :show, :download, :thumbnail, :upload, :destroy |
26 | 30 | |
27 | 31 |
def show |
test/fixtures/attachments.yml | ||
---|---|---|
267 | 267 |
filename: root_attachment.txt |
268 | 268 |
filesize: 54 |
269 | 269 |
author_id: 2 |
270 |
attachments_021: |
|
271 |
created_on: 2016-07-19 15:07:27 +02:00 |
|
272 |
downloads: 0 |
|
273 |
content_type: text/javascript |
|
274 |
disk_filename: 160719150727_script.js |
|
275 |
disk_directory: "2016/07" |
|
276 |
container_id: 3 |
|
277 |
digest: bc279813fab770379fd219f1722ccc3a |
|
278 |
id: 21 |
|
279 |
container_type: Issue |
|
280 |
filesize: 16 |
|
281 |
filename: script.js |
|
282 |
author_id: 2 |
test/fixtures/files/2016/07/160719150727_script.js | ||
---|---|---|
1 |
alert('Hello'); |
test/functional/attachments_controller_test.rb | ||
---|---|---|
252 | 252 |
set_tmp_attachments_directory |
253 | 253 |
end |
254 | 254 | |
255 |
def test_download_js_file |
|
256 |
get :download, :id => 21 |
|
257 |
assert_response :success |
|
258 |
assert_equal 'text/javascript', @response.content_type |
|
259 |
set_tmp_attachments_directory |
|
260 |
end |
|
261 | ||
255 | 262 |
def test_download_version_file_with_issue_tracking_disabled |
256 | 263 |
Project.find(1).disable_module! :issue_tracking |
257 | 264 |
get :download, :id => 9 |
test/integration/api_test/issues_test.rb | ||
---|---|---|
296 | 296 |
get '/issues/3.xml?include=attachments' |
297 | 297 | |
298 | 298 |
assert_select 'issue attachments[type=array]' do |
299 |
assert_select 'attachment', 4
|
|
299 |
assert_select 'attachment', 5
|
|
300 | 300 |
assert_select 'attachment id', :text => '1' do |
301 | 301 |
assert_select '~ filename', :text => 'error281.txt' |
302 | 302 |
assert_select '~ content_url', :text => 'http://www.example.com/attachments/download/1/error281.txt' |