From 538642c5c4323e0ad1f3dc568ff025325ca5ae47 Mon Sep 17 00:00:00 2001 From: Eric Davis Date: Fri, 16 Apr 2010 15:34:05 +0000 Subject: [PATCH] Let custom field formats control how they are edited. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3675 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/helpers/custom_fields_helper.rb | 8 +++++--- lib/redmine/custom_field_format.rb | 7 +++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/helpers/custom_fields_helper.rb b/app/helpers/custom_fields_helper.rb index f75c89382..189467409 100644 --- a/app/helpers/custom_fields_helper.rb +++ b/app/helpers/custom_fields_helper.rb @@ -35,8 +35,9 @@ module CustomFieldsHelper custom_field = custom_value.custom_field field_name = "#{name}[custom_field_values][#{custom_field.id}]" field_id = "#{name}_custom_field_values_#{custom_field.id}" - - case custom_field.field_format + + field_format = Redmine::CustomFieldFormat.find_by_name(custom_field.field_format) + case field_format.edit_as when "date" text_field_tag(field_name, custom_value.value, :id => field_id, :size => 10) + calendar_for(field_id) @@ -70,7 +71,8 @@ module CustomFieldsHelper def custom_field_tag_for_bulk_edit(name, custom_field) field_name = "#{name}[custom_field_values][#{custom_field.id}]" field_id = "#{name}_custom_field_values_#{custom_field.id}" - case custom_field.field_format + field_format = Redmine::CustomFieldFormat.find_by_name(custom_field.field_format) + case field_format.edit_as when "date" text_field_tag(field_name, '', :id => field_id, :size => 10) + calendar_for(field_id) diff --git a/lib/redmine/custom_field_format.rb b/lib/redmine/custom_field_format.rb index 336905666..2f12397d5 100644 --- a/lib/redmine/custom_field_format.rb +++ b/lib/redmine/custom_field_format.rb @@ -48,6 +48,13 @@ module Redmine } end + # Allow displaying the edit type of another field_format + # + # Example: display a custom field as a list + def edit_as + name + end + class << self def map(&block) yield self