From ce523df7eb60dd129c5857f4cc306ae6f655bb08 Mon Sep 17 00:00:00 2001 From: Eric Davis Date: Fri, 17 Sep 2010 11:33:31 -0700 Subject: [PATCH] [#4519] Add all contracts as child menu items --- init.rb | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/init.rb b/init.rb index bf8aea4..672f973 100644 --- a/init.rb +++ b/init.rb @@ -27,11 +27,31 @@ Redmine::Plugin.register :redmine_contracts do }, :public => true) end + contract_list_submenu_items = Proc.new {|project| + if project && project.module_enabled?(:contracts) + + project.contracts.inject([]) do |menu_items, contract| + + menu_items << ::Redmine::MenuManager::MenuItem.new("contract-#{contract.id}", + { :controller => 'contracts', :action => 'show', :id => contract.id, :project_id => project}, + # TODO: http://www.redmine.org/issues/6426 + # contract_path(project, contract), + { + :caption => contract.name, # h-escaped in Redmine + :param => :project_id, + :parent => :contracts + }) + end + + end + } + menu(:project_menu, :contracts, {:controller => 'contracts', :action => 'index'}, :caption => :text_contracts, - :param => :project_id) + :param => :project_id, + :children => contract_list_submenu_items) menu(:project_menu, :new_contract,