From 1525eef7dd2fcb91b3e75193a66323cdf3f4468b Mon Sep 17 00:00:00 2001 From: Go MAEDA Date: Mon, 3 Nov 2025 08:23:58 +0000 Subject: [PATCH] Progress bar custom field shows only "%" instead of "0%" when value is nil (#43409). Patch by Nishida Yuya (user:nishidayuya). git-svn-id: https://svn.redmine.org/redmine/trunk@24112 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- lib/redmine/field_format.rb | 5 +++-- .../lib/redmine/field_format/progressbar_format_test.rb | 8 ++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/redmine/field_format.rb b/lib/redmine/field_format.rb index f7d5695d5..bb0185b51 100644 --- a/lib/redmine/field_format.rb +++ b/lib/redmine/field_format.rb @@ -1146,8 +1146,9 @@ module Redmine def formatted_value(view, custom_field, value, customized=nil, html=false) if html - text = "#{value}%" - view.progress_bar(value.to_i, legend: (text if view.action_name == 'show')) + value_i = value.to_i + text = "#{value_i}%" + view.progress_bar(value_i, legend: (text if view.action_name == 'show')) else value.to_s end diff --git a/test/unit/lib/redmine/field_format/progressbar_format_test.rb b/test/unit/lib/redmine/field_format/progressbar_format_test.rb index 6e0df724d..9fd4f0026 100644 --- a/test/unit/lib/redmine/field_format/progressbar_format_test.rb +++ b/test/unit/lib/redmine/field_format/progressbar_format_test.rb @@ -124,6 +124,14 @@ module Redmine::FieldFormat assert formatted.html_safe? end + def test_formatted_value_with_html_true_and_nil_value_as_zero + controller.action_name = 'show' + expected = progress_bar(0, legend: '0%') + formatted = @format.formatted_value(self, @field, nil, Issue.new, true) + assert_equal expected, formatted + assert formatted.html_safe? + end + def test_formatted_value_with_html_false formatted = @format.formatted_value(self, @field, 50, Issue.new, false) assert_equal '50', formatted