summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2024-10-19 08:21:18 +0000
committerGo MAEDA <maeda@farend.jp>2024-10-19 08:21:18 +0000
commitffb78c12c35192aff8e13389577ef9564ab278ee (patch)
tree3a30945edd95acb6b5df41fc8a5992783646acfa
parentf1ae3eea67ac99d1c5b130fb0b46139bbe9f0837 (diff)
downloadredmine-ffb78c12c35192aff8e13389577ef9564ab278ee.tar.gz
redmine-ffb78c12c35192aff8e13389577ef9564ab278ee.zip
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
-rw-r--r--app/helpers/application_helper.rb2
-rw-r--r--test/integration/lib/redmine/themes_test.rb8
2 files changed, 9 insertions, 1 deletions
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