diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2017-01-10 18:33:36 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2017-01-10 18:33:36 +0000 |
commit | 2734eaffd823986c0da99ee4162000054571f422 (patch) | |
tree | e6fcd3d31fa3851a1196945a9dd473d041487923 /lib/redmine/menu_manager.rb | |
parent | f1a42f21a6e6f7931973df3344525e222c9c7cc9 (diff) | |
download | redmine-2734eaffd823986c0da99ee4162000054571f422.tar.gz redmine-2734eaffd823986c0da99ee4162000054571f422.zip |
Adds a link to all projects in the jump drop down (#23310).
git-svn-id: http://svn.redmine.org/redmine/trunk@16172 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib/redmine/menu_manager.rb')
-rw-r--r-- | lib/redmine/menu_manager.rb | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/redmine/menu_manager.rb b/lib/redmine/menu_manager.rb index 9f90f681a..f1a9b1b35 100644 --- a/lib/redmine/menu_manager.rb +++ b/lib/redmine/menu_manager.rb @@ -68,12 +68,21 @@ module Redmine menu_items[controller_name.to_sym][:default] end + # Redirects user to the menu item + # Returns false if user is not authorized + def redirect_to_menu_item(name) + redirect_to_project_menu_item(nil, name) + end + # Redirects user to the menu item of the given project # Returns false if user is not authorized def redirect_to_project_menu_item(project, name) - item = Redmine::MenuManager.items(:project_menu).detect {|i| i.name.to_s == name.to_s} + menu = project.nil? ? :application_menu : :project_menu + item = Redmine::MenuManager.items(menu).detect {|i| i.name.to_s == name.to_s} if item && item.allowed?(User.current, project) - redirect_to({item.param => project}.merge(item.url)) + url = item.url + url = {item.param => project}.merge(url) if project + redirect_to url return true end false |