summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2025-05-17 02:02:04 +0000
committerGo MAEDA <maeda@farend.jp>2025-05-17 02:02:04 +0000
commit4b42d688426e699e1aebe9f85c7075e04a09c1f9 (patch)
tree0294f062ad31ba1cbdc0a32ff0c32866c9238232
parent70f61b1b702f6ffb49c526e1f5c88e3a8b1aaae9 (diff)
downloadredmine-4b42d688426e699e1aebe9f85c7075e04a09c1f9.tar.gz
redmine-4b42d688426e699e1aebe9f85c7075e04a09c1f9.zip
Avoid adding "%" suffix in CSV export for Progress Bar custom fields to prevent import errors (#42335, #42706).
Patch by Kenta Kumojima (user:kumojima). git-svn-id: https://svn.redmine.org/redmine/trunk@23780 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--lib/redmine/field_format.rb4
-rw-r--r--test/unit/lib/redmine/field_format/progressbar_format_test.rb12
2 files changed, 14 insertions, 2 deletions
diff --git a/lib/redmine/field_format.rb b/lib/redmine/field_format.rb
index 3e87eeb38..39b21c874 100644
--- a/lib/redmine/field_format.rb
+++ b/lib/redmine/field_format.rb
@@ -1145,11 +1145,11 @@ module Redmine
end
def formatted_value(view, custom_field, value, customized=nil, html=false)
- text = "#{value}%"
if html
+ text = "#{value}%"
view.progress_bar(value.to_i, legend: (text if view.action_name == 'show'))
else
- text
+ value.to_s
end
end
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 51bd8bc5f..6e0df724d 100644
--- a/test/unit/lib/redmine/field_format/progressbar_format_test.rb
+++ b/test/unit/lib/redmine/field_format/progressbar_format_test.rb
@@ -116,5 +116,17 @@ module Redmine::FieldFormat
end
end
end
+
+ def test_formatted_value_with_html_true
+ expected = progress_bar(50)
+ formatted = @format.formatted_value(self, @field, 50, 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
+ end
end
end