From c17ff5f02490f47bf1f0c3f05c25e73ac8409cef Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Thu, 24 Mar 2011 18:24:30 +0000 Subject: [PATCH] Fixed: unknown custom field format causes error when editing/bulk editing (#7985). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5214 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/helpers/custom_fields_helper.rb | 8 ++++---- .../unit/helpers/custom_fields_helper_test.rb | 19 ++++++++++++++++++- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/app/helpers/custom_fields_helper.rb b/app/helpers/custom_fields_helper.rb index 107d0ac87..efe31a415 100644 --- a/app/helpers/custom_fields_helper.rb +++ b/app/helpers/custom_fields_helper.rb @@ -1,5 +1,5 @@ -# redMine - project management software -# Copyright (C) 2006 Jean-Philippe Lang +# Redmine - project management software +# Copyright (C) 2006-2011 Jean-Philippe Lang # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -37,7 +37,7 @@ module CustomFieldsHelper field_id = "#{name}_custom_field_values_#{custom_field.id}" field_format = Redmine::CustomFieldFormat.find_by_name(custom_field.field_format) - case field_format.edit_as + case field_format.try(:edit_as) when "date" text_field_tag(field_name, custom_value.value, :id => field_id, :size => 10) + calendar_for(field_id) @@ -72,7 +72,7 @@ module CustomFieldsHelper field_name = "#{name}[custom_field_values][#{custom_field.id}]" field_id = "#{name}_custom_field_values_#{custom_field.id}" field_format = Redmine::CustomFieldFormat.find_by_name(custom_field.field_format) - case field_format.edit_as + case field_format.try(:edit_as) when "date" text_field_tag(field_name, '', :id => field_id, :size => 10) + calendar_for(field_id) diff --git a/test/unit/helpers/custom_fields_helper_test.rb b/test/unit/helpers/custom_fields_helper_test.rb index 6baff742c..587002962 100644 --- a/test/unit/helpers/custom_fields_helper_test.rb +++ b/test/unit/helpers/custom_fields_helper_test.rb @@ -1,5 +1,5 @@ # Redmine - project management software -# Copyright (C) 2006-2009 Jean-Philippe Lang +# Copyright (C) 2006-2011 Jean-Philippe Lang # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -26,4 +26,21 @@ class CustomFieldsHelperTest < HelperTestCase assert_equal 'Yes', format_value('1', 'bool') assert_equal 'No', format_value('0', 'bool') end + + def test_unknow_field_format_should_be_edited_as_string + field = CustomField.new(:field_format => 'foo') + value = CustomValue.new(:value => 'bar', :custom_field => field) + field.id = 52 + + assert_equal '', + custom_field_tag('object', value) + end + + def test_unknow_field_format_should_be_bulk_edited_as_string + field = CustomField.new(:field_format => 'foo') + field.id = 52 + + assert_equal '', + custom_field_tag_for_bulk_edit('object', field) + end end -- 2.39.5