Project

General

Profile

Actions

Defect #18654

closed

Custom field is rendered, even if its value is empty (for multiple)

Added by Andriy Lesyuk almost 10 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Normal
Category:
Custom fields
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Resolution:
Fixed
Affected version:

Description

Redmine checks, if the value is available for the custom field, as follows:

if custom_value.value.present?

But for multiple custom fields (e.g., lists, that allow selecting multiple values), the original nil value is replaced with [nil] (not sure where exactly). So, [nil].empty? returns false and the custom field gets rendered.

This issue affects 3.0.x and 1.4.x versions of Redmine.

P.S. Can be solved by montkey-patching `CustomFieldValue` as follows:

alias_method_chain :value, :extended

...

def value_with_extended
    value = value_without_extended
    if custom_field.multiple? && value.present? && value.size == 1 && value.first.nil?
        nil
    else
        value
    end
end

Related issues

Related to Redmine - Defect #19482: Custom field (long text format) displayed even if emptyClosedJean-Philippe Lang

Actions
Actions

Also available in: Atom PDF