diff --git a/app/controllers/context_menus_controller.rb b/app/controllers/context_menus_controller.rb index 8f6fc1cb4..99d0be7d7 100644 --- a/app/controllers/context_menus_controller.rb +++ b/app/controllers/context_menus_controller.rb @@ -55,12 +55,10 @@ class ContextMenusController < ApplicationController @options_by_custom_field = {} if @can[:edit] - custom_fields = @issues.map(&:available_custom_fields).reduce(:&).select do |f| - %w(bool list user version).include?(f.field_format) && !f.multiple? - end + custom_fields = @issues.map(&:available_custom_fields).reduce(:&).reject(&:multiple?) custom_fields.each do |field| values = field.possible_values_options(@projects) - if values.any? + if values.present? @options_by_custom_field[field] = values end end diff --git a/lib/redmine/field_format.rb b/lib/redmine/field_format.rb index 5ff11939a..f0f83cccb 100644 --- a/lib/redmine/field_format.rb +++ b/lib/redmine/field_format.rb @@ -118,7 +118,7 @@ module Redmine end def possible_values_options(custom_field, object=nil) - custom_field.possible_values + [] end # Returns the validation errors for custom_field @@ -476,7 +476,7 @@ module Redmine self.form_partial = 'custom_fields/formats/list' def possible_custom_value_options(custom_value) - options = super + options = possible_values_options(custom_value.custom_field) missing = [custom_value.value].flatten.reject(&:blank?) - options if missing.any? options += missing @@ -484,6 +484,10 @@ module Redmine options end + def possible_values_options(custom_field, object=nil) + custom_field.possible_values + end + def validate_custom_field(custom_field) errors = [] errors << [:possible_values, :blank] if custom_field.possible_values.blank?