]> source.dussan.org Git - redmine.git/commitdiff
Group text filters in the filter select list (#38402).
authorGo MAEDA <maeda@farend.jp>
Wed, 5 Apr 2023 09:23:44 +0000 (09:23 +0000)
committerGo MAEDA <maeda@farend.jp>
Wed, 5 Apr 2023 09:23:44 +0000 (09:23 +0000)
Patch by Go MAEDA.

git-svn-id: https://svn.redmine.org/redmine/trunk@22165 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/helpers/queries_helper.rb
test/helpers/queries_helper_test.rb

index d40ee2587dd9d099e62a6e9bd6328af3e3fa87f6..10c59c1a4de2097b4888f106b2968b9097a46e21 100644 (file)
@@ -43,6 +43,8 @@ module QueriesHelper
         group = :label_time_tracking
       elsif %w(attachment attachment_description).include?(field)
         group = :label_attachment
+      elsif [:string, :text, :search].include?(field_options[:type])
+        group = :label_string
       end
       if group
         (grouped[group] ||= []) << [field_options[:name], field]
index 35d0919a0375f544994d04500dddb4e27943241e..b2943bd036b89243504bf42df0b665024dfd3746 100644 (file)
@@ -82,6 +82,16 @@ class QueriesHelperTest < Redmine::HelperTest
     end
   end
 
+  def test_filters_options_for_select_should_group_text_filters
+    with_locale 'en' do
+      options = filters_options_for_select(IssueQuery.new)
+      assert_select_in options, 'optgroup[label=?]', 'Text', 1
+      assert_select_in options, 'optgroup > option[value=subject]', :text => 'Subject'
+      assert_select_in options, 'optgroup > option[value=cf_2]', :text => 'Searchable field'
+      assert_select_in options, 'optgroup > option:last-of-type[value=any_searchable]', :text => 'Any searchable text'
+    end
+  end
+
   def test_query_to_csv_should_translate_boolean_custom_field_values
     f = IssueCustomField.generate!(:field_format => 'bool', :name => 'Boolean', :is_for_all => true, :trackers => Tracker.all)
     issues = [