Class: Redmine::FieldFormat::ListFormat

Inherits:
List
  • Object
show all
Defined in:
lib/redmine/field_format.rb

Overview

Since:

  • 2.5.0

Instance Method Summary collapse

Methods inherited from List

#bulk_edit_tag, #edit_tag, #query_filter_options

Methods inherited from Base

#after_save_custom_value, #before_custom_field_save, #bulk_edit_tag, #cast_custom_value, #cast_single_value, #cast_value, #edit_tag, field_attributes, #formatted_custom_value, #formatted_value, #join_for_order_statement, #label, #name, #order_statement, #query_filter_options, #set_custom_field_value, #target_class, #validate_single_value, #value_from_keyword

Methods included from Helpers::URL

#uri_with_safe_scheme?

Methods included from I18n

#current_language, #day_letter, #day_name, #find_language, #format_date, #format_hours, #format_time, #l, #l_hours, #l_hours_short, #l_or_humanize, #languages_options, #ll, #lu, #month_name, #set_language_if_valid, #valid_languages

Instance Method Details

#group_statement(custom_field) ⇒ Object



669
670
671
# File 'lib/redmine/field_format.rb', line 669

def group_statement(custom_field)
  order_statement(custom_field)
end

#possible_custom_value_options(custom_value) ⇒ Object



639
640
641
642
643
644
645
646
# File 'lib/redmine/field_format.rb', line 639

def possible_custom_value_options(custom_value)
  options = possible_values_options(custom_value.custom_field)
  missing = [custom_value.value].flatten.reject(&:blank?) - options
  if missing.any?
    options += missing
  end
  options
end

#possible_values_options(custom_field, object = nil) ⇒ Object



648
649
650
# File 'lib/redmine/field_format.rb', line 648

def possible_values_options(custom_field, object=nil)
  custom_field.possible_values
end

#validate_custom_field(custom_field) ⇒ Object



652
653
654
655
656
657
# File 'lib/redmine/field_format.rb', line 652

def validate_custom_field(custom_field)
  errors = []
  errors << [:possible_values, :blank] if custom_field.possible_values.blank?
  errors << [:possible_values, :invalid] unless custom_field.possible_values.is_a? Array
  errors
end

#validate_custom_value(custom_value) ⇒ Object



659
660
661
662
663
664
665
666
667
# File 'lib/redmine/field_format.rb', line 659

def validate_custom_value(custom_value)
  values = Array.wrap(custom_value.value).reject {|value| value.to_s == ''}
  invalid_values = values - Array.wrap(custom_value.value_was) - custom_value.custom_field.possible_values
  if invalid_values.any?
    [::I18n.t('activerecord.errors.messages.inclusion')]
  else
    []
  end
end