From 311a005af769153cd419235b3ff5f8876d297d6b Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 21 Dec 2008 12:25:03 +0000 Subject: [PATCH] Prettier parent project combo-box and prevent calls to Project#level. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/work@2163 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- nested_projects/app/helpers/projects_helper.rb | 9 +++++++-- nested_projects/app/views/projects/_form.rhtml | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/nested_projects/app/helpers/projects_helper.rb b/nested_projects/app/helpers/projects_helper.rb index 566778734..2cf4cb750 100644 --- a/nested_projects/app/helpers/projects_helper.rb +++ b/nested_projects/app/helpers/projects_helper.rb @@ -34,8 +34,13 @@ module ProjectsHelper tabs.select {|tab| User.current.allowed_to?(tab[:action], @project)} end - def project_hierarchy_collection_for_select(projects) - projects.sort_by(&:lft).collect {|p| [('>' * p.level) + p.name.to_s, p.id]} + def parent_project_select_tag(project) + options = '' + project_tree(project.possible_parents) do |p, i| + selected = (project.parent == p) + options << "" + end + content_tag('select', options, :name => 'project[parent_id]') end # Renders a tree of projects as a nested set of unordered lists diff --git a/nested_projects/app/views/projects/_form.rhtml b/nested_projects/app/views/projects/_form.rhtml index 41f9b1859..a7cb2e0e4 100644 --- a/nested_projects/app/views/projects/_form.rhtml +++ b/nested_projects/app/views/projects/_form.rhtml @@ -5,7 +5,7 @@

<%= f.text_field :name, :required => true %>
<%= l(:text_caracters_maximum, 30) %>

<% if User.current.admin? && !@project.possible_parents.empty? %> -

<%= f.select :parent_id, project_hierarchy_collection_for_select(@project.possible_parents), { :include_blank => true } %>

+

<%= parent_project_select_tag(@project) %>

<% end %>

<%= f.text_area :description, :rows => 5, :class => 'wiki-edit' %>