From ffb78c12c35192aff8e13389577ef9564ab278ee Mon Sep 17 00:00:00 2001 From: Go MAEDA Date: Sat, 19 Oct 2024 08:21:18 +0000 Subject: [PATCH] Fix invalid "theme-*" CSS class in body element when theme name contains spaces (#26778). Patch by Go MAEDA (user:maeda). git-svn-id: https://svn.redmine.org/redmine/trunk@23144 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/helpers/application_helper.rb | 2 +- test/integration/lib/redmine/themes_test.rb | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index b11619088..8d390d6f7 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -863,7 +863,7 @@ module ApplicationHelper def body_css_classes css = [] if theme = Redmine::Themes.theme(Setting.ui_theme) - css << 'theme-' + theme.name + css << 'theme-' + theme.name.tr(' ', '_') end css << 'project-' + @project.identifier if @project && @project.identifier.present? diff --git a/test/integration/lib/redmine/themes_test.rb b/test/integration/lib/redmine/themes_test.rb index f5fbc89b6..42cacd172 100644 --- a/test/integration/lib/redmine/themes_test.rb +++ b/test/integration/lib/redmine/themes_test.rb @@ -101,4 +101,12 @@ class ThemesTest < Redmine::IntegrationTest ensure Redmine::Utils.relative_url_root = '' end + + def test_body_css_class_with_spaces_in_theme_name + @theme.instance_variable_set(:@name, 'Foo bar baz') + get '/' + + assert_response :success + assert_select 'body[class~="theme-Foo_bar_baz"]' + end end -- 2.39.5