Added a new helper to UsersHelper.

* project_options_for_select doesn't allow setting the selected project
  so it is replaced with project_options_for_select_with_selected in the views

  #1914
This commit is contained in:
Eric Davis
2009-01-19 11:47:02 -08:00
parent 627a03c5e6
commit 7d32fc7088
2 changed files with 15 additions and 1 deletions
+1 -1
View File
@@ -15,7 +15,7 @@
<%= # TODO: move to controller once a hook is in place for the Admin panel
projects = Project.find(:all, :conditions => { :status => Project::STATUS_ACTIVE}, :include => :parent)
select_tag("rate[project_id]", projects_options_for_select(projects))
select_tag("rate[project_id]", project_options_for_select_with_selected(projects, @rate.project))
%>
</td>
<td align="right">
+14
View File
@@ -17,6 +17,20 @@ module RateUsersHelperPatch
return tabs
end
# Similar to +project_options_for_select+ but allows selecting the active value
def project_options_for_select_with_selected(projects, selected = nil)
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)), :selected => root == selected)
projects_by_root[root].sort.each do |project|
next if project == root
options << content_tag('option', '&#187; ' + h(project.name), :value => project.id, :selected => project == selected)
end
end
options
end
end
end