summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2008-05-01 13:50:39 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2008-05-01 13:50:39 +0000
commit7f8d959171c571eaf1a49951a2da02ccffa6f808 (patch)
tree7411ea352ccfaf13f3ea8ee3a7bb7dc806481845 /app
parentf705b889d9d20086094939b1e7060bf49bd01f2b (diff)
downloadredmine-7f8d959171c571eaf1a49951a2da02ccffa6f808.tar.gz
redmine-7f8d959171c571eaf1a49951a2da02ccffa6f808.zip
Show the project hierarchy in the drop down list for new membership on user administration screen.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1401 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r--app/helpers/users_helper.rb14
-rw-r--r--app/views/users/_memberships.rhtml12
2 files changed, 20 insertions, 6 deletions
diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb
index 250ed8ce8..0fe1755eb 100644
--- a/app/helpers/users_helper.rb
+++ b/app/helpers/users_helper.rb
@@ -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]}
diff --git a/app/views/users/_memberships.rhtml b/app/views/users/_memberships.rhtml
index 2499ba387..44d74ef7b 100644
--- a/app/views/users/_memberships.rhtml
+++ b/app/views/users/_memberships.rhtml
@@ -13,17 +13,17 @@
</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