mirror of
https://github.com/meineerde/redmine.git
synced 2026-01-31 19:47:14 +00:00
Prevent hash type URLs from being namespaced in MenuManager (#35076).
Patch by Jan Schulz-Hofen. git-svn-id: http://svn.redmine.org/redmine/trunk@20945 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
e65980dc09
commit
2027b8750a
@ -180,14 +180,14 @@ module Redmine
|
||||
url = '#'
|
||||
options.reverse_merge!(:onclick => 'return false;')
|
||||
end
|
||||
link_to(h(caption), url, options)
|
||||
link_to(h(caption), use_absolute_controller(url), options)
|
||||
end
|
||||
|
||||
def render_unattached_menu_item(menu_item, project)
|
||||
raise MenuError, ":child_menus must be an array of MenuItems" unless menu_item.is_a? MenuItem
|
||||
|
||||
if menu_item.allowed?(User.current, project)
|
||||
link_to(menu_item.caption, menu_item.url, menu_item.html_options)
|
||||
link_to(menu_item.caption, use_absolute_controller(menu_item.url), menu_item.html_options)
|
||||
end
|
||||
end
|
||||
|
||||
@ -232,6 +232,15 @@ module Redmine
|
||||
|
||||
node.allowed?(user, project)
|
||||
end
|
||||
|
||||
# Prevent hash type URLs (e.g. {controller: 'foo', action: 'bar}) from being namespaced
|
||||
# when menus are rendered from views in namespaced controllers in plugins or engines
|
||||
def use_absolute_controller(url)
|
||||
if url.is_a?(Hash) && url[:controller].present? && !url[:controller].start_with?('/')
|
||||
url[:controller] = "/#{url[:controller]}"
|
||||
end
|
||||
url
|
||||
end
|
||||
end
|
||||
|
||||
class << self
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user