From 88519264cf9987c60b07acf4c5f1b5e5f3eb38f6 Mon Sep 17 00:00:00 2001 From: Marius Balteanu Date: Thu, 31 Oct 2024 08:15:57 +0000 Subject: [PATCH] Adds asset path to default to support old style theme (#39111). Patch by Takashi Kato (user:tohosaku). git-svn-id: https://svn.redmine.org/redmine/trunk@23173 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- config/initializers/30-redmine.rb | 5 ++++- test/integration/lib/redmine/themes_test.rb | 13 +++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/config/initializers/30-redmine.rb b/config/initializers/30-redmine.rb index 4eceaf06d..cf13cab20 100644 --- a/config/initializers/30-redmine.rb +++ b/config/initializers/30-redmine.rb @@ -24,7 +24,10 @@ Redmine::PluginLoader.load Rails.application.config.to_prepare do default_paths = [] - Rails.application.config.assets.redmine_default_asset_path = Redmine::AssetPath.new(Rails.public_path, default_paths) + default_paths << Rails.root.join("app/assets/javascripts") + default_paths << Rails.root.join("app/assets/images") + default_paths << Rails.root.join("app/assets/stylesheets") + Rails.application.config.assets.redmine_default_asset_path = Redmine::AssetPath.new(Rails.root.join('app/assets'), default_paths) Redmine::FieldFormat::RecordList.subclasses.each do |klass| klass.instance.reset_target_class diff --git a/test/integration/lib/redmine/themes_test.rb b/test/integration/lib/redmine/themes_test.rb index 42cacd172..7dc6b8df0 100644 --- a/test/integration/lib/redmine/themes_test.rb +++ b/test/integration/lib/redmine/themes_test.rb @@ -109,4 +109,17 @@ class ThemesTest < Redmine::IntegrationTest assert_response :success assert_select 'body[class~="theme-Foo_bar_baz"]' end + + def test_old_theme_compatibility + @theme = Redmine::Themes::Theme.new(Rails.root.join('test/fixtures/themes/foo_theme')) + Rails.application.config.assets.redmine_extension_paths << @theme.asset_paths + Setting.ui_theme = @theme.id + Rails.application.assets.load_path.clear_cache + + asset = Rails.application.assets.load_path.find('themes/foo_theme/application.css') + get "/assets/#{asset.digested_path.to_s}" + + assert_response :success + assert_match %r{url\(\"/assets/application-\w+\.css\"\)}, response.body + end end -- 2.39.5