diff --git a/lib/redmine.rb b/lib/redmine.rb index 550cd7028..9cd025c69 100644 --- a/lib/redmine.rb +++ b/lib/redmine.rb @@ -34,15 +34,15 @@ Redmine::Scm::Base.add "Git" Redmine::Scm::Base.add "Filesystem" Redmine::CustomFieldFormat.map do |fields| - fields.register Redmine::CustomFieldFormat.new('string', :label => :label_string, :order => 1) - fields.register Redmine::CustomFieldFormat.new('text', :label => :label_text, :order => 2) - fields.register Redmine::CustomFieldFormat.new('int', :label => :label_integer, :order => 3) - fields.register Redmine::CustomFieldFormat.new('float', :label => :label_float, :order => 4) - fields.register Redmine::CustomFieldFormat.new('list', :label => :label_list, :order => 5) - fields.register Redmine::CustomFieldFormat.new('date', :label => :label_date, :order => 6) - fields.register Redmine::CustomFieldFormat.new('bool', :label => :label_boolean, :order => 7) - fields.register Redmine::CustomFieldFormat.new('user', :label => :label_user, :only => %w(Issue TimeEntry Version Project), :edit_as => 'list', :order => 8) - fields.register Redmine::CustomFieldFormat.new('version', :label => :label_version, :only => %w(Issue TimeEntry Version Project), :edit_as => 'list', :order => 9) + fields.register 'string' + fields.register 'text' + fields.register 'int', :label => :label_integer + fields.register 'float' + fields.register 'list' + fields.register 'date' + fields.register 'bool', :label => :label_boolean + fields.register 'user', :only => %w(Issue TimeEntry Version Project), :edit_as => 'list' + fields.register 'version', :only => %w(Issue TimeEntry Version Project), :edit_as => 'list' end # Permissions diff --git a/lib/redmine/custom_field_format.rb b/lib/redmine/custom_field_format.rb index c0f4dcbc6..cd5c58f12 100644 --- a/lib/redmine/custom_field_format.rb +++ b/lib/redmine/custom_field_format.rb @@ -26,8 +26,8 @@ module Redmine def initialize(name, options={}) self.name = name - self.label = options[:label] - self.order = options[:order] + self.label = options[:label] || "label_#{name}".to_sym + self.order = options[:order] || self.class.available_formats.size self.edit_as = options[:edit_as] || name self.class_names = options[:only] end @@ -62,7 +62,11 @@ module Redmine end # Registers a custom field format - def register(custom_field_format, options={}) + def register(*args) + custom_field_format = args.first + unless custom_field_format.is_a?(Redmine::CustomFieldFormat) + custom_field_format = Redmine::CustomFieldFormat.new(*args) + end @@available[custom_field_format.name] = custom_field_format unless @@available.keys.include?(custom_field_format.name) end