]> source.dussan.org Git - redmine.git/commitdiff
Show the project hierarchy in the drop down list for new membership on user administr...
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 1 May 2008 13:50:39 +0000 (13:50 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 1 May 2008 13:50:39 +0000 (13:50 +0000)
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1401 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/helpers/users_helper.rb
app/views/users/_memberships.rhtml

index 250ed8ce82399ddd05d07787c7043f778dc23604..0fe1755eb163403c296aa60dff120ea94ee985ec 100644 (file)
@@ -23,6 +23,20 @@ module UsersHelper
                         [l(:status_locked), 3]], selected)
   end
   
+  # Options for the new membership projects combo-box
+  def projects_options_for_select(projects)
+    options = content_tag('option', "--- #{l(:actionview_instancetag_blank_option)} ---")
+    projects_by_root = projects.group_by(&:root)
+    projects_by_root.keys.sort.each do |root|
+      options << content_tag('option', h(root.name), :value => root.id, :disabled => (!projects.include?(root)))
+      projects_by_root[root].sort.each do |project|
+        next if project == root
+        options << content_tag('option', '&#187; ' + h(project.name), :value => project.id)
+      end
+    end
+    options
+  end
+  
   def change_status_link(user)
     url = {:action => 'edit', :id => user, :page => params[:page], :status => params[:status]}
     
index 2499ba3875255a4cc6d747660ba712a4db3c0f19..44d74ef7ba3ec294080fc44122bcba53f4714a5a 100644 (file)
 </p>
 <% end %>
 <% end %>
+
+<% if @projects.any? %>
 <hr />
 <p>
 <label><%=l(:label_project_new)%></label><br/>
 <% form_tag({ :action => 'edit_membership', :id => @user }) do %>
-<select name="membership[project_id]">
-<%= options_from_collection_for_select @projects, "id", "name", @membership.project_id %>
-</select>
-<select name="membership[role_id]">
-<%= options_from_collection_for_select @roles, "id", "name", @membership.role_id %>
-</select>
+<%= select_tag 'membership[project_id]', projects_options_for_select(@projects) %>
+<%= l(:label_role) %>:
+<%= select_tag 'membership[role_id]', options_from_collection_for_select(@roles, "id", "name") %>
 <%= submit_tag l(:button_add) %>
 <% end %>
 </p>
+<% end %>
 </div>
\ No newline at end of file