summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2011-11-29 19:36:49 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2011-11-29 19:36:49 +0000
commitd92c204ed3899d775e4f47d79e3fec91e44ae2c3 (patch)
treecb63bfa2864455c47f8bc1a1bd82f663f2293f9d
parent9ed5d1dd027cb5607b9768cdf21c323dbe6536e2 (diff)
downloadredmine-d92c204ed3899d775e4f47d79e3fec91e44ae2c3.tar.gz
redmine-d92c204ed3899d775e4f47d79e3fec91e44ae2c3.zip
Fixed: version files in Files module cannot be downloaded if issue tracking is disabled (#9055).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7984 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/models/version.rb5
-rw-r--r--test/fixtures/attachments.yml2
-rw-r--r--test/functional/attachments_controller_test.rb6
3 files changed, 12 insertions, 1 deletions
diff --git a/app/models/version.rb b/app/models/version.rb
index b5f34e97f..3340be77e 100644
--- a/app/models/version.rb
+++ b/app/models/version.rb
@@ -43,6 +43,11 @@ class Version < ActiveRecord::Base
user.allowed_to?(:view_issues, self.project)
end
+ # Version files have same visibility as project files
+ def attachments_visible?(*args)
+ project.present? && project.attachments_visible?(*args)
+ end
+
def start_date
@start_date ||= fixed_issues.minimum('start_date')
end
diff --git a/test/fixtures/attachments.yml b/test/fixtures/attachments.yml
index 32d7cabc1..604ac1ac4 100644
--- a/test/fixtures/attachments.yml
+++ b/test/fixtures/attachments.yml
@@ -102,7 +102,7 @@ attachments_009:
container_type: Version
container_id: 1
downloads: 0
- disk_filename: 060719210727_version_file.zip
+ disk_filename: 060719210727_archive.zip
digest: b91e08d0cf966d5c6ff411bd8c4cc3a2
id: 9
filesize: 452
diff --git a/test/functional/attachments_controller_test.rb b/test/functional/attachments_controller_test.rb
index 50b19c260..625a21eb5 100644
--- a/test/functional/attachments_controller_test.rb
+++ b/test/functional/attachments_controller_test.rb
@@ -198,6 +198,12 @@ class AttachmentsControllerTest < ActionController::TestCase
set_tmp_attachments_directory
end
+ def test_download_version_file_with_issue_tracking_disabled
+ Project.find(1).disable_module! :issue_tracking
+ get :download, :id => 9
+ assert_response :success
+ end
+
def test_download_should_assign_content_type_if_blank
Attachment.find(4).update_attribute(:content_type, '')