From 2c8a24092b60802da700ad33deb3e201bbb6658e Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Wed, 10 Feb 2010 21:42:32 +0000 Subject: [PATCH] Adds filter for system shared versions on the cross project issue list (#4792). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3409 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/query.rb | 4 ++++ test/unit/query_test.rb | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/app/models/query.rb b/app/models/query.rb index 788f34e4..b54d9423 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -210,6 +210,10 @@ class Query < ActiveRecord::Base add_custom_fields_filters(@project.all_issue_custom_fields) else # global filters for cross project issue list + system_shared_versions = Version.visible.find_all_by_sharing('system') + unless system_shared_versions.empty? + @available_filters["fixed_version_id"] = { :type => :list_optional, :order => 7, :values => system_shared_versions.sort.collect{|s| ["#{s.project.name} - #{s.name}", s.id.to_s] } } + end add_custom_fields_filters(IssueCustomField.find(:all, :conditions => {:is_filter => true, :is_for_all => true})) end @available_filters diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb index 20447473..26cba2a5 100644 --- a/test/unit/query_test.rb +++ b/test/unit/query_test.rb @@ -26,6 +26,13 @@ class QueryTest < ActiveSupport::TestCase assert !query.available_filters.has_key?('cf_3') end + def test_system_shared_versions_should_be_available_in_global_queries + Version.find(2).update_attribute :sharing, 'system' + query = Query.new(:project => nil, :name => '_') + assert query.available_filters.has_key?('fixed_version_id') + assert query.available_filters['fixed_version_id'][:values].detect {|v| v.last == '2'} + end + def find_issues_with_query(query) Issue.find :all, :include => [ :assigned_to, :status, :tracker, :project, :priority ],