]> source.dussan.org Git - redmine.git/commitdiff
Merged r19588 and r19589 from trunk to 4.1-stable (#33085).
authorGo MAEDA <maeda@farend.jp>
Fri, 20 Mar 2020 02:35:40 +0000 (02:35 +0000)
committerGo MAEDA <maeda@farend.jp>
Fri, 20 Mar 2020 02:35:40 +0000 (02:35 +0000)
git-svn-id: http://svn.redmine.org/redmine/branches/4.1-stable@19590 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/enumerations_controller.rb
test/functional/enumerations_controller_test.rb

index ed5a0e63616aa5f8aca487b3b62993b5a91ba090..a3d4e4756f392bb9c5d08d192cbb36c0fd4f052b 100644 (file)
@@ -109,7 +109,7 @@ class EnumerationsController < ApplicationController
 
   def enumeration_params
     # can't require enumeration on #new action
-    cf_ids = @enumeration.available_custom_fields.map{|c| c.id.to_s}
+    cf_ids = @enumeration.available_custom_fields.map {|c| c.multiple? ? {c.id.to_s => []} : c.id.to_s}
     params.permit(:enumeration => [:name, :active, :is_default, :position, :custom_field_values => cf_ids])[:enumeration]
   end
 end
index 079606276df36e18ca1088b56e55bad1c3c316c6..19aed8f9808a9d8e46a7b75f57e3da36dbeabc6d 100644 (file)
@@ -84,6 +84,21 @@ class EnumerationsControllerTest < Redmine::ControllerTest
     assert_equal "sample", Enumeration.find_by(:name => 'Sample').custom_field_values.last.value
   end
 
+  def test_create_with_multiple_select_list_custom_fields
+    custom_field = IssuePriorityCustomField.generate!(:field_format => 'list', :multiple => true, :possible_values => ['1', '2', '3', '4'])
+    assert_difference 'IssuePriority.count' do
+      post :create, :params => {
+          :enumeration => {
+            :type => 'IssuePriority',
+            :name => 'Sample',
+            :custom_field_values => {custom_field.id.to_s => ['1', '2']}
+          }
+        }
+    end
+    assert_redirected_to '/enumerations'
+    assert_equal ['1', '2'].sort, Enumeration.find_by(:name => 'Sample').custom_field_values.last.value.sort
+  end
+
   def test_create_with_failure
     assert_no_difference 'IssuePriority.count' do
       post :create, :params => {