]> source.dussan.org Git - redmine.git/commitdiff
Merged r10992 from trunk (#12400).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 15 Dec 2012 07:52:39 +0000 (07:52 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 15 Dec 2012 07:52:39 +0000 (07:52 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.2-stable@11006 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/custom_field.rb
test/fixtures/mail_handler/ticket_with_custom_fields.eml
test/unit/custom_field_test.rb
test/unit/mail_handler_test.rb

index 22f29d3ace1ada1626dbbd06a8f6443c9bee110e..5db56de7eb00245e84ab27eccfdb8b96bff2bc61 100644 (file)
@@ -158,7 +158,13 @@ class CustomField < ActiveRecord::Base
     possible_values_options = possible_values_options(customized)
     if possible_values_options.present?
       keyword = keyword.to_s.downcase
-      possible_values_options.detect {|text, id| text.downcase == keyword}.try(:last)
+      if v = possible_values_options.detect {|text, id| text.downcase == keyword}
+        if v.is_a?(Array)
+          v.last
+        else
+          v
+        end
+      end
     else
       keyword
     end
index f3798a4b6b80c114a145f1997e64f0eccf4e9217..58dde7e0f9cc7163d11a7c9032906c34f28ed906 100644 (file)
@@ -39,3 +39,4 @@ pulvinar dui, a gravida orci mi eget odio. Nunc a lacus.
 
 category: Stock management
 searchable field: Value for a custom field
+Database:  postgresql
index d858045ed9903300e40ba2ea2497850e5279306a..c3e9962f236e06ed60fd11ef63042bad6645d158 100644 (file)
@@ -218,4 +218,9 @@ class CustomFieldTest < ActiveSupport::TestCase
     assert_nil CustomField.new(:field_format => 'text').value_class
     assert_nil CustomField.new.value_class
   end
+
+  def test_value_from_keyword_for_list_custom_field
+    field = CustomField.find(1)
+    assert_equal 'PostgreSQL', field.value_from_keyword('postgresql', Issue.find(1))
+  end
 end
index 798d3b592c470f95ae82d28d7bf168e55ef42030..92d007c3618301234663000d49a605ba7be6c412 100644 (file)
@@ -177,8 +177,8 @@ class MailHandlerTest < ActiveSupport::TestCase
     assert !issue.new_record?
     issue.reload
     assert_equal 'New ticket with custom field values', issue.subject
-    assert_equal 'Value for a custom field',
-                 issue.custom_value_for(CustomField.find_by_name('Searchable field')).value
+    assert_equal 'PostgreSQL', issue.custom_field_value(1)
+    assert_equal 'Value for a custom field', issue.custom_field_value(2)
     assert !issue.description.match(/^searchable field:/i)
   end