summaryrefslogtreecommitdiff
path: root/app/controllers/files_controller.rb
diff options
context:
space:
mode:
authorHannes Rosenögger <Hannes.Rosenoegger@bva.bund.de>2015-02-09 14:35:48 +0100
committerDouwe Maan <douwe@gitlab.com>2015-02-16 20:10:15 +0100
commit7d5f86f6cbd187e75a6ba164ad6bfd036977dd07 (patch)
tree43f9cf4d556b95f73481df0e6f258600b59f5a51 /app/controllers/files_controller.rb
parent87b413592499ddcf1149d9e2b580f76a13bf625c (diff)
downloadgitlab-ce-7d5f86f6cbd187e75a6ba164ad6bfd036977dd07.tar.gz
Fix broken access control and refactor avatar upload
This commit moves the note folder from /public/uploads/note to /uploads/note and changes the uploader accordingly. Now it's no longer possible to avoid the access control by modifing the url. The Avatar upload has been refactored to use an own uploader as well to cleanly seperate the two upload types.
Diffstat (limited to 'app/controllers/files_controller.rb')
-rw-r--r--app/controllers/files_controller.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/app/controllers/files_controller.rb b/app/controllers/files_controller.rb
index 9671245d3f4..561af8084c3 100644
--- a/app/controllers/files_controller.rb
+++ b/app/controllers/files_controller.rb
@@ -6,7 +6,9 @@ class FilesController < ApplicationController
if uploader.file_storage?
if can?(current_user, :read_project, note.project)
disposition = uploader.image? ? 'inline' : 'attachment'
- send_file uploader.file.path, disposition: disposition
+ # Replace old notes location in /public with the new one in / and send the file
+ path = uploader.file.path.gsub("#{Rails.root}/public",Rails.root.to_s)
+ send_file path, disposition: disposition
else
not_found!
end