summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Davis <edavis@littlestreamsoftware.com>2010-03-03 03:37:40 +0000
committerEric Davis <edavis@littlestreamsoftware.com>2010-03-03 03:37:40 +0000
commit3c0c0a767777b54e20a607c44037ffa20b92d316 (patch)
tree949ec24f57d0ec7c7c39295db1e08ac4e5d38817
parentb09a483aa9852dbd3a3c581af78101a970c1b22c (diff)
downloadredmine-3c0c0a767777b54e20a607c44037ffa20b92d316.tar.gz
redmine-3c0c0a767777b54e20a607c44037ffa20b92d316.zip
Allow multiple selected projects in #project_tree_options_for_select
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3525 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/helpers/application_helper.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index e2887226a..593b5a4cc 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -205,7 +205,12 @@ module ApplicationHelper
s = ''
project_tree(projects) do |project, level|
name_prefix = (level > 0 ? ('&nbsp;' * 2 * level + '&#187; ') : '')
- tag_options = {:value => project.id, :selected => ((project == options[:selected]) ? 'selected' : nil)}
+ tag_options = {:value => project.id}
+ if project == options[:selected] || (options[:selected].respond_to?(:include?) && options[:selected].include?(project))
+ tag_options[:selected] = 'selected'
+ else
+ tag_options[:selected] = nil
+ end
tag_options.merge!(yield(project)) if block_given?
s << content_tag('option', name_prefix + h(project), tag_options)
end