diff --git a/lib/redmine/hook.rb b/lib/redmine/hook.rb index bc8dc7e..7f518d8 100644 --- a/lib/redmine/hook.rb +++ b/lib/redmine/hook.rb @@ -96,7 +96,7 @@ module Redmine # Default to creating links using only the path. Subclasses can # change this default as needed def self.default_url_options - {:only_path => true } + {:only_path => true, :script_name => Redmine::Utils.relative_url_root} end # Helper method to directly render using the context, diff --git a/test/unit/lib/redmine/hook_test.rb b/test/unit/lib/redmine/hook_test.rb index 5093aba..109abc8 100644 --- a/test/unit/lib/redmine/hook_test.rb +++ b/test/unit/lib/redmine/hook_test.rb @@ -114,6 +114,15 @@ class Redmine::Hook::ManagerTest < ActionView::TestCase assert_equal ['Issues'], hook_helper.call_hook(:view_layouts_base_html_head) end + def test_view_hook_should_generate_links_with_relative_url_root + Redmine::Utils.relative_url_root = '/foo' + @hook_module.add_listener(TestLinkToHook) + + assert_equal ['Issues'], hook_helper.call_hook(:view_layouts_base_html_head) + ensure + Redmine::Utils.relative_url_root = '' + end + # Context: Redmine::Hook::Helper.call_hook def test_call_hook_with_project_added_to_context @hook_module.add_listener(TestHook3)